File: bug1520966.c

package info (click to toggle)
sdcc 4.2.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 105,232 kB
  • sloc: ansic: 956,095; cpp: 110,511; makefile: 59,314; sh: 29,875; asm: 17,178; perl: 12,136; yacc: 7,480; lisp: 1,672; python: 907; lex: 805; awk: 498; sed: 89
file content (27 lines) | stat: -rw-r--r-- 447 bytes parent folder | download | duplicates (4)
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
}