22
33## A mini python script to help generate the locations in memory of the indicies requred to generate a proof
44
5- vk_fr = [
6- "VK_CIRCUIT_SIZE_LOC" ,
7- "VK_NUM_PUBLIC_INPUTS_LOC" ,
8- "VK_PUB_INPUTS_OFFSET_LOC" ,
9- ]
10-
115vk_g1 = [
126 "Q_M" ,
137 "Q_C" ,
@@ -169,10 +163,6 @@ def print_g1(pointer: int, name: str):
169163
170164
171165def print_vk (pointer : int ):
172- for item in vk_fr :
173- print_fr (pointer , item )
174- pointer += 32
175-
176166 for item in vk_g1 :
177167 print_small_g1 (pointer , item )
178168 pointer += (4 * 32 )
@@ -195,7 +185,7 @@ def print_proof(pointer: int):
195185 return pointer
196186
197187BATCHED_RELATION_PARTIAL_LENGTH = 8
198- PROOF_SIZE_LOG_N = 28
188+ PROOF_SIZE_LOG_N = 15
199189NUMBER_OF_ENTITIES = 41
200190NUMBER_OF_SUBRELATIONS = 28
201191NUMBER_OF_ALPHAS = NUMBER_OF_SUBRELATIONS - 1
@@ -258,17 +248,19 @@ def print_challenges(pointer: int):
258248 return pointer
259249
260250BARYCENTRIC_DOMAIN_SIZE = 8
261- def print_barycentric_domain ():
251+ def print_barycentric_domain (pointer : int ):
262252 # use scratch space
263- bary_pointer = SCRATCH_SPACE_POINTER
253+ bary_domain_pointer = 0x100 ;
264254 for i in range (0 , BARYCENTRIC_DOMAIN_SIZE ):
265- print_fr (bary_pointer , "BARYCENTRIC_LAGRANGE_DENOMINATOR_" + str (i ) + "_LOC" )
266- bary_pointer += 32
255+ print_fr (bary_domain_pointer , "BARYCENTRIC_LAGRANGE_DENOMINATOR_" + str (i ) + "_LOC" )
256+ bary_domain_pointer += 32
267257
268258 for i in range (0 , PROOF_SIZE_LOG_N ):
269259 for j in range (0 , BARYCENTRIC_DOMAIN_SIZE ):
270- print_fr (bary_pointer , "BARYCENTRIC_DENOMINATOR_INVERSES_" + str (i ) + "_" + str (j ) + "_LOC" )
271- bary_pointer += 32
260+ print_fr (pointer , "BARYCENTRIC_DENOMINATOR_INVERSES_" + str (i ) + "_" + str (j ) + "_LOC" )
261+ pointer += 32
262+
263+ return pointer
272264
273265
274266def print_subrelation_eval (pointer : int ):
@@ -305,7 +297,7 @@ def print_subrelation_intermediates(pointer: int):
305297
306298def print_batch_scalars (pointer : int ):
307299 BATCH_SIZE = 69
308- for i in range (0 , BATCH_SIZE ):
300+ for i in range (1 , BATCH_SIZE ):
309301 print_fr (pointer , "BATCH_SCALAR_" + str (i ) + "_LOC" )
310302 pointer += 32
311303
@@ -317,12 +309,6 @@ def print_powers_of_evaluation_challenge(pointer: int):
317309 pointer += 32
318310 return pointer
319311
320- def print_inverted_gemini_denominators (pointer : int ):
321- for i in range (0 , PROOF_SIZE_LOG_N + 1 ):
322- print_fr (pointer , "INVERTED_GEMINI_DENOMINATOR_" + str (i ) + "_LOC" )
323- pointer += 32
324- return pointer
325-
326312# TODO: double check this value
327313def print_batched_evaluation_accumulator_inversions (pointer : int ):
328314 BATCH_SIZE = 15
@@ -331,23 +317,20 @@ def print_batched_evaluation_accumulator_inversions(pointer: int):
331317 pointer += 32
332318 return pointer
333319
334- def print_batched_evaluation_location (pointer : int ):
335- print_fr (pointer , "BATCHED_EVALUATION_LOC " )
320+ def print_constant_term_accumulator_location (pointer : int ):
321+ print_fr (pointer , "CONSTANT_TERM_ACCUMULATOR_LOC " )
336322 pointer += 32
337323 return pointer
338324
339- def print_constant_term_accumulator_location (pointer : int ):
340- print_fr (pointer , "CONSTANT_TERM_ACCUMULATOR_LOC " )
325+ def print_gemini_r_inv (pointer : int ):
326+ print_fr (pointer , "GEMINI_R_INV_LOC " )
341327 pointer += 32
342328 return pointer
343329
344- def print_inversions ():
345- pointer = SCRATCH_SPACE_POINTER
346- pointer = print_inverted_gemini_denominators (pointer )
330+ def print_inversions (pointer : int ):
347331 pointer = print_batched_evaluation_accumulator_inversions (pointer )
348332
349333 print ("" )
350- pointer = print_batched_evaluation_location (pointer )
351334 pointer = print_constant_term_accumulator_location (pointer )
352335
353336 print ("" )
@@ -368,6 +351,8 @@ def print_inversions():
368351 print ("" )
369352 pointer = print_fold_pos_evaluations (pointer )
370353
354+ return pointer
355+
371356
372357
373358def print_pos_neg_inverted_denominators (pointer : int ):
@@ -379,7 +364,7 @@ def print_pos_neg_inverted_denominators(pointer: int):
379364
380365def print_inverted_challenge_pow_minus_u (pointer : int ):
381366 for i in range (0 , PROOF_SIZE_LOG_N ):
382- print_fr (pointer , "INVERTED_CHALLENEGE_POW_MINUS_U_ " + str (i ) + "_LOC" )
367+ print_fr (pointer , "INVERTED_CHALLENGE_POW_MINUS_U_ " + str (i ) + "_LOC" )
383368 pointer += 32
384369 return pointer
385370
@@ -401,6 +386,20 @@ def print_fold_pos_evaluations(pointer: int):
401386 pointer += 32
402387 return pointer
403388
389+ def print_barycentric_temp_mem (pointer : int ):
390+ for i in range (0 , PROOF_SIZE_LOG_N * 8 ):
391+ print_fr (pointer , "BARYCENTRIC_TEMP_" + str (i ) + "_LOC" )
392+ pointer += 32
393+
394+ print_fr (pointer , "PUBLIC_INPUTS_DENOM_TEMP_LOC" )
395+ pointer += 32
396+ print_fr (pointer , "GEMINI_R_INV_TEMP_LOC" )
397+ pointer += 32
398+ print_fr (pointer , "BATCH_PRODUCT_TEMP_LOC" )
399+ pointer += 32
400+
401+ return pointer
402+
404403def print_later_scratch_space (pointer : int ):
405404 print_fr (pointer , "LATER_SCRATCH_SPACE" )
406405 pointer += 32
@@ -470,7 +469,7 @@ def main():
470469 print_header_centered ("SUMCHECK - RUNTIME MEMORY" )
471470
472471 print_header_centered ("SUMCHECK - RUNTIME MEMORY - BARYCENTRIC" )
473- print_barycentric_domain ()
472+ pointer = print_barycentric_domain (pointer )
474473 print_header_centered ("SUMCHECK - RUNTIME MEMORY - BARYCENTRIC COMPLETE" )
475474
476475 print_header_centered ("SUMCHECK - RUNTIME MEMORY - SUBRELATION EVALUATIONS" )
@@ -494,15 +493,18 @@ def main():
494493 print_header_centered ("SHPLEMINI - RUNTIME MEMORY - BATCH SCALARS COMPLETE" )
495494
496495 print_header_centered ("SHPLEMINI - RUNTIME MEMORY - INVERSIONS" )
497- print_inversions ()
496+ pointer = print_gemini_r_inv (pointer )
497+ pointer = print_inversions (pointer )
498498 print_header_centered ("SHPLEMINI RUNTIME MEMORY - INVERSIONS - COMPLETE" )
499499 print_header_centered ("SHPLEMINI RUNTIME MEMORY - COMPLETE" )
500500
501- print ("" )
502- pointer = print_later_scratch_space (pointer )
501+ print_header_centered ("Temporary space - for batch inversions" )
503502
504- print_header_centered ( "Temporary space" )
503+ pointer = print_barycentric_temp_mem ( pointer )
505504 pointer = print_temp_space (pointer )
505+ print ("" )
506+
507+ pointer = print_later_scratch_space (pointer )
506508 print_header_centered ("Temporary space - COMPLETE" )
507509
508510 print_scratch_space_aliases ()
0 commit comments