mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 13:10:12 +03:00
41 lines
692 B
D
41 lines
692 B
D
/+
|
|
REQUIRED_ARGS: -d
|
|
RUN_OUTPUT:
|
|
---
|
|
float: 1 == 1
|
|
double: 1 == 1
|
|
real: 1 == 1
|
|
ifloat: 1 == 1
|
|
idouble: 1 == 1
|
|
ireal: 1 == 1
|
|
cfloat: 1 == 1
|
|
cdouble: 1 == 1
|
|
creal: 1 == 1
|
|
---
|
|
+/
|
|
|
|
import core.stdc.stdio : printf;
|
|
|
|
void test(T, string lit)()
|
|
{
|
|
T d = mixin(lit);
|
|
bool runtime = cast(bool) d;
|
|
bool folded = cast(bool) mixin(lit);
|
|
|
|
printf((T.stringof ~ ": %d == %d\n\0").ptr, runtime, folded);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
test!(float, "0.5f");
|
|
test!(double, "0.5" );
|
|
test!(real, "0.5L");
|
|
|
|
test!(ifloat, "0.5i");
|
|
test!(idouble, "0.5i");
|
|
test!(ireal, "0.5i");
|
|
|
|
test!(cfloat, "0.3 + 0.5i");
|
|
test!(cdouble, "0.3 + 0.5i");
|
|
test!(creal, "0.3 + 0.5i");
|
|
}
|