diff run/ieee_754_zerosdq_01.d @ 496:e720ce827c1c

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