diff run/creal_15.d @ 528:9e0847cf535a

pre DMD-0.123 review Walter <walter@digitalmars.com> 2005-05-11 mail:00a301c5567d$489cbf20$0200a8c0@colossus
author thomask
date Thu, 12 May 2005 11:13:04 +0000
parents f87ba6507260
children 5511f9277078
line wrap: on
line diff
--- a/run/creal_15.d	Thu May 12 00:16:05 2005 +0000
+++ b/run/creal_15.d	Thu May 12 11:13:04 2005 +0000
@@ -5,6 +5,32 @@
 module dstress.run.creal_15;
 
 int main(){
-	assert(creal.nan == real.nan + ireal.nan);
+	creal a = creal.nan;
+	creal b;
+	byte* X = cast(byte*)(cast(void*)&a);
+
+	b = real.nan + ireal.nan;
+	byte* Y = cast(byte*)(cast(void*)&b);
+
+	for(int i=0; i<a.sizeof; i++){
+		assert(X[i]==Y[i]);
+	}
+
+	real c= real.nan;
+	real d=a.re;
+	X = cast(byte*)(cast(void*)&c);
+	Y = cast(byte*)(cast(void*)&d);
+
+	for(int i=0; i<c.sizeof; i++){
+		assert(X[i]==Y[i]);
+	}
+
+	d=a.im;
+	X = cast(byte*)(cast(void*)&c);
+	Y = cast(byte*)(cast(void*)&d);
+	for(int i=0; i<c.sizeof; i++){
+		assert(X[i]==Y[i]);
+	}
+	
 	return 0;
 }