@@ -32,7 +32,7 @@ static void print_table(FILE *fp, const char *name, int window_g, const secp256k
32
32
33
33
j = 1 ;
34
34
for (i = 3 ; i <= window_g ; ++ i ) {
35
- fprintf (fp , "#if ECMULT_TABLE_SIZE( WINDOW_G) > %ld \n" , ECMULT_TABLE_SIZE ( i - 1 ) );
35
+ fprintf (fp , "#if WINDOW_G > %d \n" , i - 1 );
36
36
for (;j < ECMULT_TABLE_SIZE (i ); ++ j ) {
37
37
fprintf (fp , ",S(%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32
38
38
",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ",%" PRIx32 ")\n" ,
@@ -57,6 +57,8 @@ static void print_two_tables(FILE *fp, int window_g) {
57
57
}
58
58
59
59
int main (void ) {
60
+ /* Always compute all tables for window sizes up to 15. */
61
+ int window_g = (ECMULT_WINDOW_SIZE < 15 ) ? 15 : ECMULT_WINDOW_SIZE ;
60
62
FILE * fp ;
61
63
62
64
fp = fopen ("src/precomputed_ecmult.c" ,"w" );
@@ -77,15 +79,15 @@ int main(void) {
77
79
fprintf (fp , "#include \"ecmult.h\"\n" );
78
80
fprintf (fp , "#include \"precomputed_ecmult.h\"\n" );
79
81
fprintf (fp , "#define S(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) SECP256K1_GE_STORAGE_CONST(0x##a##u,0x##b##u,0x##c##u,0x##d##u,0x##e##u,0x##f##u,0x##g##u,0x##h##u,0x##i##u,0x##j##u,0x##k##u,0x##l##u,0x##m##u,0x##n##u,0x##o##u,0x##p##u)\n" );
80
- fprintf (fp , "#if ECMULT_TABLE_SIZE( ECMULT_WINDOW_SIZE) > %ld \n" , ECMULT_TABLE_SIZE ( ECMULT_WINDOW_SIZE ) );
82
+ fprintf (fp , "#if ECMULT_WINDOW_SIZE > %d \n" , window_g );
81
83
fprintf (fp , " #error configuration mismatch, invalid ECMULT_WINDOW_SIZE. Try deleting precomputed_ecmult.c before the build.\n" );
82
84
fprintf (fp , "#endif\n" );
83
85
fprintf (fp , "#ifdef EXHAUSTIVE_TEST_ORDER\n" );
84
86
fprintf (fp , "# error Cannot compile precomputed_ecmult.c in exhaustive test mode\n" );
85
87
fprintf (fp , "#endif /* EXHAUSTIVE_TEST_ORDER */\n" );
86
88
fprintf (fp , "#define WINDOW_G ECMULT_WINDOW_SIZE\n" );
87
89
88
- print_two_tables (fp , ECMULT_WINDOW_SIZE );
90
+ print_two_tables (fp , window_g );
89
91
90
92
fprintf (fp , "#undef S\n" );
91
93
fclose (fp );
0 commit comments