diff options
| author | Mattias Andrée <maandree@kth.se> | 2017-07-15 03:19:46 +0200 |
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2017-07-15 03:19:46 +0200 |
| commit | 48ca891887e8260be43ae641b35c4129fd4d2093 (patch) | |
| tree | 6d2215646d8378f2ac07b51098abe9351859141b /src/generate-macros.c | |
| parent | Fix warnings (diff) | |
| download | blind-48ca891887e8260be43ae641b35c4129fd4d2093.tar.gz blind-48ca891887e8260be43ae641b35c4129fd4d2093.tar.bz2 blind-48ca891887e8260be43ae641b35c4129fd4d2093.tar.xz | |
Generate USING_BINARY{32,64}
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'src/generate-macros.c')
| -rw-r--r-- | src/generate-macros.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/generate-macros.c b/src/generate-macros.c new file mode 100644 index 0000000..ef87ad5 --- /dev/null +++ b/src/generate-macros.c @@ -0,0 +1,22 @@ +#include <stdint.h> +#include <stdio.h> + +int +main(void) +{ + if (sizeof(float) == 4) { + unsigned long int a, b; + a = (unsigned long int)*(uint32_t *)&(float){ (float)(1. / 12.) }; + b = (unsigned long int)*(uint32_t *)&(float){ -(float)(1. / 12.) }; + printf("#define USING_BINARY32 %i\n", + a == 0x3daaaaabUL && b == 0xbdaaaaabUL); + } + if (sizeof(double) == 8) { + unsigned long long int a, b; + a = (unsigned long long int)*(uint64_t *)&(double){ 1. / 12. }; + b = (unsigned long long int)*(uint64_t *)&(double){ -1. / 12. }; + printf("#define USING_BINARY64 %i\n", + a == 0x3fb5555555555555ULL && b == 0xbfb5555555555555ULL); + } + return 0; +} |
