musl/src/math/exp10f.c, branch master musl - an implementation of the standard library for Linux-based systems reduce spurious inclusion of libc.h 2018年09月12日T18:34:37+00:00 Rich Felker dalias@aerifal.cx 2018年09月12日T04:08:09+00:00 5ce3737931bb411a8d167356d4d0287b53b0cbdc libc.h was intended to be a header for access to global libc state and related interfaces, but ended up included all over the place because it was the way to get the weak_alias macro. most of the inclusions removed here are places where weak_alias was needed. a few were recently introduced for hidden. some go all the way back to when libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented) cancellation points had to include it. remaining spurious users are mostly callers of the LOCK/UNLOCK macros and files that use the LFS64 macro to define the awful *64 aliases. in a few places, new inclusion of libc.h is added because several internal headers no longer implicitly include libc.h. declarations for __lockfile and __unlockfile are moved from libc.h to stdio_impl.h so that the latter does not need libc.h. putting them in libc.h made no sense at all, since the macros in stdio_impl.h are needed to use them correctly anyway.
libc.h was intended to be a header for access to global libc state and
related interfaces, but ended up included all over the place because
it was the way to get the weak_alias macro. most of the inclusions
removed here are places where weak_alias was needed. a few were
recently introduced for hidden. some go all the way back to when
libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented)
cancellation points had to include it.
remaining spurious users are mostly callers of the LOCK/UNLOCK macros
and files that use the LFS64 macro to define the awful *64 aliases.
in a few places, new inclusion of libc.h is added because several
internal headers no longer implicitly include libc.h.
declarations for __lockfile and __unlockfile are moved from libc.h to
stdio_impl.h so that the latter does not need libc.h. putting them in
libc.h made no sense at all, since the macros in stdio_impl.h are
needed to use them correctly anyway.
math: fix exp10 not to raise invalid exception on NaN 2014年09月18日T15:52:50+00:00 Szabolcs Nagy nsz@port70.net 2014年09月18日T15:02:24+00:00 18daae313531ed597d0f6227d15af00b04b104c8 This was not caught earlier because gcc incorrectly generates quiet relational operators that never raise exceptions.
This was not caught earlier because gcc incorrectly generates quiet
relational operators that never raise exceptions.
math: use float constants in exp10f.c 2012年11月18日T02:52:29+00:00 Szabolcs Nagy nsz@port70.net 2012年11月18日T02:52:29+00:00 a764db9a086ca036d4fc9181f96d19ab312a6560 use the 'f' suffix when a float constant is not representable
use the 'f' suffix when a float constant is not representable
support alternate glibc name pow10 for exp10 2012年05月01日T04:07:37+00:00 Rich Felker dalias@aerifal.cx 2012年05月01日T04:07:37+00:00 a917c03706d94564082d5ccff032a3e2c3dad537
first try at writing an efficient and "correct" exp10 2012年04月30日T07:26:53+00:00 Rich Felker dalias@aerifal.cx 2012年04月30日T07:26:53+00:00 f6819755779a084bf2f82cb90175a4d9a018de73 this is a nonstandard function so it's not clear what conditions it should satisfy. my intent is that it be fast and exact for positive integral exponents when the result fits in the destination type, and fast and correctly rounded for small negative integral exponents. otherwise we aim for at most 1ulp error; it seems to differ from pow by at most 1ulp and it's often 2-5 times faster than pow.
this is a nonstandard function so it's not clear what conditions it
should satisfy. my intent is that it be fast and exact for positive
integral exponents when the result fits in the destination type, and
fast and correctly rounded for small negative integral exponents.
otherwise we aim for at most 1ulp error; it seems to differ from pow
by at most 1ulp and it's often 2-5 times faster than pow.

AltStyle によって変換されたページ (->オリジナル) /