projects
/
oweals
/
musl.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
implement hcreate_r, hdestroy_r and hsearch_r
[oweals/musl.git]
/
src
/
math
/
truncf.c
1
#include "libm.h"
2
3
float truncf(float x)
4
{
5
union {float f; uint32_t i;} u = {x};
6
int e = (int)(u.i >> 23 & 0xff) - 0x7f + 9;
7
uint32_t m;
8
9
if (e >= 23 + 9)
10
return x;
11
if (e < 9)
12
e = 1;
13
m = -1U >> e;
14
if ((u.i & m) == 0)
15
return x;
16
FORCE_EVAL(x + 0x1p120f);
17
u.i &= ~m;
18
return u.f;
19
}