History log of /seL4-refos-master/libs/libmuslc/src/math/powl.c
Revision Date Author Comments
# cb5c057c 10-Apr-2015 Szabolcs Nagy <nsz@port70.net>

math: fix pow(+-0,-inf) not to raise divbyzero flag

this reverts the commit f29fea00b5bc72d4b8abccba2bb1e312684d1fce
which was based on a bug in C99 and POSIX and did not match IEEE-754
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1515.pdf


# f4e4632a 10-Mar-2015 Szabolcs Nagy <nsz@port70.net>

math: add dummy implementations of 128 bit long double functions

This is in preparation for the aarch64 port only to have the long
double math symbols available on ld128 platforms. The implementations
should be fixed up later once we have proper tests for these functions.

Added bigendian handling for ld128 bit manipulations too.


# cf682072 27-Mar-2012 nsz <nsz@port70.net>

math: fix a regression in powl and do some cleanups
previously a division was accidentally turned into integer div
(w = -i/NXT;) instead of long double div (w = -i; w /= NXT;)


# 615bbd36 20-Mar-2012 nsz <nsz@port70.net>

clean up powl.c
fix special cases, use multiplication instead of scalbnl


# 2786c7d2 19-Mar-2012 nsz <nsz@port70.net>

use scalbn or *2.0 instead of ldexp, fix fmal

Some code assumed ldexp(x, 1) is faster than 2.0*x,
but ldexp is a wrapper around scalbn which uses
multiplications inside, so this optimization is
wrong.

This commit also fixes fmal which accidentally
used ldexp instead of ldexpl loosing precision.

There are various additional changes from the
work-in-progress const cleanups.


# 9e2a895a 17-Mar-2012 Rich Felker <dalias@aerifal.cx>

fix loads of missing const in new libm, and some global vars (?!) in powl


# b69f695a 12-Mar-2012 Rich Felker <dalias@aerifal.cx>

first commit of the new libm!

thanks to the hard work of Szabolcs Nagy (nsz), identifying the best
(from correctness and license standpoint) implementations from freebsd
and openbsd and cleaning them up! musl should now fully support c99
float and long double math functions, and has near-complete complex
math support. tgmath should also work (fully on gcc-compatible
compilers, and mostly on any c99 compiler).

based largely on commit 0376d44a890fea261506f1fc63833e7a686dca19 from
nsz's libm git repo, with some additions (dummy versions of a few
missing long double complex functions, etc.) by me.

various cleanups still need to be made, including re-adding (if
they're correct) some asm functions that were dropped.