diff run/ieee_754_zerosdq_03.d @ 496:e720ce827c1c

added IEEE 754 tests for 0-handing
author thomask
date Thu, 28 Apr 2005 15:53:12 +0000
parents
children fbee62becd2c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/ieee_754_zerosdq_03.d	Thu Apr 28 15:53:12 2005 +0000
@@ -0,0 +1,40 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.ieee_754_zerosdq_03;
+
+// Check whether IEEE 754 signed zero is correctly supported.
+
+union S{
+	ifloat f;
+	uint[1] i;
+}
+
+int main(){
+	S s;
+	int top=0;
+
+
+	s.f = 0.0fi;
+	assert(s.i[top]==0x00000000);
+
+	s.f = -0.0fi;
+	assert(s.i[top]==0x80000000);
+
+	s.f = 0.0fi - 0.0fi;
+	assert(s.i[top]==0x00000000);
+
+	s.f = (-0.0fi) - 0.0fi;
+	assert(s.i[top]==0x80000000);
+
+	s.f = 0.0fi;
+	s.f *= 1.0fi;
+	assert(s.i[top]==0x00000000);
+
+	s.f = 0.0fi;
+	s.f *= -1.0fi;
+	assert(s.i[top]==0x80000000);
+
+	return 0;
+}