📄 990413-2.c
字号:
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -