s_isinf.c
来自「Newlib 嵌入式 C库 标准实现代码」· C语言 代码 · 共 30 行
C
30 行
/* * isinf(x) returns 1 if x is infinity, else 0; * no branching! * * isinf is a <math.h> macro in the C99 standard. It was previously * implemented as a function by newlib and is declared as such in * <ieeefp.h>. Newlib supplies it here as a function if the user * chooses to use <ieeefp.h> or needs to link older code compiled with the * previous <math.h> declaration. */#include "fdlibm.h"#include <ieeefp.h>#ifndef _DOUBLE_IS_32BITSint_DEFUN (isinf, (x), double x){ __int32_t hx,lx; EXTRACT_WORDS(hx,lx,x); hx &= 0x7fffffff; hx |= (__uint32_t)(lx|(-lx))>>31; hx = 0x7ff00000 - hx; return 1 - (int)((__uint32_t)(hx|(-hx))>>31);}#endif /* _DOUBLE_IS_32BITS */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?