Age | Commit message (Collapse) | Author | Lines | |
---|---|---|---|---|

2014-04-11 | math: fix aliasing violation in long double wrappers | Szabolcs Nagy | -1/+4 | |

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. | ||||

2013-09-05 | math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) | Szabolcs Nagy | -13/+6 | |

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. | ||||

2013-05-18 | math: sin cos cleanup | Szabolcs Nagy | -9/+11 | |

* 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 | ||||

2012-07-02 | fix missing prototype and simplify sincosl on ld64 archs | Rich Felker | -4/+2 | |

2012-03-19 | don't inline __rem_pio2l so the code size is smaller | nsz | -2/+0 | |

2012-03-15 | efficient sincos based on sin and cos | nsz | -0/+66 | |