summaryrefslogtreecommitdiffstats
path: root/lib/libm/arch/i387 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Don't reimplement the same thing twice. OK matthew@.martynas2011-07-091-14/+0
|
* Revert (leaving the complex math part alone). Some stuff is dependingmartynas2011-07-082-107/+0
| | | | | on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
* Move fabs(3), frexp(3), and modf(3) to libm--nothing has been usingmartynas2011-07-082-0/+107
| | | | them in libc for a very long time. OK guenther@.
* Make lint play nicer in pass 2 of libm on amd64 and i386. Themartynas2011-05-311-1/+5
| | | | | | internal _ItL_* extended-precision constants are of course going to be declared inconsistently since we define them based on structures; however prototype as long doubles.
* fenv improvements and cleanupsmartynas2011-04-281-221/+160
|
* fenv for i386, and sparc64; from matthew@martynas2011-04-241-0/+518
| | | | not reviewed yet, but it's better to track changes in cvs
* Provide assembly version of sqrtl(3).kettenis2009-11-051-0/+12
| | | | ok otto@
* alias and give frexpf symbol external linkage to scalbnf; this wasmartynas2009-04-211-1/+4
| | | | | | | | overriden by md source. spotted by kurt@ actually; on amd64 scalbnf, scalbn (and therefore now frexpf) have always been broken since second argument is not float. fix is under reviewal / will be committed separately ok kurt@, kettenis@, millert@. tested by kurt@
* missing rcs ids; spacingmartynas2009-04-081-6/+6
|
* - 80-bit and quad precision trigonometric and other mostmartynas2008-12-093-30/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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@
* - replace dtoa w/ David's gdtoa, version 2008-03-15martynas2008-09-0713-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* - remove isinff, isnanf. this has been moved to libcmartynas2008-07-241-19/+0
| | | | | | | | | | | - 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@
* add __signbitl for i387 (not used yet)jason2007-06-011-0/+19
|
* Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c,kettenis2006-09-254-0/+138
| | | | | | s_lrint.c and s_lrintf.c, and add i387-specific assembler versions. ok deraadt@, otto@
* Remove amd64 code.kettenis2006-03-181-31/+1
| | | | ok otto@
* Fix exp(3) for arg Inf and -Inf. From NetBSD; PR 4578. ok deraadt@otto2005-11-151-13/+105
|
* Add missing $OpenBSD$ tags.espie2005-08-0241-82/+41
| | | | | | Zap wasteful RCSID("$NetBSD$") okay deraadt@
* Improve the accuracy of log1p function on i387 for small values of x.canacar2005-03-071-9/+56
| | | | From NetBSD, ok miod@
* picky assembler warning cleanupsdrahn2003-04-1710-11/+11
|
* 2nd patch for stack mishandling; wd@ics.nara-wu.ac.jpderaadt2000-06-065-45/+35
|
* scalb*() left an extra item on the x86 FPreg stack on return; gwes@oat.comderaadt1998-04-253-0/+3
|
* fix from bde; Clean up the FP stack before returning. The i387 exp()deraadt1996-07-271-4/+19
| | | | | leaked an FP register on its first call. Subsequent calls reused the register so the leak didn't accumulate. + some netbsd improvements after that.
* Use setne instead of setnel, new versions of gas balk at the bad mnemonic.deraadt1996-06-102-6/+6
| | | | Wrong mask was used in s_finitef.S.
* from netbsd:deraadt1995-12-142-2/+2
| | | | | | | Changed w_gamma.c, w_gamma_r.c, w_gammaf.c, w_gammaf_r.c to call __ieee754_lgamma_r or __ieee754_lgammaf_r. Removed e_gamma.c, e_gamma_r.c, e_gammaf.c, e_gammaf_r.c, e_lgamma.c, e_lgamma_f.c.
* update from NetBSDderaadt1995-10-282-4/+4
|
* initial import of NetBSD treederaadt1995-10-1841-0/+743