d: Merge upstream dmd 568496d5b, druntime 178c44ff, phobos 574bf883b.
[official-gcc.git] / gcc / testsuite / gdc.test / compilable / ctfe_math.d
blob65c99855b680b399eb8a1b80a976724fecffd8e2
1 // COMPILABLE_MATH_TEST
2 // Test CTFE builtins for std.math functions.
4 import std.math;
6 void main()
8 static assert(isClose(sin(2.0L), 0.9092974268));
9 static assert(isClose(cos(2.0), -0.4161468365));
10 static assert(isClose(tan(2.0f), -2.185040f, 1e-5));
11 static assert(isClose(sqrt(2.0L), 1.4142135623));
12 static assert(fabs(-2.0) == 2.0);
13 static assert(ldexp(2.5f, 3) == 20.0f);
15 static assert(isNaN(real.init));
16 static assert(isNaN(double.nan));
17 static assert(!isNaN(float.infinity));
19 static assert(isInfinity(real.infinity));
20 static assert(isInfinity(-double.infinity));
21 static assert(!isInfinity(float.nan));
23 static assert(isFinite(1.0L));
24 static assert(!isFinite(double.infinity));
25 static assert(!isFinite(float.nan));