aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.test/compilable/const.d
blob: 9b97037baa0579d271fa2cffa1e20bc7f39ffa03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

static assert(2.0  * 3.0  ==  6 );
static assert(2.0  * 3.0i ==  6i);
static assert(2.0i * 3.0  ==  6i);
static assert(2.0i * 3.0i == -6 );

static assert(2.0  * (4.0 + 3.0i) ==  8  + 6i);
static assert(2.0i * (4.0 + 3.0i) ==  8i - 6 );
static assert((4.0 + 3.0i) * 2.0  ==  8  + 6i);
static assert((4.0 + 3.0i) * 2.0i ==  8i - 6 );
static assert((4.0 + 3.0i) * (5 + 7i) ==  -1 + 43i );

static assert((2.0).re == 2);
static assert((2.0i).re == 0);
static assert((3+2.0i).re == 3);

static assert((4.0i).im == 4);
static assert((2.0i).im == 2);
static assert((3+2.0i).im == 2);

static assert(6.0 / 2.0 == 3);
static assert(6i / 2i ==  3);
static assert(6  / 2i == -3i);
static assert(6i / 2  ==  3i);

static assert((6 + 4i) / 2 == 3 + 2i);
static assert((6 + 4i) / 2i == -3i + 2);

//static assert(2 / (6 + 4i) == -3i);
//static assert(2i / (6 + 4i)  ==  3i);
//static assert((1 + 2i) / (6 + 4i)  ==  3i);

static assert(6.0 % 2.0 == 0);
static assert(6.0 % 3.0 == 0);
static assert(6.0 % 4.0 == 2);

static assert(6.0i % 2.0i == 0);
static assert(6.0i % 3.0i == 0);
static assert(6.0i % 4.0i == 2i);