changeset 1247:d75d907a68bb

[Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments Sean Kelly <sean@f4.ca> 2006-11-27 news:bug-614-3@http.d.puremagic.com/issues/
author thomask
date Wed, 29 Nov 2006 21:20:30 +0000
parents eb667a69ce7a
children 74988b516096
files compile/c/cdouble_12_A.d compile/c/cdouble_12_B.d compile/c/cfloat_12_A.d compile/c/cfloat_12_B.d compile/c/creal_37_A.d compile/c/creal_37_B.d
diffstat 6 files changed, 129 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/c/cdouble_12_A.d	Wed Nov 29 21:20:30 2006 +0000
@@ -0,0 +1,18 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Sean Kelly <sean@f4.ca>
+// @date@	2006-11-27
+// @uri@	news:bug-614-3@http.d.puremagic.com/issues/
+// @desc@	[Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments
+
+module dstress.compile.c.cdouble_12_A;
+
+const cdouble a = 1.0 + 2.0i;
+
+const double b = a.re;
+static assert(b == 1.0);
+
+const double c = a.im;
+static assert(c == 2.0);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/c/cdouble_12_B.d	Wed Nov 29 21:20:30 2006 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Sean Kelly <sean@f4.ca>
+// @date@	2006-11-27
+// @uri@	news:bug-614-3@http.d.puremagic.com/issues/
+// @desc@	[Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments
+
+module dstress.compile.c.cdouble_12_B;
+
+const cdouble a = 1.0 + 2.0i;
+
+template getRealPart(cdouble x){
+	const double getRealPart = x.re;
+}
+
+static assert(getRealPart!(a) == 1.0);
+
+
+template getImaginaryPart(cdouble x){
+	const double getImanginaryPart = x.im;
+}
+
+static assert(getImaginaryPart!(a) == 2.0);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/c/cfloat_12_A.d	Wed Nov 29 21:20:30 2006 +0000
@@ -0,0 +1,18 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Sean Kelly <sean@f4.ca>
+// @date@	2006-11-27
+// @uri@	news:bug-614-3@http.d.puremagic.com/issues/
+// @desc@	[Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments
+
+module dstress.compile.c.cfloat_12_A;
+
+const cfloat a = 1.0f + 2.0fi;
+
+const float b = a.re;
+static assert(b == 1.0f);
+
+const float c = a.im;
+static assert(c == 2.0f);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/c/cfloat_12_B.d	Wed Nov 29 21:20:30 2006 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Sean Kelly <sean@f4.ca>
+// @date@	2006-11-27
+// @uri@	news:bug-614-3@http.d.puremagic.com/issues/
+// @desc@	[Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments
+
+module dstress.compile.c.cfloat_12_B;
+
+const cfloat a = 1.0f + 2.0fi;
+
+template getRealPart(cfloat x){
+	const float getRealPart = x.re;
+}
+
+static assert(getRealPart!(a) == 1.0f);
+
+
+template getImaginaryPart(cfloat x){
+	const float getImanginaryPart = x.im;
+}
+
+static assert(getImaginaryPart!(a) == 2.0f);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/c/creal_37_A.d	Wed Nov 29 21:20:30 2006 +0000
@@ -0,0 +1,18 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Sean Kelly <sean@f4.ca>
+// @date@	2006-11-27
+// @uri@	news:bug-614-3@http.d.puremagic.com/issues/
+// @desc@	[Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments
+
+module dstress.compile.c.creali_37_A;
+
+const creal a = 1.0L + 2.0Li;
+
+const real b = a.re;
+static assert(b == 1.0L);
+
+const real c = a.im;
+static assert(c == 2.0L);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/c/creal_37_B.d	Wed Nov 29 21:20:30 2006 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Sean Kelly <sean@f4.ca>
+// @date@	2006-11-27
+// @uri@	news:bug-614-3@http.d.puremagic.com/issues/
+// @desc@	[Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments
+
+module dstress.compile.c.creal_37_B;
+
+const creal a = 1.0L + 2.0Li;
+
+template getRealPart(creal x){
+	const real getRealPart = x.re;
+}
+
+static assert(getRealPart!(a) == 1.0L);
+
+
+template getImaginaryPart(creal x){
+	const real getImanginaryPart = x.im;
+}
+
+static assert(getImaginaryPart!(a) == 2.0L);