コード例 #1
0
ファイル: finite.c プロジェクト: NanXiao/illumos-joyent
int
unordered(double x, double y)
{
	if ((EXPONENT(x) == MAXEXP) && (HIFRACTION(x) || LOFRACTION(x)))
		return (1);
	if ((EXPONENT(y) == MAXEXP) && (HIFRACTION(y) || LOFRACTION(y)))
		return (1);
	return (0);
}
コード例 #2
0
ファイル: tms32031.c プロジェクト: DarrenBranford/MAME4iOS
static float dsp_to_float(tmsreg *fp)
{
	int_double id;

	if (MANTISSA(fp) == 0 && EXPONENT(fp) == -128)
		return 0;
	else if (MANTISSA(fp) >= 0)
	{
		int exponent = (EXPONENT(fp) + 127) << 23;
		id.i[0] = exponent + (MANTISSA(fp) >> 8);
	}
コード例 #3
0
ファイル: finite.c プロジェクト: NanXiao/illumos-joyent
fpclass_t
fpclass(double x)
{
	int	sign, exp;

	exp = EXPONENT(x);
	sign = SIGNBIT(x);
	if (exp == 0) { /* de-normal or zero */
		if (HIFRACTION(x) || LOFRACTION(x)) /* de-normal */
			return (sign ? FP_NDENORM : FP_PDENORM);
		else
			return (sign ? FP_NZERO : FP_PZERO);
	}
	if (exp == MAXEXP) { /* infinity or NaN */
		if ((HIFRACTION(x) == 0) && (LOFRACTION(x) == 0)) /* infinity */
			return (sign ? FP_NINF : FP_PINF);
		else
			if (QNANBIT(x))
			/* hi-bit of mantissa set - quiet nan */
				return (FP_QNAN);
			else	return (FP_SNAN);
	}
	/* if we reach here we have non-zero normalized number */
	return (sign ? FP_NNORM : FP_PNORM);
}
コード例 #4
0
ファイル: finite.c プロジェクト: NanXiao/illumos-joyent
int
finite(double x)
{
	return ((EXPONENT(x) != MAXEXP));
}