summaryrefslogtreecommitdiff
path: root/lib/libm/Makefile
AgeCommit message (Collapse)Author
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@
2008-07-21NetBSD's C library supplies these functions -> OpenBSD's C libraryMartynas Venckus
supplies these functions. in comments
2008-07-21rename lround.c lroundf.c llround.c llroundf.c to s_lround.cMartynas Venckus
s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
2008-07-16install infnan.3 only for vax. pointed out by millert@Martynas Venckus
ok millert@
2008-06-12Makefile: fix MLINKSJason McIntyre
lgamma.3: fix STANDARDS and HISTORY
2008-06-11- on non-ieee, rename gamma to tgamma, the 'true' gammaMartynas Venckus
- make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
2008-06-11drem{,f} are aliases for remainder{,f}, so:Martynas Venckus
- document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
2008-06-11add C99 round(), based on ieee_src, for noieee_src. tested on VAXMartynas Venckus
ok millert@
2006-09-25Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c,Mark Kettenis
s_lrint.c and s_lrintf.c, and add i387-specific assembler versions. ok deraadt@, otto@
2006-07-12add some more C99 functions: round(3) and roundf(3).Brad Smith
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
2006-03-19New amd64 exp(3).Mark Kettenis
tested by steven@, ok otto@
2006-03-18add some more C99 functions: trunc(3) and truncf(3).Brad Smith
From FreeBSD ok deraadt@ millert@ otto@ jmc@
2006-03-14amd64 asm code is not correct for exp(+/-Inf), so until somebodyOtto Moerbeek
comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
2005-11-24use WANTLINT= (on all architectures)Theo de Raadt
2005-11-17Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD viaOtto Moerbeek
jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
2004-04-06remove optimization workaround for sparc64 now that we're using gcc3.Brad Smith
ok deraadt@
2004-02-28reach into new amd64 directoryTheo de Raadt
2004-02-27change amd64's MACHINE_ARCH from x86_64 to amd64. There are many manyTheo de Raadt
reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
2004-02-08add libm parts for amd64; much from netbsd, integration by mickey.Theo de Raadt
Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
2003-02-27ieee_test isn't real, rename it to logb.3 and make everything link to that ↵Jason Wright
instead.
2003-01-03Get the m88k libm to say no to drugs.Miod Vallat
2002-05-22add reminder and roundingsMichael Shalayeff
2002-05-22md sqrt() implementationMichael Shalayeff
2002-01-30Add native implementations of copysign() and copysignf() on alpha.Christian Weisgerber
From NetBSD; ok millert@