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
testTrans(void)14 testTrans(void)
15 {
16 #if !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) // Lack of memory
17 #ifdef SQRTF
18     ASSERT(fabsf (sqrtf (5.0)     -   2.23606801) < 0.00001);
19 #endif
20 #ifdef LOGF
21     ASSERT(fabsf (logf (124.0)    -   4.82028150) < 0.00001);
22     ASSERT(fabsf (log10f (124.0)  -   2.09342169) < 0.00001);
23 #endif
24 #ifdef POWF
25   /*  too big for small model */
26 # ifndef __SDCC_MODEL_SMALL
27     ASSERT(fabsf (powf (1.5, 2.0) -   2.24999976) < 0.00001);
28 # endif
29 #endif
30 #ifdef TANF
31     ASSERT(fabsf (tanf (1.6)      - -34.23250579) < 0.00001);
32 #endif
33 #endif
34 }
35