1d724f3f |
1 | # Test vectors for low-level MP functions |
2 | # |
3 | # $Id: mpx,v 1.1 1999/11/13 01:52:59 mdw Exp $ |
4 | |
5 | # --- Load-store tests --- |
6 | # |
7 | # The test loads each number, as both big- and little-endian, and compares it |
8 | # against the original octet version using a different method. It then |
9 | # stores the value to another octet array and compares. This is done for |
10 | # various sizes of MP, to ensure that truncation works correctly. |
11 | |
12 | load-store { |
13 | ""; |
14 | 00; |
15 | 0123; |
16 | 0123456789abcdef0123456789abcdef0123456789ab; |
17 | 00000123456789abcdef01234789abcdef0123456789ab; |
18 | 0123456789abcdef23456789abcdef0123456789ab0000; |
19 | 80f8c5606bff51bac932859a4fb6331c4023b32b65cd95f4edc1d1c919fcc078; |
20 | 522f8b1de257972a25ec49c9ff56340e2684e847ef2fa4d5714d7c8d454e90f6; |
21 | } |
22 | |
23 | # --- Shift tests --- |
24 | |
25 | lsl { |
26 | |
27 | # --- Simple sanity checks --- |
28 | |
29 | 01 2 04; |
30 | 01 4 10; |
31 | |
32 | # --- Copy shifts --- |
33 | |
34 | 01 0 01; |
35 | 0123456789abcdef0123456789abcdef 0 0123456789abcdef0123456789abcdef; |
36 | |
37 | # --- Single bit shifts --- |
38 | |
39 | 01 1 02; |
40 | ff000000 1 01fe000000; |
41 | |
42 | # --- Word-size shifts (assumes 32-bit words) --- |
43 | |
44 | 0123456789abcdef0123456789abcdef 32 |
45 | 0123456789abcdef0123456789abcdef00000000; |
46 | |
47 | # --- Random tests --- |
48 | |
49 | bcc239a4d4abb0e831dd8a0ea6115a04 72 |
50 | bcc239a4d4abb0e831dd8a0ea6115a04000000000000000000; |
51 | |
52 | 2b355f77dd25d38d36f4491e99953632 16 |
53 | 2b355f77dd25d38d36f4491e999536320000; |
54 | |
55 | ee07dc8438368ea7ec21bf193be9aa61 5 |
56 | 1dc0fb908706d1d4fd8437e3277d354c20; |
57 | |
58 | 509780c8ff8277649e8f2a62b11972f7 72 |
59 | 509780c8ff8277649e8f2a62b11972f7000000000000000000; |
60 | |
61 | 0afa722d181a44a2472ec3a8831d9232 64 |
62 | 0afa722d181a44a2472ec3a8831d92320000000000000000; |
63 | |
64 | ddaddd8f1f959603695c0afb1a438182 25 |
65 | 01bb5bbb1e3f2b2c06d2b815f634870304000000; |
66 | |
67 | cec1f22febfb47811a321daac9446798 63 |
68 | 6760f917f5fda3c08d190ed564a233cc0000000000000000; |
69 | |
70 | 797589c9cf931930f6005eb774e7023d 29 |
71 | 0f2eb13939f263261ec00bd6ee9ce047a0000000; |
72 | |
73 | 9aa77a79a9f189b96b2dd657efe3b64f 24 |
74 | 9aa77a79a9f189b96b2dd657efe3b64f000000; |
75 | |
76 | b6c14bf06adf6c54ae0cd644b7cd5665 67 |
77 | 05b60a5f8356fb62a57066b225be6ab3280000000000000000; |
78 | |
79 | f08c1a2da72f8d1cd459a95d1abb37c1 99 |
80 | 078460d16d397c68e6a2cd4ae8d5d9be08000000000000000000000000; |
81 | |
82 | 62eb1217d11d32e36388c2a0a793396a 78 |
83 | 18bac485f4474cb8d8e230a829e4ce5a80000000000000000000; |
84 | |
85 | c6f42d4e8961489e9f7da8c23322be61 101 |
86 | 18de85a9d12c2913d3efb518466457cc20000000000000000000000000; |
87 | |
88 | 21e4331e965b142bda426a86267c8b33 31 |
89 | 10f2198f4b2d8a15ed213543133e459980000000; |
90 | |
91 | 0b0a787510b01537010ef5f9d23fe3c2 54 |
92 | 02c29e1d442c054dc043bd7e748ff8f080000000000000; |
93 | |
94 | 4e78f26838f7173f8f56f688cc45eb22 90 |
95 | 0139e3c9a0e3dc5cfe3d5bda233117ac880000000000000000000000; |
96 | |
97 | 0788ff83ce364e53c95203b68898563c 82 |
98 | 1e23fe0f38d9394f25480eda226158f000000000000000000000; |
99 | |
100 | 5824b46fef8fa064f9b0c4a54ca76314 68 |
101 | 05824b46fef8fa064f9b0c4a54ca7631400000000000000000; |
102 | |
103 | d00663fdb9fb48f0d5a828c590a5e545 115 |
104 | 0680331fedcfda4786ad41462c852f2a280000000000000000000000000000; |
105 | |
106 | 5a075e7730281f73721aff78bae971e1 62 |
107 | 1681d79dcc0a07dcdc86bfde2eba5c784000000000000000; |
108 | } |
109 | |
110 | lsr { |
111 | |
112 | # --- Simple sanity checks --- |
113 | |
114 | 04 2 01; |
115 | 10 4 01; |
116 | |
117 | # --- Copy shifts --- |
118 | |
119 | 01 0 01; |
120 | 0123456789abcdef0123456789abcdef 0 0123456789abcdef0123456789abcdef; |
121 | |
122 | # --- Single bit shifts --- |
123 | |
124 | 02 1 01; |
125 | 01fe000000 1 ff000000; |
126 | |
127 | # --- Word-size shifts (assumes 32-bit words) --- |
128 | |
129 | 0123456789abcdef0123456789abcdef 32 |
130 | 0123456789abcdef01234567; |
131 | |
132 | # --- Random tests --- |
133 | |
134 | 5e16f1a9af75c78c1b59fd8fc04ddd9c 33 |
135 | 2f0b78d4d7bae3c60dacfec7; |
136 | |
137 | a0bce1b785e7c8e67c4402bdff0ce280 61 |
138 | 0505e70dbc2f3e4733; |
139 | |
140 | a5973431b4be31362e95ab483ed9b3ba 21 |
141 | 052cb9a18da5f189b174ad5a41f6; |
142 | |
143 | 823ab9448d831601c35e46eac564b0bf 86 |
144 | 0208eae51236; |
145 | |
146 | da5f73cfba0031e51fb4b379af1cf245 89 |
147 | 6d2fb9e7dd; |
148 | |
149 | 17e0aec0bad38775e81fce8ae128b17b 48 |
150 | 17e0aec0bad38775e81f; |
151 | |
152 | 39b8f703b08c453f726b41119198d44f 110 |
153 | e6e3; |
154 | |
155 | e3f998f9fc256ffaac02e56d7b8ea93c 78 |
156 | 038fe663e7f095; |
157 | |
158 | 617cb59206909241eaccca7c94740412 89 |
159 | 30be5ac903; |
160 | |
161 | 76ecfa69b18b41373011f2ef45dc3466 31 |
162 | edd9f4d36316826e6023e5de; |
163 | |
164 | 7ccb864e1f0f8ed89718664670f40275 44 |
165 | 07ccb864e1f0f8ed897186; |
166 | |
167 | 50f626568657734cdf0f967dcf49fbe4 55 |
168 | a1ec4cad0caee699be; |
169 | |
170 | 688c4006c4e3de849b39f507668e1972 35 |
171 | 0d118800d89c7bd093673ea0; |
172 | |
173 | 634b9be8fe592427f0908d876276ad9e 36 |
174 | 0634b9be8fe592427f0908d8; |
175 | |
176 | e8a61ffa8f3a38f58e456ba733d9c04c 71 |
177 | 01d14c3ff51e7471; |
178 | |
179 | ec193ba3b8f943b51a0d9c07cbbc8ef5 74 |
180 | 3b064ee8ee3e50; |
181 | |
182 | 9bcddc16266b3eddd8cdc6d6308782a3 23 |
183 | 01379bb82c4cd67dbbb19b8dac61; |
184 | |
185 | a2a882380b875b1d7f5be67277ed9f89 61 |
186 | 05154411c05c3ad8eb; |
187 | |
188 | e47aad1d2f5562c9c24c665f12284b0f 38 |
189 | 0391eab474bd558b27093199; |
190 | |
191 | a7783518dd7185c0462bb185e4094644 58 |
192 | 29de0d46375c617011; |
193 | } |
194 | |
195 | # --- Arithmetic tests --- |
196 | # |
197 | # For each of the fundamental operations, there's a sequence of simple tests |
198 | # which ensure that the functions are working even slightly correctly. Then |
199 | # there are some tests aimed at limit conditions in the algorithm. Finally, |
200 | # some random tests dreamed up by the Perl script `mpx-gen.pl' are given. |
201 | |
202 | uadd { |
203 | |
204 | # --- Simple sanity checks --- |
205 | |
206 | 00 00 00; |
207 | 00 01 01; |
208 | 01 00 01; |
209 | |
210 | # --- Carry propagation tests --- |
211 | |
212 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
213 | 01 |
214 | 0100000000000000000000000000000000000000000000000000000000; |
215 | |
216 | 01 |
217 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
218 | 0100000000000000000000000000000000000000000000000000000000; |
219 | |
220 | 7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80 |
221 | 80808080808080808080808080808080 |
222 | 0100000000000000000000000000000000; |
223 | |
224 | # --- Random data tests --- |
225 | |
226 | 44cd8885b07bd0da90c0936c150b12120f63cfa1cb4aadc38a272acd37213d7b |
227 | efc5009f41d17ad2920d3fa71852b928b589c980d377445e9f6e2cd69069527f |
228 | 0134928924f24d4bad22cdd3132d5dcb3ac4ed99229ec1f222299557a3c78a8ffa; |
229 | |
230 | c73052fa5512dfb9eb28346277591dac7c48b71259f2a7c99baebb676562572c |
231 | 92aa26e8bc06a1a82fd50ba72e2853ab710abecafd6694981450007ab357a646 |
232 | 0159da79e3111981621afd4009a5817157ed5375dd57593c61affebbe218b9fd72; |
233 | |
234 | 29974053a6a851f0f91c21854515fc5345f370f7dce64afc2fbce307f217181c |
235 | af596f5502c146fbdd6881237d7e76c272e7b94ece044afec02e05b3451ecff5 |
236 | d8f0afa8a96998ecd684a2a8c2947315b8db2a46aaea95faefeae8bb3735e811; |
237 | |
238 | df49df444cdb33c514f048414aa0ce79727a33ca9edfb3ec70a83c37d12db9b1 |
239 | 7798f5c37328888819d0c9647098dee31211adb1f1619d6209da99db08528d7f |
240 | 0156e2d507c003bc4d2ec111a5bb39ad5c848be17c9041514e7a82d612d9804730; |
241 | |
242 | 9f79382bec6690faf222e274b103b0c3d41c3b322f5434ecbdad4883361f0ed6 |
243 | 98470184ae917fa0b361156564c62839e2646b11b8a0fe754d47f98466085afe |
244 | 0137c039b09af8109ba583f7da15c9d8fdb680a643e7f533620af542079c2769d4; |
245 | |
246 | f0351c4eba4c71674ff8cf26dd0dd5ff40d26dcb03f582812f3dbd237ecaf66f |
247 | 0012bdba5f2f22ae28f1d405ffaa043f7d710a80668d0296cabfba4989b0b889 |
248 | f047da09197b941578eaa32cdcb7da3ebe43784b6a828517f9fd776d087baef8; |
249 | |
250 | 06f706cef447e3fdb36f5604707b3e40db808c6641f07ac1fd539fda89e7a48f |
251 | dfab5dd3f241d0a5b127aa21a2e8617e69eee5aadf5f6bddb30bb73cf35bcbd2 |
252 | e6a264a2e689b4a36497002613639fbf456f7211214fe69fb05f57177d437061; |
253 | |
254 | c3e6631ee694b69218154d10f19626362f71b29458b96e8a5348a35a1d981fe0 |
255 | 7e83fe6517b4f730ca4541bcdc67f30cd9a5a0315f0ebcb2565f0d73f72d5476 |
256 | 01426a6183fe49adc2e25a8ecdcdfe1943091752c5b7c82b3ca9a7b0ce14c57456; |
257 | |
258 | 92b69d7e5cad1ff6271375b532c5c37802ef579375490104b0ac13d1af93bd41 |
259 | 4a5abfa608df9d2ff212e425d7a79dda97f56d0c3f6f10ef1b24c1cab77e0c01 |
260 | dd115d24658cbd26192659db0a6d61529ae4c49fb4b811f3cbd0d59c6711c942; |
261 | |
262 | caee73c8e35cf5dc4c11e0b70078e798168d9a70d0a4f18f7d511c73c99a8e93 |
263 | 89025c6d5f514aab622a6262a34afbb9d89629a93a1b39b86c562c36f0bbc97a |
264 | 0153f0d03642ae4087ae3c4319a3c3e351ef23c41a0ac02b47e9a748aaba56580d; |
265 | |
266 | 89fdfe850befa6d52d66d310703853298ba0db3ed2316569d1d5784e070ca391 |
267 | 0aa2171591bdeabf23bed094f724be82c499c197ca27009cfc78ea04858d958f |
268 | 94a0159a9dad91945125a3a5675d11ac503a9cd69c586606ce4e62528c9a3920; |
269 | |
270 | 5587392e6ac948f8526165f810ece85e36de8e100c0dfbcd0aecc4ca03242958 |
271 | ab6287162bd00f7e31757641615fa0973d2ea84a3ca4184690dc1093013aecad |
272 | 0100e9c0449699587683d6dc39724c88f5740d365a48b214139bc8d55d045f1605; |
273 | |
274 | d5c8a06c311bb9970caee9bd4b7f58189dc3e221078d0d6a45968d0cb608898c |
275 | d02af80145b2995160820fab0267c49f2ba6c13334ce9d79652a851c320fa803 |
276 | 01a5f3986d76ce52e86d30f9684de71cb7c96aa3543c5baae3aac11228e818318f; |
277 | |
278 | ca33cb876803ee0bbdfce0323fe5e16696be8c6aec737e291cdc109a04adb1cf |
279 | e17c574a8045553e413570811b51e8b110741cfde89b26057836a07de3514cc5 |
280 | 01abb022d1e8494349ff3250b35b37ca17a732a968d50ea42e9512b117e7fefe94; |
281 | |
282 | dacd4ef6e248346fafb0d415af59679ce7bfcbca350b54891754736e691df743 |
283 | eb453ace8d6f3d3c201152cf6aba6c5279381daf4471395bc5adca2fcac172b5 |
284 | 01c61289c56fb771abcfc226e51a13d3ef60f7e979797c8de4dd023d9e33df69f8; |
285 | } |
286 | |
287 | usub { |
288 | |
289 | # --- Simple sanity tests --- |
290 | |
291 | 01 00 01; |
292 | 02 01 01; |
293 | 05 03 02; |
294 | |
295 | # --- Carry propagation tests --- |
296 | |
297 | 0100000000 01 ffffffff; |
298 | 010000000000000000 01 ffffffffffffffff; |
299 | |
300 | # --- Random data tests --- |
301 | |
302 | c41ffa68b595f9a1928b6d88b1f090e1f530a68fabd0d984a428e37e757ef039 |
303 | 9deba253809cf51228639ada532bbb495b62d90632b28bd7db6f5551ed468b8b |
304 | 2634581534f9048f6a27d2ae5ec4d59899cdcd89791e4dacc8b98e2c883864ae; |
305 | |
306 | a0b3854388ab68fdee71148082d258cb2ef472317304e06ab86216fdc7317067 |
307 | 2d3a9812a3d42524754309169110bed7485b9ba7027e91aff7b481ab44651b72 |
308 | 7378ed30e4d743d9792e0b69f1c199f3e698d68a70864ebac0ad955282cc54f5; |
309 | |
310 | 3dc1ee5c9378abc228f30a498e56286289eaafd22e886c375a0f68a1cc4f2d0a |
311 | 111c66a4951266bd05710693c82ff5511aa423482d9080879fe8296c38577649 |
312 | 2ca587b7fe664505238203b5c62633116f468c8a00f7ebafba273f3593f7b6c1; |
313 | |
314 | fe9b804e286cec9c9d692bfda5d37fbb49c352e02bdfb864153e40024e041e4c |
315 | 2deed6644f8deb9e73317c8e5f3ca8821675449696678dd8393585dbed0fc41b |
316 | d0aca9e9d8df00fe2a37af6f4696d739334e0e4995782a8bdc08ba2660f45a31; |
317 | |
318 | ac29a21eface012500e45ddcadec251000b2862a08e19025e5179c2993fc183f |
319 | aa30c9b372d02ce22b32e237dbc98e4862148d7529555b651c038776437b60ee |
320 | 01f8d86b87fdd442d5b17ba4d22296c79e9df8b4df8c34c0c91414b35080b751; |
321 | |
322 | c7ee50b4057c5d6cba06edbd688d1e6eb39325f9ac8161e8c7aac219f6ae56bd |
323 | 9ca672a123d00dddd6fb9a3f88b8ad3c4bd236f85397e11a41a43438528af6ee |
324 | 2b47de12e1ac4f8ee30b537ddfd4713267c0ef0158e980ce86068de1a4235fcf; |
325 | |
326 | 8d659c5d85060904a8fd896e66893d169345e7854a5402a94ed7f2855472c1e1 |
327 | 0510e560d0206aac7ea1f484c668ffceb00a07d1f1046d7d5ff9d448377c803c |
328 | 8854b6fcb4e59e582a5b94e9a0203d47e33bdfb3594f952beede1e3d1cf641a5; |
329 | |
330 | aa61e8465ac278e26d74a939726545fa734b0df8a1f9fb55b58f223e61a4970c |
331 | 0680536142cc43af40ece8b3522eadc57ababe1bb4b971694894a8aa393fb63f |
332 | a3e194e517f635332c87c08620369834f8904fdced4089ec6cfa79942864e0cd; |
333 | |
334 | 8155e4dacaa29374d584cde1139b0c0f02bd3bfbb8408747017d59f97ace3cfc |
335 | 2320d7eec36a6298ef2f7a02cb8712cd444dc9fd8e51458fce9f89496dc54590 |
336 | 5e350cec073830dbe65553de4813f941be6f71fe29ef41b732ddd0b00d08f76c; |
337 | |
338 | eaadcec668ec474fab18c6e1aca9d048eee832d90129af092394f11131eb4e1c |
339 | 991ce202092952b5421896efc26637b04f6a8a5194395ab7ce4cc9ff37171cd1 |
340 | 5190ecc45fc2f49a69002ff1ea4398989f7da8876cf0545155482711fad4314b; |
341 | |
342 | 610a9c737e8b0854d4362bd5dfcba7b73bfb05ca0082efcbcf3b08b41f051281 |
343 | 0faff48e3afde20f330ee412da8cc91588cfdf8951ce5421095dd62962e8aa72 |
344 | 515aa7e5438d2645a12747c3053edea1b32b2640aeb49baac5dd328abc1c680f; |
345 | |
346 | 344c313534bf5212d0f7bddb2e7d674c9b83fbbf372248f5b6aa2e481aa1f94e |
347 | 1fc4da8000e78d1dde10a4ab0b37bf8b1d1e1caf23b32688be946139916f72b1 |
348 | 148756b533d7c4f4f2e719302345a7c17e65df10136f226cf815cd0e8932869d; |
349 | |
350 | d4ee443b04b30d354b9573a6a1cf466d1c8d7921c65cd6af6a8992d8bb11578f |
351 | 11a170c467156fd13097883d5a0b5ca0cb4d460c0439e3b5e80eb2e36d327e7f |
352 | c34cd3769d9d9d641afdeb6947c3e9cc51403315c222f2f9827adff54dded910; |
353 | |
354 | 11e03f0bfd28ee2435aebd8873d43f09b98f4acc8db9b83ac4f8db8bef215500 |
355 | 011a9975f91de9e3260dc09952c517b795e54f4012fe6febac0a40a1c7f746c9 |
356 | 10c5a596040b04410fa0fcef210f275223a9fb8c7abb484f18ee9aea272a0e37; |
357 | |
358 | 54e22394a26744c5d192f1c002531b120a4966b18cc77db523dce28971ca34c5 |
359 | 43bffa793fc043b0226a4e2cef6f615a0fb72d54a64261cc285b5e2d6695e8aa |
360 | 1122291b62a70115af28a39312e3b9b7fa92395ce6851be8fb81845c0b344c1b; |
361 | |
362 | befad4be8c75125466021b8682d4a2bbd79cf28ea0d1225fa59cd6263ca76dfa |
363 | a241b82eb7cb831ece9ea45073460b4be3fed984cffce37498ba9bd46109cf04 |
364 | 1cb91c8fd4a98f35976377360f8e976ff39e1909d0d43eeb0ce23a51db9d9ef6; |
365 | } |
366 | |
367 | umul { |
368 | |
369 | # --- Simple sanity tests --- |
370 | |
371 | 01 00 00; |
372 | 00 01 00; |
373 | 01 45 45; |
374 | 45 01 45; |
375 | |
376 | # --- Random tests --- |
377 | |
378 | 1d84890139ea943aaff05e8050875ad3 |
379 | 4d4fa99f86fef735264ed3d4fc9c0019 |
380 | 08ea0caa89201aafce27f5cf8c2d0babe4add1023cdc5545522caa26e9cbde9b; |
381 | |
382 | a29dc17954d2401b8c523e6846b8801d |
383 | 95d8c5814661dbbd70e984eafa1a389c |
384 | 5f2f842c60d41962701062926eda9bc7c94b462db3f9f2f1bc85415ec96669ac; |
385 | |
386 | 7d8d16b1fdc261a8dab34a97a67b8b7d |
387 | 978d1c4cdffec143d9447d05763c7bf3 |
388 | 4a536cf99eef77cd30a115a77cdb8d9b47a84bc929a8ecc8b50864a1b29676a7; |
389 | |
390 | 74343b6d685b9973642a4c31e7211957 |
391 | 7799afe6dc99ef626ab3304bb6b3082b |
392 | 364a0aafdf95e4a8b3b337d1ffceff866eec36193aac68278ffa3c406d2ef99d; |
393 | |
394 | 0a09e7fc90bec4eb64cb10e4e75c6ad7 |
395 | 5dd5a810d092d68cc0371b2a9d5423a7 |
396 | 03adfa1beec3c996e9268e0cf27288ab3c88d6ff24b056d959661d1379711741; |
397 | |
398 | 10abe37b5f9c4ae712a1bb25521b18ce |
399 | 73663a4db4fdb6521651f41a78487289 |
400 | 0783df7910220f62eccf06aef2f0b36ee91947a8884851e7d6726db48b7c023e; |
401 | |
402 | 75142f87a6a86fc67402d57e96da6d20 |
403 | a24f01ef1d073eeb4284eeab096b6c7e |
404 | 4a3ae830f1a185b77964d7ac1827ceb576496c459d6fa43f5487db7421eb35c0; |
405 | |
406 | a53985bf9e73e36b24ebc5af72f9a33b |
407 | e706a52c88d692ed64ec71a09acb6040 |
408 | 951b31a3dbe0d2f49059f52f44672853ba121c666438696f85d49f004967eec0; |
409 | |
410 | 086ffb56c05db6a7f060d949b2fe21ff |
411 | 131f72a18f76808812702b7a7c79e684 |
412 | a158fe10dc686014a9711c0bd7458b2457c389664342d02612fbec331ba17c; |
413 | |
414 | 773ca7cff8e378f0d3bfbe137fe4afa4 |
415 | b97782907edfc90839902cb40a267981 |
416 | 56627f4766f72b93c37746612b8de68c1a0b36c2a9a6cde2d9959965039905a4; |
417 | |
418 | 6186ed3d76c5e6c016d0fc1ccbb96abb |
419 | c9fec3054270bed526231f3df361ca54 |
420 | 4cf3fe706ce56b18d083f35c101ee86ec6d32de26841d4d79877b75318e9935c; |
421 | |
422 | 030a3d74ce79826cff754fc113dc6e53 |
423 | 96ea50f14e74041715ca6b2b9a46889d |
424 | 01cac854ae86c8634d704250d001ae3b8225197da1715fc946afbd8b617dc0e7; |
425 | |
426 | df9c25f4901820bab91929b121f73b41 |
427 | c251d71d0403b22f7688efb8f9c7a7d9 |
428 | a9bbd110d3a63d38bd48d3e34d1a89c48f5959d11e1b52bfadce09d75abfa119; |
429 | |
430 | 58e0b78e3996fbe7369f42459abfa30e |
431 | 61349cb4f0ac16ae4caa4070a6d863fe |
432 | 21bf6999ee200e26c3007fa0d2a1eaf0a6d0046fb5cdc932e19e57744e0231e4; |
433 | |
434 | adb6347cc0f3ef1d6674ae34c9104a55 |
435 | d6a34db1ef09742382ac6acfb4408b62 |
436 | 91a51f9c3fb21ab593d5afe9bf5207ca76572ac09c8be9caabe25e7229d89b8a; |
437 | |
438 | 40b8c873e24afb21d82214f61ed54be0 |
439 | 63bff45ebfa43ca544a0889e4b0a038c |
440 | 1937fd2a7254468ffb3ad85e7936c055fdcc5877ee892ea2c97bdec4f3491e80; |
441 | |
442 | 0c48c20a8df571d8355bab32c2e04fea |
443 | 446bc105015217f874b25d5e2ce27238 |
444 | 03487f36ffe480457b9dc246ba542fed0eac52466650edb4feb1ff91493baf30; |
445 | } |
446 | |
447 | usqr { |
448 | |
449 | # --- Sanity check tests --- |
450 | |
451 | 00 00; |
452 | 01 01; |
453 | 02 04; |
454 | ff fe01; |
455 | |
456 | # --- Random tests --- |
457 | |
458 | 7b94927f1dc0fbb34cb3c0c604511e83 |
459 | 3ba81affdd67160ffb0cf4f97322efccd521a69f46696064ce84554c6a88f709; |
460 | |
461 | f15f0fc21e5e6a514ca7834b8d3e77c9 |
462 | e3941ef83038a10115d33778cf1b460b302b02ef9c1c08ab9f5dc4f7a7687bd1; |
463 | |
464 | d3998c40e8ea19ef4fa5c483b964b327 |
465 | aee6794bf25f5dc8d2ac51f0575c9ad1766e0f183d633adc77ebc474d1d78ff1; |
466 | |
467 | fd4c6079bd59baa679e1ac3c952dc5fc |
468 | faa00d7a0ce7501bb69d56439b259a426ec1fb7b37abe93a0365bec68bb5d010; |
469 | |
470 | c23e9dbaf7cf571cf0e9c1445ee7049f |
471 | 9362f660275524f7692cd1b9df042aa56f4ae0d7a51d27536c4eaa561b075ac1; |
472 | |
473 | ecd70f464c7093e2ee74fc2aa0dfbcf6 |
474 | db1d38d445ed4605e48cbacabf5225795ac9b0d92771e8465176c076400e3c64; |
475 | |
476 | 62f727e3f5eca344795ed878c15a1a68 |
477 | 264229288864fb8fa2b6066acfe65f3caad90b410bbfa19f97713d0763d94a40; |
478 | |
479 | fe9fe42b9b88a2be128ab395a96635b9 |
480 | fd41aca3c22c0b24552e3f88d666ef03ec7f1ec1116d86bf7fa75b171cb21fb1; |
481 | |
482 | 2a3e9ab5ec12067bd1e49276233d482d |
483 | 06f89a12ff13a4291fd40b9cb6c766b9c7796fb9f65d42f671d3ade3c7cb57e9; |
484 | |
485 | 5822befe400521765d0658d61ba2fb79 |
486 | 1e57e806160aebe8fb41bc8e51d80772cd93e76baac0a1f7f807671ac22a7f31; |
487 | |
488 | 279469187b9301a94ff00d401725d114 |
489 | 061e8e0f251ac43180b35cee5c4e95748594902a97ac84bfc9bc6327b289a990; |
490 | |
491 | 50eba27574d0144c1d0873d8dc70bba1 |
492 | 19941e6d13bf60702b12b3c36dde5958a0af3c1fe1cc6ee838b139d16e649b41; |
493 | |
494 | d5ef817ea1be4b65ecebd00bfbf5cd31 |
495 | b2c86d8fc519886dca10a1e77cf5874148315b14c48be0421c812e967a418361; |
496 | |
497 | d6787d5da30d4a031c7dd2f7bba1a11a |
498 | b3adaa4e51c7a7ad7055cfb219624209fd5140bb3464c541cb1d0f940415b6a4; |
499 | |
500 | 650b6ef5bd3ef19916d969a252088e74 |
501 | 27e20610a08a08916d2f82e7b17f2c2ea752b1ca997fc7dc62a0ee5b8684e490; |
502 | |
503 | c265ede35f7e35225fe5350a3afd161b |
504 | 939ea5222f336ae03249d96bac34e5e1e7af5725ca07a9330ad29054ef46a6d9; |
505 | |
506 | 6ee04a9584bcef1480526180d336fffb |
507 | 3005849b197570290520e5ff80f19517838a4975f217d952900be6c8bfda0019; |
508 | } |
509 | |
510 | udiv { |
511 | |
512 | # --- Simple tests --- |
513 | |
514 | 09 04 02 01; |
515 | ffe3 01 ffe3 00; |
516 | cdef fedc 00 cdef; |
517 | |
518 | # --- Random tests --- |
519 | |
520 | ccf89f84f1d372a1a22c3110057ea5029ed41f80b228b4d60f715a2c762aea43 |
521 | 8ac7135d39 |
522 | 017a1b1251a33756c0394200aaac9b92c34e3941f7376aca98fcef4f |
523 | 1a570ceeac; |
524 | |
525 | 70b42f42a8009b7487ef72d92d953e7875f504931a51fc8a12827526351074a6 |
526 | a4e86da483e12b735305a1e943195f391ef2546fefde827154 |
527 | aef59897fb0e23 |
528 | 54013b962521a1f3a188122c466499d2361b694091fdac5e2a; |
529 | |
530 | f34ad29dc7c79d103de95f949f7cea0bb281fb9c449d5d04f91bc1720bb19ffe |
531 | 729bc43939d47622340ac2b1f5ce6377ca00bb675dbf607881d3843372822fe4 |
532 | 02 |
533 | 0e134a2b541eb0cbd5d3da30b3e0231c1e8084cd891e9c13f574b90b26ad4036; |
534 | |
535 | 91ec8a90dce0998a829f7e1d14a19d67fbdc385e900499a4454e8b2cd75a8868 |
536 | 13f823f492ae76312c |
537 | 074eb2dee8aa8a051072fc85cda9b0eff449112b6814d00c |
538 | 0d9de812f2ea6c7a58; |
539 | |
540 | 2eead8eb14366761116edadf05e5158e1bfa3b083045cfed87f667de43502671 |
541 | ff5d4e35c5b04733 |
542 | 2f08bd1cf2e4f98dd3499c68d6d3964b24c9e439bde5719a |
543 | fa8e5da73038cec3; |
544 | |
545 | a9708c69513c742bceaca8aabf5346e8404cd0a2bf349d75d8a961780b6b06b4 |
546 | 921d2ccf92589e3f0048fe538ee794dbb7379aecd410c57d713e89dd |
547 | 0128de2fd4 |
548 | 18a1dc9645456613f27da18841d006b1a1238b82d8cb4a28b2ab48b0; |
549 | |
550 | 38c227704fedabc6510a9acbe75b7e4bfe28f8fd8f042056664580576254fd9b |
551 | 250c66 |
552 | 018831895ae3e9ad0e8648cebc387b8379e4bf897b25d18d77858ea91905 |
553 | 0fc99d; |
554 | |
555 | 827a593d2b359870f364c6aa20a5725df0e3cc3c84f072188b856dfdbb920e3e |
556 | 687b |
557 | 013fb30f46f66f3d85e29fbae0d5389df15d587cd9ece18e16d50c789d0055 |
558 | 5d67; |
559 | |
560 | 681f8273f0116c8a7210c79ad77eaa87f3f96b8178edf46c0a3be80b82632feb |
561 | b15e72c3cafc36dbc3d1b2427b3a3574a5 |
562 | 964868d951607b1ed391705aa3d9ef |
563 | 1cda643b01015c91184b150a6d938c6ce0; |
564 | |
565 | f93e69eeb878e055aceb9df3f0d3920d3a1d9dbd3cc894b0251ca8acbb3f40b5 |
566 | a9a33622848ccf6f29c260fd556d3772 |
567 | 0178224081d3eb75b2422bced0f03ee8be |
568 | 930cd441adbbb8db02013a2e0c54ca19; |
569 | |
570 | 8e458afb2147921fef71189dccc20dc6b6cb2766460599cd3b84bf69094ee098 |
571 | 6b93b5b225d4a297ed3f64af4d2b661852cd5f |
572 | 01529004c1b96fef630ad9ea8d6e |
573 | 668c578a24484fe7b96f434c2bafa9bac74ec6; |
574 | |
575 | 92b4756ef93bfae27e96c9c1e68b46aeaad82f65ba779ae36c34e008233891b6 |
576 | 0724e6431fc8c1b592839c1dc94ac8a17a2e5cf1c83f5efc20662059f8d6 |
577 | 1488f6 |
578 | 679029a6e071fde2065524719e8b24e29452cc17d5acbcf5adcfd9c412; |
579 | |
580 | d9f36f886f9e1971fd3c070a0156282803a733f747f2ec9df7c3a2172fe27808 |
581 | e8914686aab784e6bf8ee815b610195e4411a637fd442fc1e646f1 |
582 | efe925f08b |
583 | ed1ee96dac1ff9131c231eb19fbc2d033f9fc8f4fe886b83032d; |
584 | |
585 | dc283159b054eaee94a941d3c075f1231c992101ee17d7abea233125fed5efdb |
586 | 2034ae741f9c09c9dedc8953cdac7067ce7256e54902d06c34f66a09e5460705 |
587 | 06 |
588 | 1aec1aa0f2acb0335b7e09dcee6b4eb445eb17a23806f522ac5cb4ea9f31c5bd; |
589 | |
590 | 8bd46fce7eb788108fd223cf2be26ac36e48ab048fb622ec056e87efda1bab65 |
591 | 1a336ed2bc7e628ea231ba849b7ef2e429f773e01a60e688e8d5620380c8 |
592 | 05563a |
593 | 0ecee92e7189260c0b4b541fcbf2eea8c4a6822f1ad940072e98f4254e15; |
594 | |
595 | 049a44b4b7e4fca97415cb5bf2da86d15fe572cd5e5be03639f7b0730800960c |
596 | dac151bfbefa33d3c68fc6a0159700fa0ace5866 |
597 | 0562e0cfbfd280e5c6d15e2e |
598 | a27eb3df5b333ae2a1368bb64187357a43313fb8; |
599 | |
600 | e0ef0f2eee0cbfc761e1eae2c4056c9dc067194f56584c47396c24d791fcb171 |
601 | c0a0dbcc60a22e418d1106927da452e4bda23a16ee814f5ba626eca3d75e |
602 | 012aee |
603 | b9c6ad8e1f2812baf3682193555a6afff4dea36409aec2ce5d30d8f70c0d; |
604 | |
605 | 9097d696bbe69c0cb38186dc7fbc400c7325adf453026dac0392960e24dae8b5 |
606 | be4c2ca5e8395869bf35e97c75f6ef |
607 | c283fc9af122375dc1c7abac24f0267b3d |
608 | 4be3e17c0d0c7b8fa0300017a03cc2; |
609 | } |