File: float-math.c

package info (click to toggle)
mlton 20130715-3
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 60,900 kB
  • ctags: 69,386
  • sloc: xml: 34,418; ansic: 17,399; lisp: 2,879; makefile: 1,605; sh: 1,254; pascal: 256; python: 143; asm: 97
file content (36 lines) | stat: -rw-r--r-- 790 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#define unaryReal(func)                         \
float func##f (float x) {                       \
        return (float)(func((double)x));        \
}
unaryReal(acos)
unaryReal(asin)
unaryReal(atan)
unaryReal(cos)
unaryReal(cosh)
unaryReal(exp)
unaryReal(fabs)
unaryReal(log)
unaryReal(log10)
unaryReal(rint)
unaryReal(sin)
unaryReal(sinh)
unaryReal(sqrt)
unaryReal(tan)
unaryReal(tanh)
#undef unaryReal

#define binaryReal(func)                                \
float func##f (float x, float y) {                      \
        return (float)(func((double)x, (double)y));     \
}
binaryReal(atan2)
binaryReal(pow)
#undef binaryReal

float frexpf(float x, int *e) {
        return (float)frexp((double)x, e);
}

float ldexpf (float x, int i) {
        return (float)ldexp((double)x, i);
}