History log of /seL4-camkes-master/projects/musllibc/src/math/sincosl.c
Revision Date Author Comments
# 73c870ed 11-Apr-2014 Szabolcs Nagy <nsz@port70.net>

math: fix aliasing violation in long double wrappers

modfl and sincosl were passing long double* instead of double*
to the wrapped double precision functions (on archs where long
double and double have the same size).
This is fixed now by using temporaries (this is not optimized
to a single branch so the generated code is a bit bigger).
Found by Morten Welinder.


# ea9bb95a 03-Sep-2013 Szabolcs Nagy <nsz@port70.net>

math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl)

ld128 support was added to internal kernel functions (__cosl, __sinl,
__tanl, __rem_pio2l) from freebsd (not tested, but should be a good
start for when ld128 arch arrives)

__rem_pio2l had some code cleanup, the freebsd ld128 code seems to
gather the results of a large reduction with precision loss (fixed
the bug but a todo comment was added for later investigation)

the old copyright was removed from the non-kernel wrapper functions
(cosl, sinl, sincosl, tanl) since these are trivial and the interesting
parts and comments had been already rewritten.


# bfda3793 18-May-2013 Szabolcs Nagy <nsz@port70.net>

math: sin cos cleanup

* use unsigned arithmetics
* use unsigned to store arg reduction quotient (so n&3 is understood)
* remove z=0.0 variables, use literal 0
* raise underflow and inexact exceptions properly when x is small
* fix spurious underflow in tanl


# 007c03f8 02-Jul-2012 Rich Felker <dalias@aerifal.cx>

fix missing prototype and simplify sincosl on ld64 archs


# 2e8c8fbe 19-Mar-2012 nsz <nsz@port70.net>

don't inline __rem_pio2l so the code size is smaller


# 0144b45b 15-Mar-2012 nsz <nsz@port70.net>

efficient sincos based on sin and cos