@@ -38,6 +38,8 @@ form GenerateWesolowski(form &y, form &x_init,
38
38
39
39
uint64_t k1 = k / 2 ;
40
40
uint64_t k0 = k - k1;
41
+ assert (k > 0 );
42
+ assert (l > 0 );
41
43
42
44
form x = form::identity (D);
43
45
@@ -48,12 +50,10 @@ form GenerateWesolowski(form &y, form &x_init,
48
50
for (uint64_t i = 0 ; i < (1 << k); i++)
49
51
ys[i] = form::identity (D);
50
52
51
- form *tmp;
52
- for (uint64_t i = 0 ; i < ceil (1.0 * num_iterations / (k * l)); i++) {
53
+ for (uint64_t i = 0 ; i < ceil (double (num_iterations) / (k * l)); i++) {
53
54
if (num_iterations >= k * (i * l + j + 1 )) {
54
55
uint64_t b = GetBlock (i*l + j, k, num_iterations, B);
55
- tmp = &intermediates[i];
56
- nucomp_form (ys[b], ys[b], *tmp, D, L);
56
+ nucomp_form (ys[b], ys[b], intermediates[i], D, L);
57
57
}
58
58
}
59
59
for (uint64_t b1 = 0 ; b1 < (1 << k1); b1++) {
@@ -87,6 +87,8 @@ std::vector<uint8_t> ProveSlow(integer& D, form& x, uint64_t num_iterations) {
87
87
int d_bits = D.num_bits ();
88
88
89
89
ApproximateParameters (num_iterations, l, k);
90
+ if (k <= 0 ) k = 1 ;
91
+ if (l <= 0 ) l = 1 ;
90
92
for (int i = 0 ; i < num_iterations; i++) {
91
93
if (i % (k * l) == 0 ) {
92
94
intermediates.push_back (y);
0 commit comments