about summary refs log tree commit diff
path: root/src/math/llrint.c
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2013-09-03 03:27:02 +0000
committerSzabolcs Nagy <nsz@port70.net>2013-09-05 11:30:07 +0000
commitd1a2ead878c27ac4ec600740320f8b76e1f961e9 (patch)
tree4da00576cf5df93d9170bdf76a26d9c2c96d3978 /src/math/llrint.c
parent98be442ee8a2b8b7e0802b604e384d5a2c43282e (diff)
downloadmusl-d1a2ead878c27ac4ec600740320f8b76e1f961e9.tar.gz
musl-d1a2ead878c27ac4ec600740320f8b76e1f961e9.tar.xz
musl-d1a2ead878c27ac4ec600740320f8b76e1f961e9.zip
math: rewrite rounding functions (ceil, floor, trunc, round, rint)
* faster, smaller, cleaner implementation than the bit hacks of fdlibm
* use arithmetics like y=(double)(x+0x1p52)-0x1p52, which is an integer
neighbor of x in all rounding modes (0<=x<0x1p52) and only use bithacks
when that's faster and smaller (for float it usually is)
* the code assumes standard excess precision handling for casts
* long double code supports both ld80 and ld128
* nearbyint is not changed (it is a wrapper around rint)
Diffstat (limited to 'src/math/llrint.c')
0 files changed, 0 insertions, 0 deletions