@@ -253,11 +253,87 @@ static final function int RunCode(
253
253
*/
254
254
// memcpy(t[P1x], P1->c, 3 * I15_LEN * sizeof(uint16_t));
255
255
// memcpy(t[P2x], P2->c, 3 * I15_LEN * sizeof(uint16_t));
256
- // TODO: need static memcpy for these array sizes.
256
+ // class'FCryptoMemory'.static.MemCpy_Jacobian_Monty(T[`P1x], P1.C, 222);
257
+ // class'FCryptoMemory'.static.MemCpy_Jacobian_Monty(T[`P2x], P2.C, 222);
258
+ T [`P1x ].X [ 0 ] = P1 .C [0 ].X [ 0 ]; T [`P1y ].X [ 0 ] = P1 .C [1 ].X [ 0 ]; T [`P1z ].X [ 0 ] = P1 .C [2 ].X [ 0 ];
259
+ T [`P1x ].X [ 1 ] = P1 .C [0 ].X [ 1 ]; T [`P1y ].X [ 1 ] = P1 .C [1 ].X [ 1 ]; T [`P1z ].X [ 1 ] = P1 .C [2 ].X [ 1 ];
260
+ T [`P1x ].X [ 2 ] = P1 .C [0 ].X [ 2 ]; T [`P1y ].X [ 2 ] = P1 .C [1 ].X [ 2 ]; T [`P1z ].X [ 2 ] = P1 .C [2 ].X [ 2 ];
261
+ T [`P1x ].X [ 3 ] = P1 .C [0 ].X [ 3 ]; T [`P1y ].X [ 3 ] = P1 .C [1 ].X [ 3 ]; T [`P1z ].X [ 3 ] = P1 .C [2 ].X [ 3 ];
262
+ T [`P1x ].X [ 4 ] = P1 .C [0 ].X [ 4 ]; T [`P1y ].X [ 4 ] = P1 .C [1 ].X [ 4 ]; T [`P1z ].X [ 4 ] = P1 .C [2 ].X [ 4 ];
263
+ T [`P1x ].X [ 5 ] = P1 .C [0 ].X [ 5 ]; T [`P1y ].X [ 5 ] = P1 .C [1 ].X [ 5 ]; T [`P1z ].X [ 5 ] = P1 .C [2 ].X [ 5 ];
264
+ T [`P1x ].X [ 6 ] = P1 .C [0 ].X [ 6 ]; T [`P1y ].X [ 6 ] = P1 .C [1 ].X [ 6 ]; T [`P1z ].X [ 6 ] = P1 .C [2 ].X [ 6 ];
265
+ T [`P1x ].X [ 7 ] = P1 .C [0 ].X [ 7 ]; T [`P1y ].X [ 7 ] = P1 .C [1 ].X [ 7 ]; T [`P1z ].X [ 7 ] = P1 .C [2 ].X [ 7 ];
266
+ T [`P1x ].X [ 8 ] = P1 .C [0 ].X [ 8 ]; T [`P1y ].X [ 8 ] = P1 .C [1 ].X [ 8 ]; T [`P1z ].X [ 8 ] = P1 .C [2 ].X [ 8 ];
267
+ T [`P1x ].X [ 9 ] = P1 .C [0 ].X [ 9 ]; T [`P1y ].X [ 9 ] = P1 .C [1 ].X [ 9 ]; T [`P1z ].X [ 9 ] = P1 .C [2 ].X [ 9 ];
268
+ T [`P1x ].X [10 ] = P1 .C [0 ].X [10 ]; T [`P1y ].X [10 ] = P1 .C [1 ].X [10 ]; T [`P1z ].X [10 ] = P1 .C [2 ].X [10 ];
269
+ T [`P1x ].X [11 ] = P1 .C [0 ].X [11 ]; T [`P1y ].X [11 ] = P1 .C [1 ].X [11 ]; T [`P1z ].X [11 ] = P1 .C [2 ].X [11 ];
270
+ T [`P1x ].X [12 ] = P1 .C [0 ].X [12 ]; T [`P1y ].X [12 ] = P1 .C [1 ].X [12 ]; T [`P1z ].X [12 ] = P1 .C [2 ].X [12 ];
271
+ T [`P1x ].X [13 ] = P1 .C [0 ].X [13 ]; T [`P1y ].X [13 ] = P1 .C [1 ].X [13 ]; T [`P1z ].X [13 ] = P1 .C [2 ].X [13 ];
272
+ T [`P1x ].X [14 ] = P1 .C [0 ].X [14 ]; T [`P1y ].X [14 ] = P1 .C [1 ].X [14 ]; T [`P1z ].X [14 ] = P1 .C [2 ].X [14 ];
273
+ T [`P1x ].X [15 ] = P1 .C [0 ].X [15 ]; T [`P1y ].X [15 ] = P1 .C [1 ].X [15 ]; T [`P1z ].X [15 ] = P1 .C [2 ].X [15 ];
274
+ T [`P1x ].X [16 ] = P1 .C [0 ].X [16 ]; T [`P1y ].X [16 ] = P1 .C [1 ].X [16 ]; T [`P1z ].X [16 ] = P1 .C [2 ].X [16 ];
275
+ T [`P1x ].X [17 ] = P1 .C [0 ].X [17 ]; T [`P1y ].X [17 ] = P1 .C [1 ].X [17 ]; T [`P1z ].X [17 ] = P1 .C [2 ].X [17 ];
276
+ T [`P1x ].X [18 ] = P1 .C [0 ].X [18 ]; T [`P1y ].X [18 ] = P1 .C [1 ].X [18 ]; T [`P1z ].X [18 ] = P1 .C [2 ].X [18 ];
277
+ T [`P1x ].X [19 ] = P1 .C [0 ].X [19 ]; T [`P1y ].X [19 ] = P1 .C [1 ].X [19 ]; T [`P1z ].X [19 ] = P1 .C [2 ].X [19 ];
278
+ T [`P1x ].X [20 ] = P1 .C [0 ].X [20 ]; T [`P1y ].X [20 ] = P1 .C [1 ].X [20 ]; T [`P1z ].X [20 ] = P1 .C [2 ].X [20 ];
279
+ T [`P1x ].X [21 ] = P1 .C [0 ].X [21 ]; T [`P1y ].X [21 ] = P1 .C [1 ].X [21 ]; T [`P1z ].X [21 ] = P1 .C [2 ].X [21 ];
280
+ T [`P1x ].X [22 ] = P1 .C [0 ].X [22 ]; T [`P1y ].X [22 ] = P1 .C [1 ].X [22 ]; T [`P1z ].X [22 ] = P1 .C [2 ].X [22 ];
281
+ T [`P1x ].X [23 ] = P1 .C [0 ].X [23 ]; T [`P1y ].X [23 ] = P1 .C [1 ].X [23 ]; T [`P1z ].X [23 ] = P1 .C [2 ].X [23 ];
282
+ T [`P1x ].X [24 ] = P1 .C [0 ].X [24 ]; T [`P1y ].X [24 ] = P1 .C [1 ].X [24 ]; T [`P1z ].X [24 ] = P1 .C [2 ].X [24 ];
283
+ T [`P1x ].X [25 ] = P1 .C [0 ].X [25 ]; T [`P1y ].X [25 ] = P1 .C [1 ].X [25 ]; T [`P1z ].X [25 ] = P1 .C [2 ].X [25 ];
284
+ T [`P1x ].X [26 ] = P1 .C [0 ].X [26 ]; T [`P1y ].X [26 ] = P1 .C [1 ].X [26 ]; T [`P1z ].X [26 ] = P1 .C [2 ].X [26 ];
285
+ T [`P1x ].X [27 ] = P1 .C [0 ].X [27 ]; T [`P1y ].X [27 ] = P1 .C [1 ].X [27 ]; T [`P1z ].X [27 ] = P1 .C [2 ].X [27 ];
286
+ T [`P1x ].X [28 ] = P1 .C [0 ].X [28 ]; T [`P1y ].X [28 ] = P1 .C [1 ].X [28 ]; T [`P1z ].X [28 ] = P1 .C [2 ].X [28 ];
287
+ T [`P1x ].X [29 ] = P1 .C [0 ].X [29 ]; T [`P1y ].X [29 ] = P1 .C [1 ].X [29 ]; T [`P1z ].X [29 ] = P1 .C [2 ].X [29 ];
288
+ T [`P1x ].X [30 ] = P1 .C [0 ].X [30 ]; T [`P1y ].X [30 ] = P1 .C [1 ].X [30 ]; T [`P1z ].X [30 ] = P1 .C [2 ].X [30 ];
289
+ T [`P1x ].X [31 ] = P1 .C [0 ].X [31 ]; T [`P1y ].X [31 ] = P1 .C [1 ].X [31 ]; T [`P1z ].X [31 ] = P1 .C [2 ].X [31 ];
290
+ T [`P1x ].X [32 ] = P1 .C [0 ].X [32 ]; T [`P1y ].X [32 ] = P1 .C [1 ].X [32 ]; T [`P1z ].X [32 ] = P1 .C [2 ].X [32 ];
291
+ T [`P1x ].X [33 ] = P1 .C [0 ].X [33 ]; T [`P1y ].X [33 ] = P1 .C [1 ].X [33 ]; T [`P1z ].X [33 ] = P1 .C [2 ].X [33 ];
292
+ T [`P1x ].X [34 ] = P1 .C [0 ].X [34 ]; T [`P1y ].X [34 ] = P1 .C [1 ].X [34 ]; T [`P1z ].X [34 ] = P1 .C [2 ].X [34 ];
293
+ T [`P1x ].X [35 ] = P1 .C [0 ].X [35 ]; T [`P1y ].X [35 ] = P1 .C [1 ].X [35 ]; T [`P1z ].X [35 ] = P1 .C [2 ].X [35 ];
294
+ T [`P1x ].X [36 ] = P1 .C [0 ].X [36 ]; T [`P1y ].X [36 ] = P1 .C [1 ].X [36 ]; T [`P1z ].X [36 ] = P1 .C [2 ].X [36 ];
295
+
296
+ T [`P2x ].X [ 0 ] = P2 .C [0 ].X [ 0 ]; T [`P2y ].X [ 0 ] = P2 .C [1 ].X [ 0 ]; T [`P2z ].X [ 0 ] = P2 .C [2 ].X [ 0 ];
297
+ T [`P2x ].X [ 1 ] = P2 .C [0 ].X [ 1 ]; T [`P2y ].X [ 1 ] = P2 .C [1 ].X [ 1 ]; T [`P2z ].X [ 1 ] = P2 .C [2 ].X [ 1 ];
298
+ T [`P2x ].X [ 2 ] = P2 .C [0 ].X [ 2 ]; T [`P2y ].X [ 2 ] = P2 .C [1 ].X [ 2 ]; T [`P2z ].X [ 2 ] = P2 .C [2 ].X [ 2 ];
299
+ T [`P2x ].X [ 3 ] = P2 .C [0 ].X [ 3 ]; T [`P2y ].X [ 3 ] = P2 .C [1 ].X [ 3 ]; T [`P2z ].X [ 3 ] = P2 .C [2 ].X [ 3 ];
300
+ T [`P2x ].X [ 4 ] = P2 .C [0 ].X [ 4 ]; T [`P2y ].X [ 4 ] = P2 .C [1 ].X [ 4 ]; T [`P2z ].X [ 4 ] = P2 .C [2 ].X [ 4 ];
301
+ T [`P2x ].X [ 5 ] = P2 .C [0 ].X [ 5 ]; T [`P2y ].X [ 5 ] = P2 .C [1 ].X [ 5 ]; T [`P2z ].X [ 5 ] = P2 .C [2 ].X [ 5 ];
302
+ T [`P2x ].X [ 6 ] = P2 .C [0 ].X [ 6 ]; T [`P2y ].X [ 6 ] = P2 .C [1 ].X [ 6 ]; T [`P2z ].X [ 6 ] = P2 .C [2 ].X [ 6 ];
303
+ T [`P2x ].X [ 7 ] = P2 .C [0 ].X [ 7 ]; T [`P2y ].X [ 7 ] = P2 .C [1 ].X [ 7 ]; T [`P2z ].X [ 7 ] = P2 .C [2 ].X [ 7 ];
304
+ T [`P2x ].X [ 8 ] = P2 .C [0 ].X [ 8 ]; T [`P2y ].X [ 8 ] = P2 .C [1 ].X [ 8 ]; T [`P2z ].X [ 8 ] = P2 .C [2 ].X [ 8 ];
305
+ T [`P2x ].X [ 9 ] = P2 .C [0 ].X [ 9 ]; T [`P2y ].X [ 9 ] = P2 .C [1 ].X [ 9 ]; T [`P2z ].X [ 9 ] = P2 .C [2 ].X [ 9 ];
306
+ T [`P2x ].X [10 ] = P2 .C [0 ].X [10 ]; T [`P2y ].X [10 ] = P2 .C [1 ].X [10 ]; T [`P2z ].X [10 ] = P2 .C [2 ].X [10 ];
307
+ T [`P2x ].X [11 ] = P2 .C [0 ].X [11 ]; T [`P2y ].X [11 ] = P2 .C [1 ].X [11 ]; T [`P2z ].X [11 ] = P2 .C [2 ].X [11 ];
308
+ T [`P2x ].X [12 ] = P2 .C [0 ].X [12 ]; T [`P2y ].X [12 ] = P2 .C [1 ].X [12 ]; T [`P2z ].X [12 ] = P2 .C [2 ].X [12 ];
309
+ T [`P2x ].X [13 ] = P2 .C [0 ].X [13 ]; T [`P2y ].X [13 ] = P2 .C [1 ].X [13 ]; T [`P2z ].X [13 ] = P2 .C [2 ].X [13 ];
310
+ T [`P2x ].X [14 ] = P2 .C [0 ].X [14 ]; T [`P2y ].X [14 ] = P2 .C [1 ].X [14 ]; T [`P2z ].X [14 ] = P2 .C [2 ].X [14 ];
311
+ T [`P2x ].X [15 ] = P2 .C [0 ].X [15 ]; T [`P2y ].X [15 ] = P2 .C [1 ].X [15 ]; T [`P2z ].X [15 ] = P2 .C [2 ].X [15 ];
312
+ T [`P2x ].X [16 ] = P2 .C [0 ].X [16 ]; T [`P2y ].X [16 ] = P2 .C [1 ].X [16 ]; T [`P2z ].X [16 ] = P2 .C [2 ].X [16 ];
313
+ T [`P2x ].X [17 ] = P2 .C [0 ].X [17 ]; T [`P2y ].X [17 ] = P2 .C [1 ].X [17 ]; T [`P2z ].X [17 ] = P2 .C [2 ].X [17 ];
314
+ T [`P2x ].X [18 ] = P2 .C [0 ].X [18 ]; T [`P2y ].X [18 ] = P2 .C [1 ].X [18 ]; T [`P2z ].X [18 ] = P2 .C [2 ].X [18 ];
315
+ T [`P2x ].X [19 ] = P2 .C [0 ].X [19 ]; T [`P2y ].X [19 ] = P2 .C [1 ].X [19 ]; T [`P2z ].X [19 ] = P2 .C [2 ].X [19 ];
316
+ T [`P2x ].X [20 ] = P2 .C [0 ].X [20 ]; T [`P2y ].X [20 ] = P2 .C [1 ].X [20 ]; T [`P2z ].X [20 ] = P2 .C [2 ].X [20 ];
317
+ T [`P2x ].X [21 ] = P2 .C [0 ].X [21 ]; T [`P2y ].X [21 ] = P2 .C [1 ].X [21 ]; T [`P2z ].X [21 ] = P2 .C [2 ].X [21 ];
318
+ T [`P2x ].X [22 ] = P2 .C [0 ].X [22 ]; T [`P2y ].X [22 ] = P2 .C [1 ].X [22 ]; T [`P2z ].X [22 ] = P2 .C [2 ].X [22 ];
319
+ T [`P2x ].X [23 ] = P2 .C [0 ].X [23 ]; T [`P2y ].X [23 ] = P2 .C [1 ].X [23 ]; T [`P2z ].X [23 ] = P2 .C [2 ].X [23 ];
320
+ T [`P2x ].X [24 ] = P2 .C [0 ].X [24 ]; T [`P2y ].X [24 ] = P2 .C [1 ].X [24 ]; T [`P2z ].X [24 ] = P2 .C [2 ].X [24 ];
321
+ T [`P2x ].X [25 ] = P2 .C [0 ].X [25 ]; T [`P2y ].X [25 ] = P2 .C [1 ].X [25 ]; T [`P2z ].X [25 ] = P2 .C [2 ].X [25 ];
322
+ T [`P2x ].X [26 ] = P2 .C [0 ].X [26 ]; T [`P2y ].X [26 ] = P2 .C [1 ].X [26 ]; T [`P2z ].X [26 ] = P2 .C [2 ].X [26 ];
323
+ T [`P2x ].X [27 ] = P2 .C [0 ].X [27 ]; T [`P2y ].X [27 ] = P2 .C [1 ].X [27 ]; T [`P2z ].X [27 ] = P2 .C [2 ].X [27 ];
324
+ T [`P2x ].X [28 ] = P2 .C [0 ].X [28 ]; T [`P2y ].X [28 ] = P2 .C [1 ].X [28 ]; T [`P2z ].X [28 ] = P2 .C [2 ].X [28 ];
325
+ T [`P2x ].X [29 ] = P2 .C [0 ].X [29 ]; T [`P2y ].X [29 ] = P2 .C [1 ].X [29 ]; T [`P2z ].X [29 ] = P2 .C [2 ].X [29 ];
326
+ T [`P2x ].X [30 ] = P2 .C [0 ].X [30 ]; T [`P2y ].X [30 ] = P2 .C [1 ].X [30 ]; T [`P2z ].X [30 ] = P2 .C [2 ].X [30 ];
327
+ T [`P2x ].X [31 ] = P2 .C [0 ].X [31 ]; T [`P2y ].X [31 ] = P2 .C [1 ].X [31 ]; T [`P2z ].X [31 ] = P2 .C [2 ].X [31 ];
328
+ T [`P2x ].X [32 ] = P2 .C [0 ].X [32 ]; T [`P2y ].X [32 ] = P2 .C [1 ].X [32 ]; T [`P2z ].X [32 ] = P2 .C [2 ].X [32 ];
329
+ T [`P2x ].X [33 ] = P2 .C [0 ].X [33 ]; T [`P2y ].X [33 ] = P2 .C [1 ].X [33 ]; T [`P2z ].X [33 ] = P2 .C [2 ].X [33 ];
330
+ T [`P2x ].X [34 ] = P2 .C [0 ].X [34 ]; T [`P2y ].X [34 ] = P2 .C [1 ].X [34 ]; T [`P2z ].X [34 ] = P2 .C [2 ].X [34 ];
331
+ T [`P2x ].X [35 ] = P2 .C [0 ].X [35 ]; T [`P2y ].X [35 ] = P2 .C [1 ].X [35 ]; T [`P2z ].X [35 ] = P2 .C [2 ].X [35 ];
332
+ T [`P2x ].X [36 ] = P2 .C [0 ].X [36 ]; T [`P2y ].X [36 ] = P2 .C [1 ].X [36 ]; T [`P2z ].X [36 ] = P2 .C [2 ].X [36 ];
257
333
258
334
/*
259
- * Run formulas.
260
- */
335
+ * Run formulas.
336
+ */
261
337
for (U = 0 ; True ; ++U )
262
338
{
263
339
Op = Code [U ];
0 commit comments