Mercurial > projects > dstress
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);