summaryrefslogtreecommitdiff
path: root/support/regression/tests/bug1520966.c
blob: e30de0435d2f4a1ac385e6556493c809b9ea6435 (plain)
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
/* bug1520966 "Floating-point bug with small numbers"
 */

#include <testfwk.h>
#include <math.h>

void
testFloatOp(void)
{
#if !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
    volatile float a,b;
    float result;

    a = 2.04e-38;
    b = 0.01;

    result = a * b;
    ASSERT( result < a );
    ASSERT( result >= 0.0 );

    b = 100;
    result = a / b;
    ASSERT( result < a );
    ASSERT( result >= 0.0 );
#endif
}