inf-2.c

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

C
84
字号
extern void abort (void);void test(double f, double i){  if (f == __builtin_inf())    abort ();  if (f == -__builtin_inf())    abort ();  if (i == -__builtin_inf())    abort ();  if (i != __builtin_inf())    abort ();  if (f >= __builtin_inf())    abort ();  if (f > __builtin_inf())    abort ();  if (i > __builtin_inf())    abort ();  if (f <= -__builtin_inf())    abort ();  if (f < -__builtin_inf())    abort ();}void testf(float f, float i){#ifndef __SPU__  /* The SPU single-precision floating point format does not support Inf.  */  if (f == __builtin_inff())    abort ();  if (f == -__builtin_inff())    abort ();  if (i == -__builtin_inff())    abort ();  if (i != __builtin_inff())    abort ();  if (f >= __builtin_inff())    abort ();  if (f > __builtin_inff())    abort ();  if (i > __builtin_inff())    abort ();  if (f <= -__builtin_inff())    abort ();  if (f < -__builtin_inff())    abort ();#endif}void testl(long double f, long double i){  if (f == __builtin_infl())    abort ();  if (f == -__builtin_infl())    abort ();  if (i == -__builtin_infl())    abort ();  if (i != __builtin_infl())    abort ();  if (f >= __builtin_infl())    abort ();  if (f > __builtin_infl())    abort ();  if (i > __builtin_infl())    abort ();  if (f <= -__builtin_infl())    abort ();  if (f < -__builtin_infl())    abort ();}int main(){  test (34.0, __builtin_inf());  testf (34.0f, __builtin_inff());  testf (34.0l, __builtin_infl());  return 0;}

⌨️ 快捷键说明

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