| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
|
|
|
|
|
|
|
|
|
| |
commit messages that fixes this says:
"it was intentionally left broken as an optimization".
right!
ok martynas@, daniel@
|
|
|
|
| |
redeclaring each time in ld{80,128}. Pointed out by theo.
|
|
|
|
|
|
|
|
|
| |
it actually stores floats in natural-endian--therefore the existing
checks became wrong.
Take into account __VFP_FP__, effectively bringing back the old
behavior. This way it will work now, and in the future when some
of our platforms are switched to FPA, where it's much faster.
|
|
|
|
| |
former anymore. OK miod@.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
should be 96-bits on 32-bit architectures, and 128-bits on 64-bit
architectures.
- Add abstract macros to operate on long doubles by words. To be
used soon.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 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@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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@
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
the ARM port runs little-endian, but it's fp is still big-endian!
|
| |
|
|
|