Imported Upstream version 2.9.0
[debian/cc1111] / 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 #if defined (__STDC_IEC_559__) || defined (SDCC)
10 #define {func} 1
11 #endif
12
13 void
14 testTrans(void)
15 {
16 #ifdef SQRTF
17     ASSERT(fabsf (sqrtf (5.0)     -   2.23606801) < 0.00001);
18 #endif
19 #ifdef LOGF
20     ASSERT(fabsf (logf (124.0)    -   4.82028150) < 0.00001);
21     ASSERT(fabsf (log10f (124.0)  -   2.09342169) < 0.00001);
22 #endif
23 #ifdef POWF
24   /*  too big for small model */
25 # ifndef SDCC_MODEL_SMALL
26     ASSERT(fabsf (powf (1.5, 2.0) -   2.24999976) < 0.00001);
27 # endif
28 #endif
29 #ifdef TANF
30     ASSERT(fabsf (tanf (1.6)      - -34.23250579) < 0.00001);
31 #endif
32 }