1 
2 static assert(2.0  * 3.0  ==  6 );
3 static assert(2.0  * 3.0i ==  6i);
4 static assert(2.0i * 3.0  ==  6i);
5 static assert(2.0i * 3.0i == -6 );
6 
7 static assert(2.0  * (4.0 + 3.0i) ==  8  + 6i);
8 static assert(2.0i * (4.0 + 3.0i) ==  8i - 6 );
9 static assert((4.0 + 3.0i) * 2.0  ==  8  + 6i);
10 static assert((4.0 + 3.0i) * 2.0i ==  8i - 6 );
11 static assert((4.0 + 3.0i) * (5 + 7i) ==  -1 + 43i );
12 
13 static assert((2.0).re == 2);
14 static assert((2.0i).re == 0);
15 static assert((3+2.0i).re == 3);
16 
17 static assert((4.0i).im == 4);
18 static assert((2.0i).im == 2);
19 static assert((3+2.0i).im == 2);
20 
21 static assert(6.0 / 2.0 == 3);
22 static assert(6i / 2i ==  3);
23 static assert(6  / 2i == -3i);
24 static assert(6i / 2  ==  3i);
25 
26 static assert((6 + 4i) / 2 == 3 + 2i);
27 static assert((6 + 4i) / 2i == -3i + 2);
28 
29 //static assert(2 / (6 + 4i) == -3i);
30 //static assert(2i / (6 + 4i)  ==  3i);
31 //static assert((1 + 2i) / (6 + 4i)  ==  3i);
32 
33 static assert(6.0 % 2.0 == 0);
34 static assert(6.0 % 3.0 == 0);
35 static assert(6.0 % 4.0 == 2);
36 
37 static assert(6.0i % 2.0i == 0);
38 static assert(6.0i % 3.0i == 0);
39 static assert(6.0i % 4.0i == 2i);
40 
41 
42