* device/lib/Makefile.in (Z80SOURCES): enabled float support
[fw/sdcc] / support / regression / tests / float_trans.c
1 /* Test of transcendent float functions.
2    Original from Jesus Calvino-Fraga
3
4    func: SQRTF, LOGF, POWF, TANF
5 */
6 #include <testfwk.h>
7 #include <math.h>
8
9 #define {func} 1
10
11 void
12 testTrans(void)
13 {
14 #ifdef SQRTF
15     ASSERT(fabsf (sqrtf (5.0)     -   2.23606801) < 0.00001);
16 #endif
17 #ifdef LOGF
18     ASSERT(fabsf (logf (124.0)    -   4.82028150) < 0.00001);
19     ASSERT(fabsf (log10f (124.0)  -   2.09342169) < 0.00001);
20 #endif
21 #ifdef POWF
22   /*  too big for small model */
23 # ifndef SDCC_MODEL_SMALL
24     ASSERT(fabsf (powf (1.5, 2.0) -   2.24999976) < 0.00001);
25 # endif
26 #endif
27 #ifdef TANF
28     ASSERT(fabsf (tanf (1.6)      - -34.23250579) < 0.00001);
29 #endif
30 }