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

📄 s_isnand.c

📁 Newlib 嵌入式 C库 标准实现代码
💻 C
字号:
/* * ==================================================== * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this * software is freely granted, provided that this notice  * is preserved. * ==================================================== *//*FUNCTION	<<isnan>>, <<isnanf>>, <<isinf>>, <<isinff>>, <<finite>>, <<finitef>>---test for exceptional numbersINDEX	isnanINDEX	isinfINDEX	finiteINDEX	isnanfINDEX	isinffINDEX	finitefANSI_SYNOPSIS	#include <ieeefp.h>	int isnan(double <[arg]>);	int isinf(double <[arg]>);	int finite(double <[arg]>);	int isnanf(float <[arg]>);	int isinff(float <[arg]>);	int finitef(float <[arg]>);TRAD_SYNOPSIS	#include <ieeefp.h>	int isnan(<[arg]>)	double <[arg]>;	int isinf(<[arg]>)	double <[arg]>;	int finite(<[arg]>);	double <[arg]>;	int isnanf(<[arg]>);	float <[arg]>;	int isinff(<[arg]>);	float <[arg]>;	int finitef(<[arg]>);	float <[arg]>;DESCRIPTION	These functions provide information on the floating-point	argument supplied.	There are five major number formats:	o+	o zero	  A number which contains all zero bits.	o subnormal	  A number with a zero exponent but a nonzero fraction.	o normal	  A number with an exponent and a fraction.     	o infinity	  A number with an all 1's exponent and a zero fraction.	o NAN	  A number with an all 1's exponent and a nonzero fraction.	o-	<<isnan>> returns 1 if the argument is a nan. <<isinf>>	returns 1 if the argument is infinity.  <<finite>> returns 1 if the	argument is zero, subnormal or normal.	Note that by the C99 standard, <<isnan>> and <<isinf>> are macros	taking any type of floating-point and are declared in	<<math.h>>.  Newlib has chosen to declare these as macros in	<<math.h>> and as functions in <<ieeefp.h>>.		The <<isnanf>>, <<isinff>> and <<finitef>> functions perform the same	operations as their <<isnan>>, <<isinf>> and <<finite>>	counterparts, but on single-precision floating-point numbers.QUICKREF	isnan - pureQUICKREF	isinf - pureQUICKREF	finite - pureQUICKREF	isnan - pureQUICKREF	isinf - pureQUICKREF	finite - pure*//* * __isnand(x) returns 1 is x is nan, else 0; * no branching! */#include "fdlibm.h"#ifndef _DOUBLE_IS_32BITSint_DEFUN (__isnand, (x),	double x){	__int32_t hx,lx;	EXTRACT_WORDS(hx,lx,x);	hx &= 0x7fffffff;	hx |= (__uint32_t)(lx|(-lx))>>31;		hx = 0x7ff00000 - hx;	return (int)(((__uint32_t)(hx))>>31);}#endif /* _DOUBLE_IS_32BITS */

⌨️ 快捷键说明

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