990413-2.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 51 行

C
51
字号
/* This tests for a bug in regstack that was breaking glibc's math library. */extern void abort (void);static __inline doubleminus_zero (void){  union { double __d; int __i[2]; } __x;  __x.__i[0] = 0x0;  __x.__i[1] = 0x80000000;  return __x.__d;}static __inline long double__atan2l (long double __y, long double __x){  register long double __value;  __asm __volatile__ ("fpatan\n\t"		      : "=t" (__value)		      : "0" (__x), "u" (__y)		      : "st(1)");  return __value;}static __inline long double__sqrtl (long double __x){  register long double __result;  __asm __volatile__ ("fsqrt" : "=t" (__result) : "0" (__x));  return __result;}static __inline doubleasin (double __x){  return __atan2l (__x, __sqrtl (1.0 - __x * __x));}intmain (void){  double x;  x = minus_zero();  x = asin (x);  if (x != 0.0) /* actually -0.0, but 0.0 == -0.0 */    abort ();  return 0;}

⌨️ 快捷键说明

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