25{
26 static const struct {
31 {
32 { 1, { 123, } },
33 { 1, { 456, } },
34 { 1, { 579, } },
35 },
36 {
37 { 1, { 0xffffffff, } },
38 { 1, { 3, } },
39 { 2, { 2, 1 } },
40 },
41 {
42 { 3, { 0xffffffff, 1, 0xffffffff } },
43 { 2, { 1, 0xfffffffe, } },
44 { 4, { 0, 0, 0, 1 } },
45 },
46 {
47 { 3, { 0xffffffff, 5, 0xffffffff } },
48 { 2, { 1, 0xfffffffe, } },
49 { 4, { 0, 4, 0, 1 } },
50 },
51 {
52 { 3, { 0xffffffff, 5, 0xffffffff } },
53 { 1, { 1, } },
54 { 3, { 0, 6, 0xffffffff } },
55 },
56 {
57 { 3, { 1, 0xffffffff, 1 } },
58 { 3, { 0xffffffff, 0, 1 } },
59 { 3, { 0, 0, 3 } },
60 },
61 {
62 { 1, { 1 } },
63 { 3, { 0xffffffff, 0xffffffff, 0xffffffff } },
64 { 4, { 0, 0, 0, 1 } },
65 },
66 {
67 { 1, { 0xffffffff } },
68 { 1, { 0xffffffff } },
69 { 2, { 0xfffffffe, 1 } },
70 },
71 {
72 { 2, { 0xffffffff, 0xffffffff } },
73 { 2, { 0xffffffff, 0xffffffff } },
74 { 3, { 0xfffffffe, 0xffffffff, 1 } },
75 },
76 {
77 { 3, { 0xffffffff, 0xffffffff, 0xffffffff } },
78 { 3, { 0xffffffff, 0xffffffff, 0xffffffff } },
79 { 4, { 0xfffffffe, 0xffffffff, 0xffffffff, 1 } },
80 },
81 {
82 { 4, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
83 { 4, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
84 { 5, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
85 },
86 {
87 { 5, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
88 { 5, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
89 { 6, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
90 },
91 {
92 { 6, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
93 { 6, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
94 { 7, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
95 },
96 {
97 { 7, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
98 { 8, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
99 { 8, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
100 },
101 {
102 { 8, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
103 { 8, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
104 { 9, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
105 },
106 {
107 { 9, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
108 { 9, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
109 {10, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
110 },
111 {
112 {10, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
113 {10, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
114 {11, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
115 },
116 {
117 {11, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
118 {11, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
119 {12, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
120 },
121 {
122 {12, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
123 {12, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
124 {13, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
125 },
126 {
127 {13, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
128 {13, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } },
129 {14, { 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 1 } },
130 },
131 };
139
142
145 }
146 {
147 const uint32_t in[] = { 0xffffffff, 0xffffffff };
148 const uint32_t out[] = { 0xfffffffe, 0xffffffff, 1 };
157 }
158 {
164
169
174
179
184 }
185}
static void add(VuintT &out, const VuintT &x, const VuintT &y)