📄 libm_error.c
字号:
case y1l_zero: case ynl_zero: /* y0l(0) */ /* y1l(0) */ /* ynl(0) */ { RETVAL_NEG_HUGE_VALL; ERRNO_DOMAIN; break; } case y0_zero: case y1_zero: case yn_zero: /* y0(0) */ /* y1(0) */ /* yn(0) */ { RETVAL_NEG_HUGE_VALD; ERRNO_DOMAIN; break; } case y0f_zero: case y1f_zero: case ynf_zero: /* y0f(0) */ /* y1f(0) */ /* ynf(0) */ { RETVAL_NEG_HUGE_VALF; ERRNO_DOMAIN; break; } case y0l_negative: case y1l_negative: case ynl_negative: /* y0l(x < 0) */ /* y1l(x < 0) */ /* ynl(x < 0) */ { RETVAL_NEG_HUGE_VALL; ERRNO_DOMAIN; break; } case y0_negative: case y1_negative: case yn_negative: /* y0(x < 0) */ /* y1(x < 0) */ /* yn(x < 0) */ { RETVAL_NEG_HUGE_VALD; ERRNO_DOMAIN; break; } case y0f_negative: case y1f_negative: case ynf_negative: /* y0f(x < 0) */ /* y1f(x < 0) */ /* ynf(x < 0) */ { RETVAL_NEG_HUGE_VALF; ERRNO_DOMAIN; break; } case logl_zero: case log1pl_zero: case log10l_zero: /* logl(0) */ /* log1pl(0) */ /* log10l(0) */ { RETVAL_NEG_HUGE_VALL; ERRNO_RANGE; break; } case log_zero: case log1p_zero: case log10_zero: case log2l_zero: /* log(0) */ /* log1p(0) */ /* log10(0) */ { RETVAL_NEG_HUGE_VALD; ERRNO_RANGE; break; } case logf_zero: case log1pf_zero: case log10f_zero: /* logf(0) */ /* log1pf(0) */ /* log10f(0) */ { RETVAL_NEG_HUGE_VALF; ERRNO_RANGE; break; } case logl_negative: case log1pl_negative: case log10l_negative: case log2l_negative: /* logl(x < 0) */ /* log1pl(x < 0) */ /* log10l(x < 0) */ { ERRNO_DOMAIN; break; } case log_negative: case log1p_negative: case log10_negative: case log2_negative: /* log(x < 0) */ /* log1p(x < 0) */ /* log10(x < 0) */ { ERRNO_DOMAIN; break; } case logf_negative: case log1pf_negative: case log10f_negative: case log2f_negative: /* logf(x < 0) */ /* log1pf(x < 0) */ /* log10f(x < 0) */ { ERRNO_DOMAIN; break; } case expl_overflow: /* expl overflow */ { RETVAL_HUGE_VALL; ERRNO_RANGE; break; } case exp_overflow: /* exp overflow */ { RETVAL_HUGE_VALD; ERRNO_RANGE; break; } case expf_overflow: /* expf overflow */ { RETVAL_HUGE_VALF; ERRNO_RANGE; break; } case expl_underflow: /* expl underflow */ { RETVAL_ZEROL; ERRNO_RANGE; break; } case exp_underflow: /* exp underflow */ { RETVAL_ZEROD; ERRNO_RANGE; break; } case expf_underflow: /* expf underflow */ { RETVAL_ZEROF; ERRNO_RANGE; break; } case j0l_gt_loss: case y0l_gt_loss: case j1l_gt_loss: case y1l_gt_loss: case jnl_gt_loss: case ynl_gt_loss: /* jn and yn doubl-extended> XLOSS */ { RETVAL_ZEROL; ERRNO_RANGE; break; } case j0_gt_loss: case y0_gt_loss: case j1_gt_loss: case y1_gt_loss: case jn_gt_loss: case yn_gt_loss: /* jn and yn double > XLOSS */ { RETVAL_ZEROD; ERRNO_RANGE; break; } case j0f_gt_loss: case y0f_gt_loss: case j1f_gt_loss: case y1f_gt_loss: case jnf_gt_loss: case ynf_gt_loss: /* j0n and y0n > XLOSS */ { RETVAL_ZEROF; ERRNO_RANGE; break; } case powl_zero_to_zero: /* powl 0**0 */ { break; } case pow_zero_to_zero: /* pow 0**0 */ { break; } case powf_zero_to_zero: /* powf 0**0 */ { break; } case powl_overflow: /* powl(x,y) overflow */ { if (INPUT_RESL < 0) RETVAL_NEG_HUGE_VALL; else RETVAL_HUGE_VALL; ERRNO_RANGE; break; } case pow_overflow: /* pow(x,y) overflow */ { if (INPUT_RESD < 0) RETVAL_NEG_HUGE_VALD; else RETVAL_HUGE_VALD; ERRNO_RANGE; break; } case powf_overflow: /* powf(x,y) overflow */ { if (INPUT_RESF < 0) RETVAL_NEG_HUGE_VALF; else RETVAL_HUGE_VALF; ERRNO_RANGE; break; } case powl_underflow: /* powl(x,y) underflow */ { RETVAL_ZEROL; ERRNO_RANGE; break; } case pow_underflow: /* pow(x,y) underflow */ { RETVAL_ZEROD; ERRNO_RANGE; break; } case powf_underflow: /* powf(x,y) underflow */ { RETVAL_ZEROF; ERRNO_RANGE; break; } case powl_zero_to_negative: /* 0**neg */ { ERRNO_DOMAIN; break; } case pow_zero_to_negative: /* 0**neg */ { ERRNO_DOMAIN; break; } case powf_zero_to_negative: /* 0**neg */ { ERRNO_DOMAIN; break; } case powl_neg_to_non_integer: /* neg**non_integral */ { ERRNO_DOMAIN; break; } case pow_neg_to_non_integer: /* neg**non_integral */ { ERRNO_DOMAIN; break; } case powf_neg_to_non_integer: /* neg**non-integral */ { ERRNO_DOMAIN; break; } case powl_nan_to_zero: /* powl(NaN,0.0) */ /* Special Error */ { break; } case pow_nan_to_zero: /* pow(NaN,0.0) */ { break; } case powf_nan_to_zero: /* powf(NaN,0.0) */ { break; } case atan2l_zero: /* atan2l(0,0) */ { /* XXX arg1 and arg2 are switched!!!! */ if (signbit (*(long double *) arg1)) /* y == -0 */ *(long double *) retval = copysignl (M_PIl, *(long double *) arg2); else *(long double *) retval = *(long double *) arg2; ERRNO_DOMAIN; break; } case atan2_zero: /* atan2(0,0) */ { /* XXX arg1 and arg2 are switched!!!! */ if (signbit (*(double *) arg1)) /* y == -0 */ *(double *) retval = copysign (M_PI, *(double *) arg2); else *(double *) retval = *(double *) arg2; ERRNO_DOMAIN; break; } case atan2f_zero: /* atan2f(0,0) */ { if (signbit (*(float *) arg2)) /* y == -0 */ *(float *) retval = copysignf (M_PI, *(float *) arg1); else *(float *) retval = *(float *) arg1; ERRNO_DOMAIN; break; } case expm1l_overflow: /* expm1 overflow */ { ERRNO_RANGE; break; } case expm1_overflow: /* expm1 overflow */ { ERRNO_RANGE; break; } case expm1f_overflow: /* expm1f overflow */ { ERRNO_RANGE; break; } case expm1l_underflow: /* expm1 underflow */ { ERRNO_RANGE; break; } case expm1_underflow: /* expm1 underflow */ { ERRNO_RANGE; break; } case expm1f_underflow: /* expm1f underflow */ { ERRNO_RANGE; break; } case hypotl_overflow: /* hypotl overflow */ { RETVAL_HUGE_VALL; ERRNO_RANGE; break; } case hypot_overflow: /* hypot overflow */ { RETVAL_HUGE_VALD; ERRNO_RANGE; break; } case hypotf_overflow: /* hypotf overflow */ { RETVAL_HUGE_VALF; ERRNO_RANGE; break; } case scalbl_underflow: /* scalbl underflow */ { if (INPUT_XL < 0) RETVAL_NEG_ZEROL; else RETVAL_ZEROL; ERRNO_RANGE; break; } case scalb_underflow: /* scalb underflow */ { if (INPUT_XD < 0) RETVAL_NEG_ZEROD; else RETVAL_ZEROD; ERRNO_RANGE; break; } case scalbf_underflow: /* scalbf underflow */ { if (INPUT_XF < 0) RETVAL_NEG_ZEROF; else RETVAL_ZEROF; ERRNO_RANGE; break; } case scalbl_overflow: /* scalbl overflow */ { if (INPUT_XL < 0) RETVAL_NEG_HUGE_VALL; else RETVAL_HUGE_VALL; ERRNO_RANGE; break; } case scalb_overflow: /* scalb overflow */ { if (INPUT_XD < 0) RETVAL_NEG_HUGE_VALD; else RETVAL_HUGE_VALD; ERRNO_RANGE; break; } case scalbf_overflow: /* scalbf overflow */ { if (INPUT_XF < 0) RETVAL_NEG_HUGE_VALF; else RETVAL_HUGE_VALF; ERRNO_RANGE; break; } case acoshl_lt_one: /* acoshl(x < 1) */ { ERRNO_DOMAIN; break; } case acosh_lt_one: /* acosh(x < 1) */ { ERRNO_DOMAIN; break; } case acoshf_lt_one: /* acoshf(x < 1) */ { ERRNO_DOMAIN; break; } case acosl_gt_one: /* acosl(x > 1) */ { ERRNO_DOMAIN; break; } case acos_gt_one: /* acos(x > 1) */ { ERRNO_DOMAIN; break; } case acosf_gt_one: /* acosf(x > 1) */ { ERRNO_DOMAIN; break; } case asinl_gt_one: /* asinl(x > 1) */ { ERRNO_DOMAIN; break; } case asin_gt_one: /* asin(x > 1) */ { ERRNO_DOMAIN; break; } case asinf_gt_one: /* asinf(x > 1) */ { ERRNO_DOMAIN; break; } case remainderl_by_zero: case fmodl_by_zero: /* fmodl(x,0) */ { ERRNO_DOMAIN; break; } case remainder_by_zero: case fmod_by_zero: /* fmod(x,0) */ { ERRNO_DOMAIN; break; } case remainderf_by_zero: case fmodf_by_zero: /* fmodf(x,0) */ { ERRNO_DOMAIN; break; } case coshl_overflow: /* coshl overflows */ { RETVAL_HUGE_VALL; ERRNO_RANGE; break; } case cosh_overflow: /* cosh overflows */ { RETVAL_HUGE_VALD; ERRNO_RANGE; break; } case coshf_overflow: /* coshf overflows */ { RETVAL_HUGE_VALF; ERRNO_RANGE; break; } case sinhl_overflow: /* sinhl overflows */ { if (INPUT_XL > 0) RETVAL_HUGE_VALL; else RETVAL_NEG_HUGE_VALL; ERRNO_RANGE; break; } case sinh_overflow: /* sinh overflows */ { if (INPUT_XD > 0) RETVAL_HUGE_VALD; else RETVAL_NEG_HUGE_VALD; ERRNO_RANGE; break; } case sinhf_overflow: /* sinhf overflows */ { if (INPUT_XF > 0) RETVAL_HUGE_VALF; else RETVAL_NEG_HUGE_VALF; ERRNO_RANGE; break; } case logbl_zero: /* logbl(0) */ { ERRNO_DOMAIN; break; } case logb_zero: /* logb(0) */ { ERRNO_DOMAIN; break; } case logbf_zero: /* logbf(0) */ { ERRNO_DOMAIN; break; } case ilogbl_zero: /* ilogbl(0) */ { ERRNO_RANGE; break; } case ilogb_zero: /* ilogb(0) */ { ERRNO_RANGE; break; } case ilogbf_zero: /* ilogbf(0) */ { ERRNO_RANGE; break; } default: abort();}return;/* _POSIX_ */}/*******************************//* __SVID__ and __XOPEN__ Path *//*******************************/else{ switch(input_tag) { case ldexpl_overflow: case ldexpl_underflow: case ldexp_overflow: case ldexp_underflow: case ldexpf_overflow: case ldexpf_underflow: case scalbnl_overflow: case scalbnl_underflow: case scalbn_overflow: case scalbn_underflow: case scalbnf_overflow: case scalbnf_underflow: { ERRNO_RANGE; break; } case sqrtl_negative: /* sqrtl(x < 0) */ { DOMAINL; NAMEL = (char *) "sqrtl"; ifSVID { RETVAL_ZEROL; NOT_MATHERRL { WRITEL_SQRT; ERRNO_DOMAIN; } } else { /* NaN already computed */ NOT_MATHERRL {ERRNO_DOMAIN;} } *(long double *)retval = excl.retval; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -