From 48ca891887e8260be43ae641b35c4129fd4d2093 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 15 Jul 2017 03:19:46 +0200 Subject: Generate USING_BINARY{32,64} MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/generate-macros.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/generate-macros.c (limited to 'src/generate-macros.c') 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 +#include + +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; +} -- cgit v1.2.3-70-g09d2