# HG changeset patch # User thomask # Date 1164835230 0 # Node ID d75d907a68bbab3222dd9f6ba7455aa17f923e64 # Parent eb667a69ce7a28daa69675c0a001c415de2ce113 [Issue 614] New: Real and imaginary properties of complex numbers not allowed as template arguments Sean Kelly 2006-11-27 news:bug-614-3@http.d.puremagic.com/issues/ diff -r eb667a69ce7a -r d75d907a68bb compile/c/cdouble_12_A.d --- /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 +// @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); diff -r eb667a69ce7a -r d75d907a68bb compile/c/cdouble_12_B.d --- /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 +// @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); diff -r eb667a69ce7a -r d75d907a68bb compile/c/cfloat_12_A.d --- /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 +// @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); diff -r eb667a69ce7a -r d75d907a68bb compile/c/cfloat_12_B.d --- /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 +// @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); diff -r eb667a69ce7a -r d75d907a68bb compile/c/creal_37_A.d --- /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 +// @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); diff -r eb667a69ce7a -r d75d907a68bb compile/c/creal_37_B.d --- /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 +// @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);