| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
FP_ILOGBNAN which isn't the case for the amd64 and i386 assembly versions.
Drop these in favour of C implementations. Als reimplement ilogbl(3)
by providing separate ld80 and ld128 implementations that replace the
existing implementation which may hit an infinite loop when built for
quad-precision long double.
ok patrick@, gkoehler@
|
|
|
|
|
|
|
| |
This is inside !(defined(__amd64__) || defined(__i386__)),
while the file is only used on those two architectures.
"Free commit! No strings attached! No hidden tricks!" from miod
|
|
|
|
|
|
|
| |
extensions and modern compilers (such as clang) will use them to optimize
separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
|
|
|
| |
"warning:" rectification.
|
|
|
|
| |
ok guenther@
|
|
|
|
|
|
| |
All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
|
|
|
|
| |
the fraction part has no implicit bit
ok deraadt@
|
|
|
|
|
|
|
| |
comparisons. The offending input in gfortran's round_4.f90 was
nextafterl(0.10000000000000000000135525271560688L, -INFINITY) which
caused an ulp addition rather than subtraction.
Reported by John Marino @ DragonFlyBSD.
|
|
|
|
|
|
| |
being-standardized <endian.h>
ok deraadt@ millert@ beck@
|
|
|
|
|
|
|
| |
Correctly account for this bit, otherwise we'll get the wrong result for some
inputs.
ok martynas@, daniel@
|
|
|
|
| |
Reported by dcoppa@, thanks! OK kettenis@, dcoppa@.
|
|
|
|
| |
the underflow.
|
|
|
|
| |
redeclaring each time in ld{80,128}. Pointed out by theo.
|
|
|
|
| |
ok martynas@
|
|
|
|
|
|
|
|
|
|
|
| |
compatible with C99. Most notably:
- 1**y == 1, even if y is NaN
- (-1)**+-Inf == 1
and adjust the cephes testsuite to test for the right thing here.
ok martynas@
|
|
|
|
|
|
|
|
|
|
|
| |
where appropriate. Among other things makes the symbols consistent
across all architectures (notably where ldbl mantissa is 53 bits).
While at it, kill unused LINTLIBRARY/PROTOLIB1 cruft which was there
to trick lint into recording the right prototypes for aliased
functions. Most of the work done at the awesome n2k13 hackathon.
Agreed by kettenis@, guenther@, matthew@.
|
|
|
|
| |
ok guenther millert kettenis
|
|
|
|
| |
infinite.
|
|
|
|
|
|
| |
- Fix aliasing issue in s_frexpf.c; spotted by gcc. Many other
ones were fixed in NetBSD long ago, but this one was forgotten. It
looks like recently they fixed it too.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
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@
|