Example #1
0
long double
_IEEE_REMAINDER_R_D(double argx, long double argy)
{
	union _ieee_ldouble {
		long double	dword;
		long		lword[2];
	};
	long double	__remainder_d(long double x, long double y);
	long double x_val;
	int xfpclas	= _fpclassify(argx);
	int yfpclas	= _fpclassifyl(argy);
	if ((xfpclas == FP_NAN) || yfpclas == FP_ZERO) {
		union _ieee_ldouble x_val;
		int	j;

		x_val.dword = _DBL_NaN;

		/* need to emit invalid exception */
		j	= FE_INVALID;
		feraiseexcept(j);
		return(x_val.dword);
	}
	x_val	= (long double) argx;
	return(__remainder_d(x_val, argy));
}
Example #2
0
long double
_IEEE_REMAINDER_D_H(long double argx, float argy)
{
	union _ieee_ldouble {
		long double	ldword;
		long		lword[2];
	};
	long double	__remainder_d(long double x, long double y);
	long double	y_val;
	int xfpclas	= _fpclassifyl(argx);
	int yfpclas	= _fpclassifyf(argy);

	if ((xfpclas == FP_INFINITE) || yfpclas == FP_ZERO) {
		union _ieee_ldouble xval;
		int	j;

		xval.ldword	= _DBL_NaN;

		/* need to emit invalid exception */
		j	= FE_INVALID;
		feraiseexcept(j);
		return(xval.ldword);
	}
	y_val	= (long double) argy;
	return(__remainder_d(argx, y_val));
}