diff options
Diffstat (limited to 'arch/mips/math-emu/dp_simple.c')
| -rw-r--r-- | arch/mips/math-emu/dp_simple.c | 39 | 
1 files changed, 10 insertions, 29 deletions
diff --git a/arch/mips/math-emu/dp_simple.c b/arch/mips/math-emu/dp_simple.c index 79ce2673a71..bccbe90efce 100644 --- a/arch/mips/math-emu/dp_simple.c +++ b/arch/mips/math-emu/dp_simple.c @@ -5,8 +5,6 @@   * MIPS floating point support   * Copyright (C) 1994-2000 Algorithmics Ltd.   * - * ######################################################################## - *   *  This program is free software; you can distribute it and/or modify it   *  under the terms of the GNU General Public License (Version 2) as   *  published by the Free Software Foundation. @@ -18,33 +16,17 @@   *   *  You should have received a copy of the GNU General Public License along   *  with this program; if not, write to the Free Software Foundation, Inc., - *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA. - * - * ######################################################################## + *  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.   */ -  #include "ieee754dp.h" -int ieee754dp_finite(ieee754dp x) -{ -	return DPBEXP(x) != DP_EMAX + 1 + DP_EBIAS; -} - -ieee754dp ieee754dp_copysign(ieee754dp x, ieee754dp y) -{ -	CLEARCX; -	DPSIGN(x) = DPSIGN(y); -	return x; -} - - -ieee754dp ieee754dp_neg(ieee754dp x) +union ieee754dp ieee754dp_neg(union ieee754dp x)  {  	COMPXDP;  	EXPLODEXDP; -	CLEARCX; +	ieee754_clearcx();  	FLUSHXDP;  	/* @@ -55,30 +37,29 @@ ieee754dp ieee754dp_neg(ieee754dp x)  	DPSIGN(x) ^= 1;  	if (xc == IEEE754_CLASS_SNAN) { -		ieee754dp y = ieee754dp_indef(); -		SETCX(IEEE754_INVALID_OPERATION); +		union ieee754dp y = ieee754dp_indef(); +		ieee754_setcx(IEEE754_INVALID_OPERATION);  		DPSIGN(y) = DPSIGN(x); -		return ieee754dp_nanxcpt(y, "neg"); +		return ieee754dp_nanxcpt(y);  	}  	return x;  } - -ieee754dp ieee754dp_abs(ieee754dp x) +union ieee754dp ieee754dp_abs(union ieee754dp x)  {  	COMPXDP;  	EXPLODEXDP; -	CLEARCX; +	ieee754_clearcx();  	FLUSHXDP;  	/* Clear sign ALWAYS, irrespective of NaN */  	DPSIGN(x) = 0;  	if (xc == IEEE754_CLASS_SNAN) { -		SETCX(IEEE754_INVALID_OPERATION); -		return ieee754dp_nanxcpt(ieee754dp_indef(), "abs"); +		ieee754_setcx(IEEE754_INVALID_OPERATION); +		return ieee754dp_nanxcpt(ieee754dp_indef());  	}  	return x;  | 
