summaryrefslogtreecommitdiff
path: root/lib/libm/Makefile
AgeCommit message (Collapse)Author
2011-09-22install infnan(3/VAX) into man3/vax/ on all archs;Ingo Schwarze
clean make build tested on i386; ok deraadt@, no objections from martynas@
2011-08-19Bring libc and libm in line with the compiler now that we no longer have aMark Kettenis
128-bit long double. Diff committed on behalf of martynas@
2011-07-24Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.Martynas Venckus
2011-07-20Document complex math library.Martynas Venckus
2011-07-11Remove the GCC2 optimizer workaround for sparc. After switchingMartynas Venckus
to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
2011-07-09- Fix the cabs, and cabsf prototypes in the manual pages; it'sMartynas Venckus
been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
2011-07-09Don't reimplement the same thing twice. OK matthew@.Martynas Venckus
2011-07-08Move fabs(3) manual page from libm to libc, for consistency. TheMartynas Venckus
modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
2011-07-08Remove the stupid commented out fabs(3), frexp(3), and modf(3)Martynas Venckus
entries and unused implementations. It is clear that this situation won't change.
2011-07-08Revert (leaving the complex math part alone). Some stuff is dependingMartynas Venckus
on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
2011-07-08Finalize work on complex math routines, now that we have theMartynas Venckus
extended-precision support. Mostly from Cephes.
2011-07-08Move fabs(3), frexp(3), and modf(3) to libm--nothing has been usingMartynas Venckus
them in libc for a very long time. OK guenther@.
2011-07-07Remove math(3). OK theo.Martynas Venckus
2011-07-07Document extended-precision routines.Martynas Venckus
2011-07-06Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thingMartynas Venckus
is gone since 1999.
2011-07-06Finalize work on the math library. It's time to do this monsterMartynas Venckus
commit, and deal with problems (if any) in tree. Note that this adds the following functions. Ports with hacks might need adjustments. nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3). With this commit, our library implements all functionality required by C99. Documentation bits will follow.
2011-05-28Adapt m68k MD functions to extended-precision.Martynas Venckus
Go for it miod@.
2011-05-28Adapt m68k MD functions to single-precision.Martynas Venckus
Looked over by miod@.
2011-05-25Document nearbyint, nearbyintf, nearbyintl.Martynas Venckus
2011-05-25Document C99 floating-point environment.Martynas Venckus
2011-04-28fix build ok martynas@Todd T. Fries
2011-04-28- enable fenvMartynas Venckus
- add nearbyint, nearbyintf and nearbyintl implemented using fenv
2010-07-19Add barebones manual pages for cimag(3), conj(3) and cproj(3)Todd C. Miller
OK kettenis@ jmc@
2010-02-03Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependentMiod Vallat
files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
2009-11-06Provide assembly version of sqrtl(3).Mark Kettenis
ok pirofti@
2009-11-05Provide assembly version of sqrtl(3).Mark Kettenis
ok otto@
2009-10-26Add man pages for the fdim/fmin/fmax family of functions and make sure fdimlMark Kettenis
is defined on all architectures. ok jmc@ (man pages) and martynas@
2009-10-24document log2() and log2f(); from thomas pfaffJason McIntyre
ok otto millert martynas
2009-07-29ieee, and ieeef aren't real, and the amount of functions it documentsMartynas Venckus
is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
2009-07-28document scalbln, scalblnf, scalblnlMartynas Venckus
2009-07-25int is big enough to fully represent exponents of all supported fpMartynas Venckus
formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
2009-07-15round, roundf, trunc, truncf for hppa; ok kettenis@Martynas Venckus
2009-04-19make ldexpf behavior consistent with the double and extended-precisionMartynas Venckus
versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
2009-04-10lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@Martynas Venckus
2009-04-05implement and use sqrt, sqrtf & fabsf in hardware; since it'sMartynas Venckus
faster that way. tested by myself. discussed w/ & ok miod@, millert@
2009-03-28add C99-conformant nan, nanf, nanl for vax. always return zero,Martynas Venckus
since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
2008-12-12spaceMartynas Venckus
2008-12-12document and mlink long double functions. ok jmc@Martynas Venckus
2008-12-09pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitionsMartynas Venckus
from asm.h. discussed w/ millert@
2008-12-09- 80-bit and quad precision trigonometric and other mostMartynas Venckus
important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
2008-10-07- noieee_src: adapt complex versions of the functions it alreadyMartynas Venckus
supports (which is all, except the float ones) ok millert@
2008-09-16gc unused files, the functions are in libc. ok millert@Martynas Venckus
2008-09-11since these got no ieee-specific code anymore, add fmin, fmax, fdim,Martynas Venckus
fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
2008-09-09sigh, gamma got lostMartynas Venckus
2008-09-07- replace dtoa w/ David's gdtoa, version 2008-03-15Martynas Venckus
- provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@ this commit does not include: - man page changes
2008-07-30various markup/grammar fixes for previous, and a missing MLINKJason McIntyre
for remquof.3;
2008-07-29- add man pages for nan and remainder, from freebsdMartynas Venckus
- mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
2008-07-29describe exp2, exp2f and mlink themMartynas Venckus
2008-07-29remove finite from ieee.3, and unmlink from makefileMartynas Venckus
2008-07-24- remove isinff, isnanf. this has been moved to libcMartynas Venckus
- remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@