mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-21 03:32:21 +00:00
23 lines
462 B
C
23 lines
462 B
C
|
#include <stdio.h>
|
||
|
#include <math.h>
|
||
|
|
||
|
int target_isinf(double x) {
|
||
|
union {
|
||
|
double d;
|
||
|
struct {
|
||
|
unsigned mantissa2;
|
||
|
unsigned mantissa1 : 20;
|
||
|
unsigned exponent : 11;
|
||
|
unsigned sign : 1;
|
||
|
} big_endian;
|
||
|
} u;
|
||
|
|
||
|
u.d = x;
|
||
|
return (u.big_endian.exponent == 2047 && u.big_endian.mantissa1 == 0 && u.big_endian.mantissa2 == 0);
|
||
|
}
|
||
|
|
||
|
int main() {
|
||
|
printf("%d %d\n", target_isinf(1234.42), target_isinf(INFINITY));
|
||
|
return 0;
|
||
|
}
|