Import Upstream version 20180207
[hcoop/debian/mlton.git] / runtime / platform / float-math.c
CommitLineData
7f918cf1
CE
1#define unaryReal(func) \
2float func##f (float x) { \
3 return (float)(func((double)x)); \
4}
5unaryReal(acos)
6unaryReal(asin)
7unaryReal(atan)
8unaryReal(cos)
9unaryReal(cosh)
10unaryReal(exp)
11unaryReal(fabs)
12unaryReal(log)
13unaryReal(log10)
14unaryReal(rint)
15unaryReal(sin)
16unaryReal(sinh)
17unaryReal(sqrt)
18unaryReal(tan)
19unaryReal(tanh)
20#undef unaryReal
21
22#define binaryReal(func) \
23float func##f (float x, float y) { \
24 return (float)(func((double)x, (double)y)); \
25}
26binaryReal(atan2)
27binaryReal(pow)
28#undef binaryReal
29
30float frexpf(float x, int *e) {
31 return (float)frexp((double)x, e);
32}
33
34float ldexpf (float x, int i) {
35 return (float)ldexp((double)x, i);
36}