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

📄 float_md.h

📁 用JNI封装的一个联通短信SGIP协议 API的java接口
💻 H
字号:
/*****************************************************************************/
/*                    Copyright (c) IBM Corporation 1997                     */
/*****************************************************************************/

/*****************************************************************************/
/* Change activity:                                                          */
/*                                                                           */
/*   Flag  Reason  Release  Date  Origin Description                         */
/*   ---- -------- ------- ------ ------ -----------                         */
/*   $L0=  005220   n116   980402 hdspp: JDK 1.1.3 port                      */
/*                                                                           */
/*****************************************************************************/

#ifndef _WIN32_FLOAT_H_
#define _WIN32_FLOAT_H_

#undef	float_t
#undef	double_t

#define NAN_CHECK(l,r,x) (!_isnan((l))&&!_isnan((r))) ? (x : 0)

typedef	float			float_t;
typedef	double			double_t;

#define	DBL_DEF(a,b,c,d)	double_t a = (b)
#define	DBL_VAL(a,b,c  )	(a)
#define	FLT_DEF(a,b,c  )	float_t  a = (b)

#define	int2dbl(a)		((double_t)(a))
#define	int2flt(a)		((float_t)(a))

#define	dbl2int(a)		((int)(a))
#define	flt2int(a)		((int)(a))

#define	dbl2flt(a)		((float)(a))

#define	flt2dbl(a)		((double)(a))

#define	str2flt(a,b)		(float_t)strtod(a,b)
#define	str2dbl(a,b)		strtod(a,b)

char *  flt2str(char *buf, const char * pattern, float_t f);
char *	dbl2str(char *buf, const char * pattern, double_t d);

#define	dbl_neg(a)		(-(a))
#define	dbl_copysign(a,b)	(copysign((a),(b)))
#define	dbl_add(a,b)		((a)+(b))
#define	dbl_sub(a,b)		((a)-(b))
#define	dbl_mul(a,b)		((a)*(b))
#define	dbl_div(a,b)		((a)/(b))

#define	dbl_eqz(a)		((a)==0.0)
#define	dbl_ltz(a)		((a)<0.0)
#define	dbl_gez(a)		((a)>=0.0)
#define	dbl_eq(a,b)		((a) == (b))
#define	dbl_ne(a,b)		((a) != (b))
#define	dbl_ge(a,b)		((a) >= (b))
#define	dbl_le(a,b)		((a) <= (b))
#define	dbl_lt(a,b)		((a) <  (b))
#define	dbl_gt(a,b)		((a) >  (b))

#define	flt_neg(a)		(-(a))
#define	flt_add(a,b)		((a)+(b))
#define	flt_sub(a,b)		((a)-(b))
#define	flt_mul(a,b)		((a)*(b))
#define	flt_div(a,b)		((a)/(b))

#define	flt_eqz(a)		((a)==0.0)
#define	flt_ltz(a)		((a)<0.0)
#define	flt_gez(a)		((a)>=0.0)
#define	flt_eq(a,b)		((a) == (b))
#define	flt_ne(a,b)		((a) != (b))
#define	flt_ge(a,b)		((a) >= (b))
#define	flt_le(a,b)		((a) <= (b))
#define	flt_lt(a,b)		((a) <  (b))
#define	flt_gt(a,b)		((a) >  (b))

#define	tofloat(a)		((float_t)(a))
#define	todouble(a)		((double_t)(a))
#define	flt2nat(a)		((a))
#define	dbl2nat(a)		((a))

#define	dbl_cos			cos
#define	dbl_sin			sin
#define	dbl_tan			tan
#define	dbl_asin		asin
#define	dbl_acos		acos
#define	dbl_atan		atan
#define	dbl_exp			exp
#define	dbl_log			log
#define	dbl_sqrt		sqrt
#define	dbl_ceil		ceil
#define	dbl_floor		floor
#define	dbl_rint		rint
#define	dbl_atan2		atan2
#define	dbl_pow			pow
#define	dbl_fmod		fmod
#define	dbl_fabs		abs
#define	dbl_rem			remainder

#define	flt_fmod		fmod

#define	dbl_zero_const		((double_t)0)
#define dbl_one_const		((double_t)1)

#define	flt_zero_const		((float_t)0)
#define flt_one_const		((float_t)1)

#define	PosZerod		((double_t)0)
#define	PosOned			((double_t)1)
#define	PosInfd			((double_t)INF)
#define	PosZerof		((float_t)0)
#define	PosOnef			((float_t)1)
#define	PosInff			((float_t)INF)

#define	NegZerod		-((double_t)0)
#define	NegOned			-((double_t)1)
#define	NegInfd			-((double_t)INF)
#define	NegZerof		-((float_t)0)
#define	NegOnef			-((float_t)1)
#define	NegInff			-((float_t)INF)

#define IS_NAN(x) 		_isnan(x)
#define IS_NAND(x)		IS_NAN(x)
#define IS_NANF(x)		IS_NAN(x)

#define	NaNd			((double_t)NAN)
#define	NaNf			((float_t)NAN)

#endif

⌨️ 快捷键说明

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