s_fabs.c

来自「Newlib 嵌入式 C库 标准实现代码」· C语言 代码 · 共 81 行

C
81
字号
/* @(#)z_fabs.c 1.0 98/08/13 *//*FUNCTION       <<fabs>>, <<fabsf>>---absolute value (magnitude)INDEX        fabsINDEX        fabsfANSI_SYNOPSIS        #include <math.h>       double fabs(double <[x]>);       float fabsf(float <[x]>);TRAD_SYNOPSIS        #include <math.h>       double fabs(<[x]>)       double <[x]>;       float fabsf(<[x]>)       float <[x]>;DESCRIPTION<<fabs>> and <<fabsf>> calculate@tex$|x|$,@end texthe absolute value (magnitude) of the argument <[x]>, by directmanipulation of the bit representation of <[x]>.RETURNSThe calculated value is returned.PORTABILITY<<fabs>> is ANSI.<<fabsf>> is an extension.*//****************************************************************** * Floating-Point Absolute Value * * Input: *   x - floating-point number * * Output: *   absolute value of x * * Description: *   fabs computes the absolute value of a floating point number. * *****************************************************************/#include "fdlibm.h"#include "zmath.h"#ifndef _DOUBLE_IS_32BITSdouble_DEFUN (fabs, (double),        double x){  switch (numtest (x))    {      case NAN:        errno = EDOM;        return (x);      case INF:        errno = ERANGE;        return (x);      case 0:        return (0.0);      default:        return (x < 0.0 ? -x : x);    }}#endif /* _DOUBLE_IS_32BITS */

⌨️ 快捷键说明

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