libm_error.c
来自「Glibc 2.3.2源代码(解压后有100多M)」· C语言 代码 · 共 2,825 行 · 第 1/5 页
C
2,825 行
} case sqrt_negative: /* sqrt(x < 0) */ { DOMAIND; NAMED = (char *) "sqrt"; ifSVID { RETVAL_ZEROD; NOT_MATHERRD { WRITED_SQRT; ERRNO_DOMAIN; } } else { /* NaN already computed */ NOT_MATHERRD {ERRNO_DOMAIN;} } *(double *)retval = exc.retval; break; } case sqrtf_negative: /* sqrtf(x < 0) */ { DOMAINF; NAMEF = (char *) "sqrtf"; ifSVID { RETVAL_ZEROF; NOT_MATHERRF { WRITEF_SQRT; ERRNO_DOMAIN; } } else { NOT_MATHERRF {ERRNO_DOMAIN;} } *(float *)retval = excf.retval; break; } case logl_zero: case log2l_zero: /* logl(0) */ { SINGL; NAMEL = (char *) "logl"; ifSVID { RETVAL_NEG_HUGEL; NOT_MATHERRL { WRITEL_LOG_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALL; NOT_MATHERRL {ERRNO_DOMAIN;} } *(long double *)retval = excl.retval; break; } case log_zero: case log2_zero: /* log(0) */ { SINGD; NAMED = (char *) "log"; ifSVID { RETVAL_NEG_HUGED; NOT_MATHERRD { WRITED_LOG_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALD; NOT_MATHERRD {ERRNO_DOMAIN;} } *(double *)retval = exc.retval; break; } case logf_zero: case log2f_zero: /* logf(0) */ { SINGF; NAMEF = (char *) "logf"; ifSVID { RETVAL_NEG_HUGEF; NOT_MATHERRF { WRITEF_LOG_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALF; NOT_MATHERRF {ERRNO_DOMAIN;} } *(float *)retval = excf.retval; break; } case logl_negative: case log2l_negative: /* logl(x < 0) */ { DOMAINL; NAMEL = (char *) "logl"; ifSVID { RETVAL_NEG_HUGEL; NOT_MATHERRL { WRITEL_LOG_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALL; NOT_MATHERRL {ERRNO_DOMAIN;} } *(long double *)retval = excl.retval; break; } case log_negative: case log2_negative: /* log(x < 0) */ { DOMAIND; NAMED = (char *) "log"; ifSVID { RETVAL_NEG_HUGED; NOT_MATHERRD { WRITED_LOG_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALD; NOT_MATHERRD {ERRNO_DOMAIN;} } *(double *)retval = exc.retval; break; } case logf_negative: case log2f_negative: /* logf(x < 0) */ { DOMAINF; NAMEF = (char *) "logf"; ifSVID { RETVAL_NEG_HUGEF; NOT_MATHERRF { WRITEF_LOG_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALF; NOT_MATHERRF{ERRNO_DOMAIN;} } *(float *)retval = excf.retval; break; } case log1pl_zero: /* log1pl(-1) */ { SINGL; NAMEL = (char *) "log1pl"; ifSVID { RETVAL_NEG_HUGEL; NOT_MATHERRL { WRITEL_LOG1P_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALL; NOT_MATHERRL {ERRNO_DOMAIN;} } *(long double *)retval = excl.retval; break; } case log1p_zero: /* log1p(-1) */ { SINGD; NAMED = (char *) "log1p"; ifSVID { RETVAL_NEG_HUGED; NOT_MATHERRD { WRITED_LOG1P_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALD; NOT_MATHERRD {ERRNO_DOMAIN;} } *(double *)retval = exc.retval; break; } case log1pf_zero: /* log1pf(-1) */ { SINGF; NAMEF = (char *) "log1pf"; ifSVID { RETVAL_NEG_HUGEF; NOT_MATHERRF { WRITEF_LOG1P_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALF; NOT_MATHERRF {}ERRNO_DOMAIN; } *(float *)retval = excf.retval; break; } case log1pl_negative: /* log1pl(x < -1) */ { DOMAINL; NAMEL = (char *) "log1pl"; ifSVID { RETVAL_NEG_HUGEL; NOT_MATHERRL { WRITEL_LOG1P_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALL; NOT_MATHERRL {ERRNO_DOMAIN;} } *(long double *)retval = excl.retval; break; } case log1p_negative: /* log1p(x < -1) */ { DOMAIND; NAMED = (char *) "log1p"; ifSVID { RETVAL_NEG_HUGED; NOT_MATHERRD { WRITED_LOG1P_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALD; NOT_MATHERRD {ERRNO_DOMAIN;} } *(double *)retval = exc.retval; break; } case log1pf_negative: /* log1pf(x < -1) */ { DOMAINF; NAMEF = (char *) "log1pf"; ifSVID { RETVAL_NEG_HUGEF; NOT_MATHERRF { WRITEF_LOG1P_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALF; NOT_MATHERRF {ERRNO_DOMAIN;} } *(float *)retval = excf.retval; break; } case log10l_zero: /* log10l(0) */ { SINGL; NAMEL = (char *) "log10l"; ifSVID { RETVAL_NEG_HUGEL; NOT_MATHERRL { WRITEL_LOG10_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALL; NOT_MATHERRL {ERRNO_DOMAIN;} } *(long double *)retval = excl.retval; break; } case log10_zero: /* log10(0) */ { SINGD; NAMED = (char *) "log10"; ifSVID { RETVAL_NEG_HUGED; NOT_MATHERRD { WRITED_LOG10_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALD; NOT_MATHERRD {ERRNO_DOMAIN;} } *(double *)retval = exc.retval; break; } case log10f_zero: /* log10f(0) */ { SINGF; NAMEF = (char *) "log10f"; ifSVID { RETVAL_NEG_HUGEF; NOT_MATHERRF { WRITEF_LOG10_ZERO; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALF; NOT_MATHERRF {ERRNO_DOMAIN;} } *(float *)retval = excf.retval; break; } case log10l_negative: /* log10l(x < 0) */ { DOMAINL; NAMEL = (char *) "log10l"; ifSVID { RETVAL_NEG_HUGEL; NOT_MATHERRL { WRITEL_LOG10_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALL; NOT_MATHERRL {ERRNO_DOMAIN;} } *(long double *)retval = excl.retval; break; } case log10_negative: /* log10(x < 0) */ { DOMAIND; NAMED = (char *) "log10"; ifSVID { RETVAL_NEG_HUGED; NOT_MATHERRD { WRITED_LOG10_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALD; NOT_MATHERRD {ERRNO_DOMAIN;} } *(double *)retval = exc.retval; break; } case log10f_negative: /* log10f(x < 0) */ { DOMAINF; NAMEF = (char *) "log10f"; ifSVID { RETVAL_NEG_HUGEF; NOT_MATHERRF { WRITEF_LOG10_NEGATIVE; ERRNO_DOMAIN; } } else { RETVAL_NEG_HUGE_VALF; NOT_MATHERRF {ERRNO_DOMAIN;} } *(float *)retval = excf.retval; break; } case expl_overflow: /* expl overflow */ { OVERFLOWL; NAMEL = (char *) "expl"; ifSVID { RETVAL_HUGEL; } else { RETVAL_HUGE_VALL; } NOT_MATHERRL {ERRNO_RANGE;} *(long double *)retval = excl.retval; break; } case exp_overflow: /* exp overflow */ { OVERFLOWD; NAMED = (char *) "exp"; ifSVID { RETVAL_HUGED; } else { RETVAL_HUGE_VALD; } NOT_MATHERRD {ERRNO_RANGE;} *(double *)retval = exc.retval; break; } case expf_overflow: /* expf overflow */ { OVERFLOWF; NAMEF = (char *) "expf"; ifSVID { RETVAL_HUGEF; } else { RETVAL_HUGE_VALF; } NOT_MATHERRF {ERRNO_RANGE;} *(float *)retval = excf.retval; break; } case expl_underflow: /* expl underflow */ { UNDERFLOWL; NAMEL = (char *) "expl"; RETVAL_ZEROL; NOT_MATHERRL {ERRNO_RANGE;} *(long double *)retval = excl.retval; break; } case exp_underflow: /* exp underflow */ { UNDERFLOWD; NAMED = (char *) "exp"; RETVAL_ZEROD; NOT_MATHERRD {ERRNO_RANGE;} *(double *)retval = exc.retval; break; } case expf_underflow: /* expf underflow */ { UNDERFLOWF; NAMEF = (char *) "expf"; RETVAL_ZEROF; NOT_MATHERRF {ERRNO_RANGE;} *(float *)retval = excf.retval; break; } case powl_zero_to_zero: /* powl 0**0 */ { DOMAINL; NAMEL = (char *) "powl"; ifSVID { RETVAL_ZEROL; NOT_MATHERRL { WRITEL_POW_ZERO_TO_ZERO; ERRNO_RANGE; } *(long double *)retval = excl.retval; } else RETVAL_ONEL; break; } case pow_zero_to_zero: /* pow 0**0 */ { DOMAIND; NAMED = (char *) "pow"; ifSVID { RETVAL_ZEROD; NOT_MATHERRD { WRITED_POW_ZERO_TO_ZERO; ERRNO_RANGE; } *(double *)retval = exc.retval; } else RETVAL_ONED; break; } case powf_zero_to_zero: /* powf 0**0 */ { DOMAINF; NAMEF = (char *) "powf"; ifSVID { RETVAL_ZEROF; NOT_MATHERRF { WRITEF_POW_ZERO_TO_ZERO; ERRNO_RANGE; } *(float *)retval = excf.retval; } else RETVAL_ONEF; break; } case powl_overflow: /* powl(x,y) overflow */ { OVERFLOWL; NAMEL = (char *) "powl"; ifSVID { if (INPUT_XL < 0) RETVAL_NEG_HUGEL; else RETVAL_HUGEL; } else { if (INPUT_XL < 0) RETVAL_NEG_HUGE_VALL; else RETVAL_HUGE_VALL; } NOT_MATHERRL {ERRNO_RANGE;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?