signbit-1.c

来自「用于进行gcc测试」· C语言 代码 · 共 51 行

C
51
字号
/* { dg-options "-O0 -std=gnu99" } *//* Decimal float versions of __builtin_signbit.  */extern void abort (void);int failures;#ifdef DBGextern int printf (const char *, ...);#define FAILURE { printf ("failed at line %d\n", __LINE__); failures++; }#else#define FAILURE abort ();#endif#define CHECK32(D,I) \  if ((__builtin_signbitd32 (D) != 0) != I) FAILURE#define CHECK64(D,I) \  if ((__builtin_signbitd64 (D) != 0) != I) FAILURE#define CHECK128(D,I) \  if ((__builtin_signbitd128 (D) != 0) != I) FAILURE/* Prevent the compiler from folding the calls at compile time.  */volatile _Decimal32 sd;volatile _Decimal64 dd;volatile _Decimal128 td;intmain (){  sd = 1.9df;  CHECK32 (sd, 0)  sd = -5.3df; CHECK32 (sd, 1)  sd = 0.0df;  CHECK32 (sd, 0)  sd = -0.0df; CHECK32 (sd, 1)  dd = 1.9dd;  CHECK64 (dd, 0)  dd = -5.3dd; CHECK64 (dd, 1)  dd = 0.0dd;  CHECK64 (dd, 0)  dd = -0.0dd; CHECK64 (dd, 1)  td = 1.9dl;  CHECK128 (td, 0)  td = -5.3dl; CHECK128 (td, 1)  td = 0.0dl;  CHECK128 (td, 0)  td = -0.0dl; CHECK128 (td, 1)  if (failures != 0)    abort ();  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?