use scalbn or *2.0 instead of ldexp, fix fmal
authornsz <nsz@port70.net>
Mon, 19 Mar 2012 21:57:58 +0000 (22:57 +0100)
committernsz <nsz@port70.net>
Mon, 19 Mar 2012 21:57:58 +0000 (22:57 +0100)
commit2786c7d21611b9fa3b2fe356542cf213e7dd0ba4
treeb3954e9cec7580f5dc851491d3b60d808aae4259
parent01fdfd491b5d83b72099fbae14c4a71ed8e0b945
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.
src/math/expl.c
src/math/expm1l.c
src/math/fma.c
src/math/fmal.c
src/math/log10l.c
src/math/log2l.c
src/math/logl.c
src/math/powl.c