%description:
test IPv6Address prefix mask generation

%includes:
#include "inet/networklayer/contract/ipv6/IPv6Address.h"

%global:

using namespace inet;

%activity:
for (int i=0; i<=128; i++)
{
    uint32 mask[4];
    IPv6Address::constructMask(i, mask);
    EV << i << "  " << IPv6Address(mask[0], mask[1], mask[2], mask[3]) << "\n";
}
EV << ".\n";

%contains: stdout
0  <unspec>
1  8000::
2  c000::
3  e000::
4  f000::
5  f800::
6  fc00::
7  fe00::
8  ff00::
9  ff80::
10  ffc0::
11  ffe0::
12  fff0::
13  fff8::
14  fffc::
15  fffe::
16  ffff::
17  ffff:8000::
18  ffff:c000::
19  ffff:e000::
20  ffff:f000::
21  ffff:f800::
22  ffff:fc00::
23  ffff:fe00::
24  ffff:ff00::
25  ffff:ff80::
26  ffff:ffc0::
27  ffff:ffe0::
28  ffff:fff0::
29  ffff:fff8::
30  ffff:fffc::
31  ffff:fffe::
32  ffff:ffff::
33  ffff:ffff:8000::
34  ffff:ffff:c000::
35  ffff:ffff:e000::
36  ffff:ffff:f000::
37  ffff:ffff:f800::
38  ffff:ffff:fc00::
39  ffff:ffff:fe00::
40  ffff:ffff:ff00::
41  ffff:ffff:ff80::
42  ffff:ffff:ffc0::
43  ffff:ffff:ffe0::
44  ffff:ffff:fff0::
45  ffff:ffff:fff8::
46  ffff:ffff:fffc::
47  ffff:ffff:fffe::
48  ffff:ffff:ffff::
49  ffff:ffff:ffff:8000::
50  ffff:ffff:ffff:c000::
51  ffff:ffff:ffff:e000::
52  ffff:ffff:ffff:f000::
53  ffff:ffff:ffff:f800::
54  ffff:ffff:ffff:fc00::
55  ffff:ffff:ffff:fe00::
56  ffff:ffff:ffff:ff00::
57  ffff:ffff:ffff:ff80::
58  ffff:ffff:ffff:ffc0::
59  ffff:ffff:ffff:ffe0::
60  ffff:ffff:ffff:fff0::
61  ffff:ffff:ffff:fff8::
62  ffff:ffff:ffff:fffc::
63  ffff:ffff:ffff:fffe::
64  ffff:ffff:ffff:ffff::
65  ffff:ffff:ffff:ffff:8000::
66  ffff:ffff:ffff:ffff:c000::
67  ffff:ffff:ffff:ffff:e000::
68  ffff:ffff:ffff:ffff:f000::
69  ffff:ffff:ffff:ffff:f800::
70  ffff:ffff:ffff:ffff:fc00::
71  ffff:ffff:ffff:ffff:fe00::
72  ffff:ffff:ffff:ffff:ff00::
73  ffff:ffff:ffff:ffff:ff80::
74  ffff:ffff:ffff:ffff:ffc0::
75  ffff:ffff:ffff:ffff:ffe0::
76  ffff:ffff:ffff:ffff:fff0::
77  ffff:ffff:ffff:ffff:fff8::
78  ffff:ffff:ffff:ffff:fffc::
79  ffff:ffff:ffff:ffff:fffe::
80  ffff:ffff:ffff:ffff:ffff::
81  ffff:ffff:ffff:ffff:ffff:8000::
82  ffff:ffff:ffff:ffff:ffff:c000::
83  ffff:ffff:ffff:ffff:ffff:e000::
84  ffff:ffff:ffff:ffff:ffff:f000::
85  ffff:ffff:ffff:ffff:ffff:f800::
86  ffff:ffff:ffff:ffff:ffff:fc00::
87  ffff:ffff:ffff:ffff:ffff:fe00::
88  ffff:ffff:ffff:ffff:ffff:ff00::
89  ffff:ffff:ffff:ffff:ffff:ff80::
90  ffff:ffff:ffff:ffff:ffff:ffc0::
91  ffff:ffff:ffff:ffff:ffff:ffe0::
92  ffff:ffff:ffff:ffff:ffff:fff0::
93  ffff:ffff:ffff:ffff:ffff:fff8::
94  ffff:ffff:ffff:ffff:ffff:fffc::
95  ffff:ffff:ffff:ffff:ffff:fffe::
96  ffff:ffff:ffff:ffff:ffff:ffff::
97  ffff:ffff:ffff:ffff:ffff:ffff:8000:0
98  ffff:ffff:ffff:ffff:ffff:ffff:c000:0
99  ffff:ffff:ffff:ffff:ffff:ffff:e000:0
100  ffff:ffff:ffff:ffff:ffff:ffff:f000:0
101  ffff:ffff:ffff:ffff:ffff:ffff:f800:0
102  ffff:ffff:ffff:ffff:ffff:ffff:fc00:0
103  ffff:ffff:ffff:ffff:ffff:ffff:fe00:0
104  ffff:ffff:ffff:ffff:ffff:ffff:ff00:0
105  ffff:ffff:ffff:ffff:ffff:ffff:ff80:0
106  ffff:ffff:ffff:ffff:ffff:ffff:ffc0:0
107  ffff:ffff:ffff:ffff:ffff:ffff:ffe0:0
108  ffff:ffff:ffff:ffff:ffff:ffff:fff0:0
109  ffff:ffff:ffff:ffff:ffff:ffff:fff8:0
110  ffff:ffff:ffff:ffff:ffff:ffff:fffc:0
111  ffff:ffff:ffff:ffff:ffff:ffff:fffe:0
112  ffff:ffff:ffff:ffff:ffff:ffff:ffff:0
113  ffff:ffff:ffff:ffff:ffff:ffff:ffff:8000
114  ffff:ffff:ffff:ffff:ffff:ffff:ffff:c000
115  ffff:ffff:ffff:ffff:ffff:ffff:ffff:e000
116  ffff:ffff:ffff:ffff:ffff:ffff:ffff:f000
117  ffff:ffff:ffff:ffff:ffff:ffff:ffff:f800
118  ffff:ffff:ffff:ffff:ffff:ffff:ffff:fc00
119  ffff:ffff:ffff:ffff:ffff:ffff:ffff:fe00
120  ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00
121  ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80
122  ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffc0
123  ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffe0
124  ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0
125  ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff8
126  ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc
127  ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe
128  ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
.
