Skip to content

Commit 94670a7

Browse files
committed
remove hardcoded constants
1 parent 6474fa1 commit 94670a7

File tree

1 file changed

+20
-284
lines changed

1 file changed

+20
-284
lines changed

extensions/native/recursion/tests/sumcheck.rs

Lines changed: 20 additions & 284 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ use openvm_stark_sdk::{
1919
config::{fri_params::standard_fri_params_with_100_bits_conjectured_security, FriParameters},
2020
p3_baby_bear::BabyBear,
2121
};
22+
use rand::{thread_rng, RngCore};
2223

2324
pub type F = BabyBear;
2425
pub type E = BinomialExtensionField<F, EXT_DEG>;
@@ -70,7 +71,17 @@ fn test_sumcheck_layer_eval() {
7071
}
7172
}
7273

74+
fn new_rand_ext<C: Config, R: RngCore>(rng: &mut R) -> C::EF {
75+
C::EF::from_base_slice(&[
76+
C::F::from_canonical_u32(rng.next_u32()),
77+
C::F::from_canonical_u32(rng.next_u32()),
78+
C::F::from_canonical_u32(rng.next_u32()),
79+
C::F::from_canonical_u32(rng.next_u32()),
80+
])
81+
}
82+
7383
fn build_test_program<C: Config>(builder: &mut Builder<C>) {
84+
let mut rng = thread_rng();
7485
// 6 prod specs in 8 layers, 5 logup specs in 8 layers
7586
let round = 3;
7687
let num_prod_specs = 6;
@@ -114,292 +125,18 @@ fn build_test_program<C: Config>(builder: &mut Builder<C>) {
114125
builder.set(&challenges, idx, e);
115126
}
116127

117-
#[rustfmt::skip]
118-
let prod_spec_eval_u32s = [
119-
1538906710u32, 637535518, 1753132406, 1395236651,
120-
278806441, 1722910382, 1475548665, 1117874675,
121-
1578586709, 1826764884, 384068476, 1852240363,
122-
707958906, 1960944944, 183554399, 1259273357,
123-
227285124, 243066436, 1718037317, 369721963,
124-
1752968006, 1061013677, 775617499, 1464907431,
125-
544300429, 871461966, 135151545, 1343592602,
126-
1622220528, 643966158, 3932580, 434948358,
127-
540553922, 1446502052, 153298741, 1191216273,
128-
265936762, 1463035257, 1237633339, 1797346310,
129-
1355791584, 389527741, 1741650463, 1728913415,
130-
1825739540, 1790924136, 460776743, 29536554,
131-
6842036, 252495270, 1968285155, 299467416,
132-
49085744, 1499815729, 1098802236, 644489275,
133-
1827273105, 1888401527, 390077051, 565528894,
134-
1366177188, 67441791, 958486301, 402056716,
135-
590379691, 462035406, 633459131, 843304872,
136-
584100013, 1932496508, 250656031, 146983915,
137-
1835173157, 939973454, 1844873638, 1916054832,
138-
1601784696, 167251717, 409107688, 1062925788,
139-
1291319514, 1790529531, 495655592, 1093359708,
140-
790197205, 674458164, 195988318, 399764452,
141-
106865258, 967050329, 350035523, 1109292118,
142-
1815460301, 281986036, 900636603, 1121197008,
143-
1228976590, 1879998708, 1924332706, 434695844,
144-
1159360621, 471397106, 473371067, 1009065094,
145-
1320176846, 168020789, 1265321929, 1901808675,
146-
223657700, 1480150183, 1779968584, 144416591,
147-
304407746, 1864498679, 1482460119, 1554376965,
148-
1479261548, 1657723043, 1039345063, 1053923521,
149-
442080513, 1964082352, 691664908, 1941008321,
150-
1007729002, 860529393, 849697342, 754485488,
151-
584295923, 1072251466, 1105105254, 996079746,
152-
1305909868, 1348028973, 122275988, 464050036,
153-
692807777, 1098809324, 397235220, 596459886,
154-
1663209783, 720230826, 1422510715, 1760654694,
155-
544197700, 1417744567, 1938716517, 1571826328,
156-
1591430185, 1173137446, 175285007, 1541718596,
157-
1715958587, 1429966110, 583013357, 1667787861,
158-
109891172, 668253167, 161783842, 296183397,
159-
1681897325, 1054396117, 264741948, 464026995,
160-
1907686022, 1532786783, 394869458, 1766734740,
161-
136047179, 536856195, 376188855, 700633625,
162-
515518419, 531043483, 60673499, 556496527,
163-
1743028981, 873954569, 1371062291, 632169731,
164-
1353239206, 526507035, 1894490088, 589441599,
165-
1610487168, 1074160583, 366366374, 247602990,
166-
1535354896, 894493713, 1555870413, 1389854934,
167-
1897251683, 1525812801, 675621735, 697919636,
168-
1690274072, 1466810921, 1221110784, 1741995587,
169-
1877169764, 390876982, 1794129810, 297662156,
170-
144295349, 417037264, 1290835727, 1654971513,
171-
1674131303, 1625667423, 1471248832, 1676797844,
172-
1172916558, 1707775403, 423725211, 1643279661,
173-
1695774264, 378140395, 1517569394, 1666625392,
174-
1803981250, 439036260, 247966130, 709534816,
175-
361144100, 1546096548, 1240886454, 1898161518,
176-
843262057, 1709259464, 1301015977, 1997626928,
177-
677153173, 1606710353, 1216038070, 435565562,
178-
98686333, 1773787396, 267051994, 99395396,
179-
545509105, 782289675, 1289865975, 1707775075,
180-
1158993015, 1506576588, 993215179, 1523099397,
181-
923914455, 1895162386, 284489994, 1444139016,
182-
1943825680, 466202724, 1632522710, 1384015062,
183-
723147188, 1284031324, 1430481515, 341213007,
184-
171192499, 1061688239, 808927167, 83182639,
185-
759209907, 1728321272, 976049976, 1652071995,
186-
1002877840, 69880246, 1095135165, 677588420,
187-
1384715290, 829619452, 170122781, 1958173727,
188-
13389238, 789379698, 1883383039, 1279195174,
189-
1618672336, 1192839317, 1348311124, 758896285,
190-
1939775389, 684108413, 1838340479, 1332232130,
191-
1070486028, 549228790, 868851698, 1678207843,
192-
1754321489, 637000403, 647901906, 45343322,
193-
1768524074, 1167955205, 1816497210, 1609414096,
194-
1985231742, 1540534482, 232730819, 232221968,
195-
1509637836, 1480860627, 884647789, 1096458024,
196-
163721583, 1248032262, 436419506, 1737102298,
197-
651105860, 452298073, 1064372507, 1792838683,
198-
619243471, 860127631, 721724708, 950768433,
199-
279913448, 339693210, 47730422, 1952683911,
200-
1316500770, 675944216, 386902809, 619333956,
201-
1194800389, 43989936, 1944372656, 666045666,
202-
1155873844, 522696968, 58874730, 1497238023,
203-
421619994, 1980672127, 1657191856, 1913792631,
204-
1784663131, 1118400672, 1828104993, 1637808383,
205-
414755472, 775410449, 747132157, 136820101,
206-
1082674285, 93190395, 357955402, 335652723,
207-
1192102705, 480365232, 1354935730, 1391829361,
208-
966662991, 1601510445, 569528575, 545490940,
209-
1753711688, 807025222, 580374183, 587718008,
210-
977546290, 1055719519, 1157107032, 562799608,
211-
859466927, 840450024, 815325134, 936576801,
212-
1010587056, 246624382, 1808049797, 1098183398,
213-
1005077390, 772432546, 1976629565, 1003772218,
214-
1655315418, 1767931114, 982008720, 785023351,
215-
];
216-
217-
let prod_spec_evals: Array<C, Ext<C::F, C::EF>> =
218-
builder.dyn_array(prod_spec_eval_u32s.len() / EXT_DEG);
219-
for (idx, n) in prod_spec_eval_u32s.chunks(EXT_DEG).enumerate() {
220-
let e: Ext<C::F, C::EF> = builder.constant(C::EF::from_base_slice(&[
221-
C::F::from_canonical_u32(n[0]),
222-
C::F::from_canonical_u32(n[1]),
223-
C::F::from_canonical_u32(n[2]),
224-
C::F::from_canonical_u32(n[3]),
225-
]));
128+
let num_prod_evals = num_prod_specs * num_layers * 2;
129+
let prod_spec_evals: Array<C, Ext<C::F, C::EF>> = builder.dyn_array(num_prod_evals);
130+
for idx in 0..num_prod_evals {
131+
let e: Ext<C::F, C::EF> = builder.constant(new_rand_ext::<C, _>(&mut rng));
226132

227133
builder.set(&prod_spec_evals, idx, e);
228134
}
229135

230-
#[rustfmt::skip]
231-
let logup_spec_eval_u32s = [
232-
1522353967u32, 457603397, 421847521, 1352563318,
233-
1746817766, 737872688, 1087008622, 1850835028,
234-
456475558, 892966330, 638163666, 148568548,
235-
678863061, 1334386850, 1896333039, 154585769,
236-
433618446, 1186936470, 970218722, 1213827097,
237-
1798557019, 861757965, 119285527, 395360622,
238-
226164366, 1330279872, 66561048, 785421608,
239-
1950755756, 1559889596, 348449876, 1090789452,
240-
257578851, 273164442, 1644906, 295600924,
241-
1187949602, 1168249609, 469763604, 60929061,
242-
291163036, 403842501, 1421902433, 1700188477,
243-
1046093370, 921059131, 1638991894, 464012042,
244-
96905857, 1370999592, 271896041, 13595534,
245-
1489760970, 1650552701, 133367846, 25680377,
246-
377631580, 652729291, 645763356, 426747355,
247-
482475486, 1877299223, 103226636, 1333832358,
248-
1399609097, 458536972, 976248802, 1109365280,
249-
515164588, 1579426417, 1601829549, 607169702,
250-
852817956, 1980537127, 134138338, 913344050,
251-
737880920, 476360275, 61624034, 1610624252,
252-
264461991, 546933535, 937769429, 293346965,
253-
1522058041, 1012551797, 994330314, 23333322,
254-
1969510890, 974351570, 2012030621, 120742000,
255-
450250620, 180547360, 642746933, 1815029950,
256-
629489142, 1176992624, 723354779, 572648755,
257-
1218615348, 648847054, 351903235, 723149764,
258-
248065753, 243829448, 1283393001, 1912627886,
259-
581641342, 702465306, 205969758, 1061911274,
260-
1, 0, 0, 0,
261-
1, 0, 0, 0,
262-
1703043252, 1467887451, 1714319214, 907866644,
263-
1542426838, 742609036, 1814393459, 448706641,
264-
1960340767, 46490834, 186512520, 363973095,
265-
846448854, 463742343, 2012517527, 40473617,
266-
9472552, 263483342, 105738598, 586389136,
267-
254290990, 625150844, 960233097, 1488303724,
268-
1700231692, 1471714612, 1540211186, 1590246915,
269-
945341972, 1343225515, 179976237, 34857822,
270-
276912528, 984309272, 1277293398, 1520924162,
271-
1823117694, 604836357, 1460812009, 600052559,
272-
970469338, 1771022707, 181855831, 1445947220,
273-
467514809, 1514677498, 947030389, 170390653,
274-
415409007, 1601463730, 204153427, 904614278,
275-
1855419512, 2009471607, 1352607379, 576586082,
276-
1343812879, 1176377580, 1166188815, 1592289048,
277-
761793881, 1529621462, 193034837, 344011596,
278-
1669461833, 1356800025, 314186361, 586497329,
279-
1832810846, 1288092861, 1619454491, 732529408,
280-
737934269, 909504928, 769680420, 1437893101,
281-
1727002258, 1618231110, 535125583, 153412473,
282-
1917760929, 588586507, 564531165, 1790797737,
283-
1666283994, 1366948884, 117673690, 476470378,
284-
2012274032, 1951406668, 1739767532, 1273142151,
285-
1591812317, 1900205312, 1912608761, 1734766024,
286-
1265002082, 1450462894, 749810837, 1329222552,
287-
745081805, 1231519431, 1420957967, 883846107,
288-
1995463911, 407795592, 161655852, 125886157,
289-
995318920, 484905024, 284135318, 551493419,
290-
406742309, 1089024446, 637339867, 1858138403,
291-
1230680117, 187078889, 1929517480, 1125646261,
292-
1, 0, 0, 0,
293-
1, 0, 0, 0,
294-
1610035932, 462442436, 831412555, 44798862,
295-
1748147276, 1911945531, 1329343740, 971894393,
296-
362147969, 1583335926, 1528700112, 426908674,
297-
847905883, 447889090, 1050883911, 1883537469,
298-
1487501632, 964178870, 1818828551, 1980840799,
299-
340372118, 1697179193, 215113037, 1893217470,
300-
1138628493, 1788052486, 443362955, 1349213730,
301-
589553425, 562526667, 1006040406, 1194546769,
302-
1831034644, 612004157, 730213913, 1068905440,
303-
371983982, 502900790, 802785198, 822377635,
304-
1477528437, 501356237, 684668525, 1306043781,
305-
621032592, 1971342708, 1411586583, 733418745,
306-
186045462, 1559301855, 323758310, 453170140,
307-
498381240, 976247416, 631213663, 898017829,
308-
501459603, 609703046, 1379288251, 177682695,
309-
912381595, 121915494, 1137416430, 504054388,
310-
1138277238, 1603388253, 1838013301, 1700271853,
311-
20488607, 58775264, 217974275, 979141729,
312-
53136584, 1331566240, 1460303356, 525812787,
313-
718385521, 1477919263, 1663622276, 1089788203,
314-
1204483837, 54225863, 290660186, 1441441958,
315-
134168813, 349638823, 1867912015, 1579183319,
316-
55528656, 1602973359, 194297109, 949763297,
317-
101931919, 242300116, 1610052257, 1351823848,
318-
174522860, 776955925, 1706962365, 808187490,
319-
1487253852, 431806906, 213982593, 1170647308,
320-
1776840400, 295916317, 378708073, 381270341,
321-
457494568, 705823997, 1407301442, 1693003013,
322-
700310785, 1349874247, 1284363817, 1566253815,
323-
1014298154, 215294365, 1070968678, 871641358,
324-
1, 0, 0, 0,
325-
1, 0, 0, 0,
326-
1302679751, 1121894357, 368587356, 1564724097,
327-
733815591, 2012670011, 1146780092, 1439780227,
328-
1801628424, 838692317, 932318853, 213634365,
329-
155292454, 1644317110, 1599846194, 978829059,
330-
1282095862, 1780431647, 527412087, 1024583705,
331-
804423802, 951808322, 689345230, 180304167,
332-
1784562773, 1514653374, 2009396440, 1143778943,
333-
235299446, 1553017484, 475425117, 758292254,
334-
716575432, 517083432, 1728864125, 418010549,
335-
43202592, 507659742, 433077118, 1268144019,
336-
1462778342, 1928073362, 1330130180, 1749624351,
337-
827401013, 1236194147, 1875519726, 1437946791,
338-
607293265, 309229599, 1009445595, 1725229718,
339-
1436309341, 1952606463, 943149111, 291680468,
340-
1989684076, 1944713370, 1285294139, 399758737,
341-
1572979232, 213817406, 214840530, 184898060,
342-
1483844295, 1536616777, 494816009, 217625163,
343-
529448032, 786640964, 1766471731, 1424140424,
344-
1721961711, 740275169, 169908711, 913969302,
345-
1359358267, 1328322971, 593228769, 771095186,
346-
801680440, 450930656, 1796349530, 1824428677,
347-
1111258504, 1741666629, 1098430204, 1792001884,
348-
1679003061, 590088446, 647614538, 1324461639,
349-
818996796, 229187928, 74288115, 1158900266,
350-
1512606270, 1381672753, 785927403, 493453164,
351-
425259497, 1367873539, 931023744, 221202218,
352-
669580668, 424996238, 1840425275, 1873362670,
353-
967642716, 263556335, 578560519, 1558449223,
354-
607579284, 1724012378, 333582342, 1195784167,
355-
1419727276, 199294290, 138807165, 1061030752,
356-
1, 0, 0, 0,
357-
1, 0, 0, 0,
358-
776332180, 1333076185, 1855163818, 1897408938,
359-
799274251, 950452503, 691904988, 1205387466,
360-
659107883, 434394982, 129587940, 639018629,
361-
659238594, 1957584892, 864291238, 589178070,
362-
1267157231, 48925338, 200093884, 1953762869,
363-
1227617341, 1471420621, 193077633, 1007876111,
364-
228491220, 1377349503, 1889411060, 1807513892,
365-
1593042934, 1240864695, 1472870721, 583021932,
366-
598239104, 1862008818, 1811242869, 780768026,
367-
520870395, 292016292, 322246659, 868240490,
368-
1715620331, 1183509209, 2010262726, 1003957251,
369-
264895455, 307755941, 201990485, 1662471178,
370-
1643997923, 1573129362, 277821143, 388834470,
371-
943361405, 1449402196, 614413575, 1504113993,
372-
1860552739, 1755127315, 1734129760, 1232115188,
373-
803035456, 360488092, 271342171, 1269544258,
374-
290642673, 660703582, 986842267, 870891877,
375-
454573044, 1999346236, 701614601, 820253867,
376-
883282765, 137247873, 1727164949, 1320585493,
377-
1738664600, 1900116905, 472215154, 1114994489,
378-
104218174, 1694603079, 771486383, 935361143,
379-
92277671, 881040480, 925124484, 1464396527,
380-
100625197, 65290355, 1001454341, 134627585,
381-
58629702, 1541542242, 568583607, 1706262052,
382-
530687550, 1303187245, 1010302462, 264001857,
383-
789816678, 561378226, 827432508, 801307507,
384-
1613508315, 1650822853, 1603502703, 439320335,
385-
15283580, 1244486577, 254345266, 1745653280,
386-
1648250354, 1528271018, 528366563, 1078707735,
387-
1430767759, 1890467731, 2001894083, 799949326,
388-
1, 0, 0, 0,
389-
1, 0, 0, 0,
390-
1341839494, 1092219735, 755644898, 966729319,
391-
1914277278, 1545367697, 1765189119, 1693413008,
392-
];
393-
394-
let logup_spec_evals: Array<C, Ext<C::F, C::EF>> =
395-
builder.dyn_array(logup_spec_eval_u32s.len() / EXT_DEG);
396-
for (idx, n) in logup_spec_eval_u32s.chunks(EXT_DEG).enumerate() {
397-
let e: Ext<C::F, C::EF> = builder.constant(C::EF::from_base_slice(&[
398-
C::F::from_canonical_u32(n[0]),
399-
C::F::from_canonical_u32(n[1]),
400-
C::F::from_canonical_u32(n[2]),
401-
C::F::from_canonical_u32(n[3]),
402-
]));
136+
let num_logup_evals = num_logup_specs * num_layers * 4;
137+
let logup_spec_evals: Array<C, Ext<C::F, C::EF>> = builder.dyn_array(num_logup_evals);
138+
for idx in 0..num_logup_evals {
139+
let e: Ext<C::F, C::EF> = builder.constant(new_rand_ext::<C, _>(&mut rng));
403140

404141
builder.set(&logup_spec_evals, idx, e);
405142
}
@@ -465,8 +202,7 @@ fn build_test_program<C: Config>(builder: &mut Builder<C>) {
465202
.chain(logup_q_evals.into_iter())
466203
.collect::<Vec<_>>();
467204

468-
let next_layer_evals: Array<C, Ext<C::F, C::EF>> =
469-
builder.dyn_array(r_evals.len());
205+
let next_layer_evals: Array<C, Ext<C::F, C::EF>> = builder.dyn_array(r_evals.len());
470206

471207
builder.sumcheck_layer_eval(
472208
&ctx,

0 commit comments

Comments
 (0)