⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sf_numtest.c

📁 Newlib 嵌入式 C库 标准实现代码
💻 C
字号:
/* @(#)z_numtestf.c 1.0 98/08/13 *//****************************************************************** * Numtest * * Input: *   x - pointer to a floating point value * * Output: *   An integer that indicates what kind of number was passed in: *     NUM = 3 - a finite value *     NAN = 2 - not a number *     INF = 1 - an infinite value *           0 - zero * * Description: *   This routine returns an integer that indicates the character- *   istics of the number that was passed in.  * *****************************************************************/#include "fdlibm.h"#include "zmath.h"int _DEFUN (numtestf, (float),        float x){  __int32_t wx;  int exp;  GET_FLOAT_WORD (wx, x);  exp = (wx & 0x7f800000) >> 23;  /* Check for a zero input. */  if (x == 0.0)    {      return (0);    }  /* Check for not a number or infinity. */  if (exp == 0x7f8)    {      if(wx & 0x7fffff)        return (NAN);      else        return (INF);    }       /* Otherwise it's a finite value. */   else    return (NUM);}#ifdef _DOUBLE_IS_32BITSint numtest (double x){  return numtestf ((float) x);}#endif /* defined(_DOUBLE_IS_32BITS) */

⌨️ 快捷键说明

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