builtin-math-2.c

来自「用于进行gcc测试」· C语言 代码 · 共 401 行 · 第 1/2 页

C
401
字号
  TESTIT (sqrt, 0.0);  /* Check for overflow/underflow.  */  /* These adjustments are too big.  */#define FLT_EXP_ADJ (2*(__FLT_MAX_EXP__-__FLT_MIN_EXP__)+1)#define DBL_EXP_ADJ (2*(__DBL_MAX_EXP__-__DBL_MIN_EXP__)+1)#define LDBL_EXP_ADJ (2*(__LDBL_MAX_EXP__-__LDBL_MIN_EXP__)+1)  TESTIT2_I2 (ldexp, 1.0, __INT_MAX__);  TESTIT2_I2 (ldexp, 1.0, -__INT_MAX__-1);  TESTIT2_I2 (ldexp, -1.0, __INT_MAX__);  TESTIT2_I2 (ldexp, -1.0, -__INT_MAX__-1);  TESTIT2_I2ALL (ldexp, __FLT_MIN__, FLT_EXP_ADJ, __DBL_MIN__,		 DBL_EXP_ADJ, __LDBL_MIN__, LDBL_EXP_ADJ);  TESTIT2_I2ALL (ldexp, __FLT_MAX__, -FLT_EXP_ADJ, __DBL_MAX__,		 -DBL_EXP_ADJ, __LDBL_MAX__, -LDBL_EXP_ADJ);  TESTIT2_I2ALL (ldexp, __FLT_MIN__, __FLT_MIN_EXP__, __DBL_MIN__,		 __DBL_MIN_EXP__, __LDBL_MIN__, __LDBL_MIN_EXP__);  TESTIT2_I2ALL (ldexp, __FLT_MAX__, __FLT_MAX_EXP__, __DBL_MAX__,		 __DBL_MAX_EXP__, __LDBL_MAX__, __LDBL_MAX_EXP__);  TESTIT2_I2 (scalbn, 1.0, __INT_MAX__);  TESTIT2_I2 (scalbn, 1.0, -__INT_MAX__-1);  TESTIT2_I2 (scalbn, -1.0, __INT_MAX__);  TESTIT2_I2 (scalbn, -1.0, -__INT_MAX__-1);  TESTIT2_I2ALL (scalbn, __FLT_MIN__, FLT_EXP_ADJ, __DBL_MIN__,		 DBL_EXP_ADJ, __LDBL_MIN__, LDBL_EXP_ADJ);  TESTIT2_I2ALL (scalbn, __FLT_MAX__, -FLT_EXP_ADJ, __DBL_MAX__,		 -DBL_EXP_ADJ, __LDBL_MAX__, -LDBL_EXP_ADJ);  TESTIT2_I2ALL (scalbn, __FLT_MIN__, __FLT_MIN_EXP__, __DBL_MIN__,		 __DBL_MIN_EXP__, __LDBL_MIN__, __LDBL_MIN_EXP__);  TESTIT2_I2ALL (scalbn, __FLT_MAX__, __FLT_MAX_EXP__, __DBL_MAX__,		 __DBL_MAX_EXP__, __LDBL_MAX__, __LDBL_MAX_EXP__);  TESTIT2_I2 (scalbln, 1.0, __LONG_MAX__);  TESTIT2_I2 (scalbln, 1.0, -__LONG_MAX__-1);  TESTIT2_I2 (scalbln, -1.0, __LONG_MAX__);  TESTIT2_I2 (scalbln, -1.0, -__LONG_MAX__-1);  TESTIT2_I2ALL (scalbln, __FLT_MIN__, FLT_EXP_ADJ, __DBL_MIN__,		 DBL_EXP_ADJ, __LDBL_MIN__, LDBL_EXP_ADJ);  TESTIT2_I2ALL (scalbln, __FLT_MAX__, -FLT_EXP_ADJ, __DBL_MAX__,		 -DBL_EXP_ADJ, __LDBL_MAX__, -LDBL_EXP_ADJ);  TESTIT2_I2ALL (scalbln, __FLT_MIN__, __FLT_MIN_EXP__, __DBL_MIN__,		 __DBL_MIN_EXP__, __LDBL_MIN__, __LDBL_MIN_EXP__);  TESTIT2_I2ALL (scalbln, __FLT_MAX__, __FLT_MAX_EXP__, __DBL_MAX__,		 __DBL_MAX_EXP__, __LDBL_MAX__, __LDBL_MAX_EXP__);  TESTIT (logb, 0.0);  TESTIT (logb, -0.0);  TESTIT (ilogb, 0.0);  TESTIT (ilogb, -0.0);#ifndef __SPU__  foof (__builtin_ilogbf (__builtin_inff()));#endif  foo (__builtin_ilogb (__builtin_inf()));  fool (__builtin_ilogbl (__builtin_infl()));#ifndef __SPU__  foof (__builtin_ilogbf (-__builtin_inff()));#endif  foo (__builtin_ilogb (-__builtin_inf()));  fool (__builtin_ilogbl (-__builtin_infl()));#ifndef __SPU__  foof (__builtin_ilogbf (__builtin_nanf("")));#endif  foo (__builtin_ilogb (__builtin_nan("")));  fool (__builtin_ilogbl (__builtin_nanl("")));#ifndef __SPU__  foof (__builtin_ilogbf (-__builtin_nanf("")));#endif  foo (__builtin_ilogb (-__builtin_nan("")));  fool (__builtin_ilogbl (-__builtin_nanl("")));  /* The y* arg must be [0 ... Inf] EXclusive.  */  TESTIT (y0, -1.0);  TESTIT (y0, 0.0);  TESTIT (y0, -0.0);  TESTIT (y1, -1.0);  TESTIT (y1, 0.0);  TESTIT (y1, -0.0);  TESTIT2_I1 (yn, 2, -1.0);  TESTIT2_I1 (yn, 2, 0.0);  TESTIT2_I1 (yn, 2, -0.0);  TESTIT2_I1 (yn, -3, -1.0);  TESTIT2_I1 (yn, -3, 0.0);  TESTIT2_I1 (yn, -3, -0.0);  /* The second argument of remquo/remainder/drem must not be 0.  */  TESTIT_REMQUO (1.0, 0.0);  TESTIT_REMQUO (1.0, -0.0);  TESTIT2 (remainder, 1.0, 0.0);  TESTIT2 (remainder, 1.0, -0.0);  TESTIT2 (drem, 1.0, 0.0);  TESTIT2 (drem, 1.0, -0.0);  /* The argument to lgamma* cannot be zero or a negative integer.  */  TESTIT_REENT (lgamma, -4.0); /* lgamma_r */  TESTIT_REENT (lgamma, -3.0); /* lgamma_r */  TESTIT_REENT (lgamma, -2.0); /* lgamma_r */  TESTIT_REENT (lgamma, -1.0); /* lgamma_r */  TESTIT_REENT (lgamma, -0.0); /* lgamma_r */  TESTIT_REENT (lgamma, 0.0); /* lgamma_r */    TESTIT_REENT (gamma, -4.0); /* gamma_r */  TESTIT_REENT (gamma, -3.0); /* gamma_r */  TESTIT_REENT (gamma, -2.0); /* gamma_r */  TESTIT_REENT (gamma, -1.0); /* gamma_r */  TESTIT_REENT (gamma, -0.0); /* gamma_r */  TESTIT_REENT (gamma, 0.0); /* gamma_r */}/* { dg-final { scan-tree-dump-times "exp2 " 9 "original" } } *//* { dg-final { scan-tree-dump-times "exp2f" 9 "original" { target { ! { spu*-*-* } } } } } *//* { dg-final { scan-tree-dump-times "exp2f" 6 "original" { target { spu*-*-* } } } } *//* { dg-final { scan-tree-dump-times "exp2l" 9 "original" } } *//* { dg-final { scan-tree-dump-times "asin " 2 "original" } } *//* { dg-final { scan-tree-dump-times "asinf" 2 "original" } } *//* { dg-final { scan-tree-dump-times "asinl" 2 "original" } } *//* { dg-final { scan-tree-dump-times "acos " 2 "original" } } *//* { dg-final { scan-tree-dump-times "acosf" 2 "original" } } *//* { dg-final { scan-tree-dump-times "acosl" 2 "original" } } *//* { dg-final { scan-tree-dump-times "acosh " 1 "original" } } *//* { dg-final { scan-tree-dump-times "acoshf" 1 "original" } } *//* { dg-final { scan-tree-dump-times "acoshl" 1 "original" } } *//* { dg-final { scan-tree-dump-times "atanh " 2 "original" } } *//* { dg-final { scan-tree-dump-times "atanhf" 2 "original" } } *//* { dg-final { scan-tree-dump-times "atanhl" 2 "original" } } *//* { dg-final { scan-tree-dump-times "log " 3 "original" } } *//* { dg-final { scan-tree-dump-times "logf" 3 "original" } } *//* { dg-final { scan-tree-dump-times "logl" 3 "original" } } *//* { dg-final { scan-tree-dump-times "log2 " 3 "original" } } *//* { dg-final { scan-tree-dump-times "log2f" 3 "original" } } *//* { dg-final { scan-tree-dump-times "log2l" 3 "original" } } *//* { dg-final { scan-tree-dump-times "log10 " 3 "original" } } *//* { dg-final { scan-tree-dump-times "log10f" 3 "original" } } *//* { dg-final { scan-tree-dump-times "log10l" 3 "original" } } *//* { dg-final { scan-tree-dump-times "log1p " 2 "original" } } *//* { dg-final { scan-tree-dump-times "log1pf" 2 "original" } } *//* { dg-final { scan-tree-dump-times "log1pl" 2 "original" } } *//* { dg-final { scan-tree-dump-times "tgamma " 5 "original" } } *//* { dg-final { scan-tree-dump-times "tgammaf" 5 "original" } } *//* { dg-final { scan-tree-dump-times "tgammal" 5 "original" } } *//* { dg-final { scan-tree-dump-times "pow " 13 "original" } } *//* { dg-final { scan-tree-dump-times "powf" 13 "original" { target { ! { spu*-*-* } } } } } *//* { dg-final { scan-tree-dump-times "powf" 7 "original" { target { spu*-*-* } } } } *//* { dg-final { scan-tree-dump-times "powl" 13 "original" } } *//* { dg-final { scan-tree-dump-times "fma " 3 "original" } } *//* { dg-final { scan-tree-dump-times "fmaf" 3 "original" } } *//* { dg-final { scan-tree-dump-times "fmal" 3 "original" } } *//* { dg-final { scan-tree-dump-times "sqrt " 1 "original" } } *//* { dg-final { scan-tree-dump-times "sqrtf" 1 "original" } } *//* { dg-final { scan-tree-dump-times "sqrtl" 1 "original" } } *//* { dg-final { scan-tree-dump-times "ldexp " 8 "original" } } *//* { dg-final { scan-tree-dump-times "ldexpf" 8 "original" } } *//* { dg-final { scan-tree-dump-times "ldexpl" 8 "original" } } *//* { dg-final { scan-tree-dump-times "scalbn " 8 "original" } } *//* { dg-final { scan-tree-dump-times "scalbnf" 8 "original" } } *//* { dg-final { scan-tree-dump-times "scalbnl" 8 "original" } } *//* { dg-final { scan-tree-dump-times "scalbln " 8 "original" } } *//* { dg-final { scan-tree-dump-times "scalblnf" 8 "original" } } *//* { dg-final { scan-tree-dump-times "scalblnl" 8 "original" } } *//* { dg-final { scan-tree-dump-times "_logb " 2 "original" } } *//* { dg-final { scan-tree-dump-times "_logbf" 2 "original" } } *//* { dg-final { scan-tree-dump-times "_logbl" 2 "original" } } *//* { dg-final { scan-tree-dump-times "ilogb " 6 "original" } } *//* { dg-final { scan-tree-dump-times "ilogbf" 6 "original" { target { ! { spu*-*-* } } } } } *//* { dg-final { scan-tree-dump-times "ilogbf" 2 "original" { target { spu*-*-* } } } } *//* { dg-final { scan-tree-dump-times "ilogbl" 6 "original" } } *//* { dg-final { scan-tree-dump-times "y0 " 3 "original" } } *//* { dg-final { scan-tree-dump-times "y0f" 3 "original" } } *//* { dg-final { scan-tree-dump-times "y0l" 3 "original" } } *//* { dg-final { scan-tree-dump-times "y1 " 3 "original" } } *//* { dg-final { scan-tree-dump-times "y1f" 3 "original" } } *//* { dg-final { scan-tree-dump-times "y1l" 3 "original" } } *//* { dg-final { scan-tree-dump-times "yn " 6 "original" } } *//* { dg-final { scan-tree-dump-times "ynf" 6 "original" } } *//* { dg-final { scan-tree-dump-times "ynl" 6 "original" } } *//* { dg-final { scan-tree-dump-times "remquo " 2 "original" } } *//* { dg-final { scan-tree-dump-times "remquof" 2 "original" } } *//* { dg-final { scan-tree-dump-times "remquol" 2 "original" } } *//* { dg-final { scan-tree-dump-times "remainder " 2 "original" } } *//* { dg-final { scan-tree-dump-times "remainderf" 2 "original" } } *//* { dg-final { scan-tree-dump-times "remainderl" 2 "original" } } *//* { dg-final { scan-tree-dump-times "drem " 2 "original" } } *//* { dg-final { scan-tree-dump-times "dremf" 2 "original" } } *//* { dg-final { scan-tree-dump-times "dreml" 2 "original" } } *//* { dg-final { scan-tree-dump-times "lgamma_r " 6 "original" } } *//* { dg-final { scan-tree-dump-times "lgammaf_r" 6 "original" } } *//* { dg-final { scan-tree-dump-times "lgammal_r" 6 "original" } } *//* { dg-final { scan-tree-dump-times "_gamma_r " 6 "original" } } *//* { dg-final { scan-tree-dump-times "_gammaf_r" 6 "original" } } *//* { dg-final { scan-tree-dump-times "_gammal_r" 6 "original" } } *//* { dg-final { cleanup-tree-dump "original" } } */

⌨️ 快捷键说明

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