Skip to content

Commit 141bee1

Browse files
wNaf Edwards twisted torsion 16 stage 2 OK
1 parent 7fa83c1 commit 141bee1

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

src/modes/RunEcm.cpp

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,15 +273,32 @@ int App::runECMMarin()
273273

274274
vector<uint64_t> primesB1_v, primesS2_v;
275275
{
276-
uint64_t Pmax = B2 ? B2 : B1;
276+
uint64_t Pmax = B1;
277+
if (B2 > B1) Pmax = B2;
278+
277279
vector<char> sieve(Pmax + 1, 1);
278-
sieve[0]=0; if (Pmax >= 1) sieve[1]=0;
279-
for (uint64_t q=2;q*q<=Pmax;++q) if (sieve[q]) for (uint64_t k=q*q;k<=Pmax;k+=q) sieve[k]=0;
280-
for (uint64_t q=2;q<=B1;++q) if (sieve[q]) primesB1_v.push_back((uint32_t)q);
281-
if (B2 > B1) for (uint64_t q=B1+1;q<=B2;++q) if (sieve[q]) primesS2_v.push_back((uint64_t)q);
282-
std::cout<<"[ECM] Prime counts: B1="<<primesB1_v.size()<<", S2="<<primesS2_v.size()<<std::endl;
280+
sieve[0] = 0;
281+
if (Pmax >= 1) sieve[1] = 0;
282+
283+
for (uint64_t q = 2; q*q <= Pmax; ++q)
284+
if (sieve[q])
285+
for (uint64_t k = q*q; k <= Pmax; k += q)
286+
sieve[k] = 0;
287+
288+
for (uint64_t q = 2; q <= B1; ++q)
289+
if (sieve[q])
290+
primesB1_v.push_back((uint32_t)q);
291+
292+
if (B2 > B1)
293+
for (uint64_t q = B1 + 1; q <= B2; ++q)
294+
if (sieve[q])
295+
primesS2_v.push_back((uint64_t)q);
296+
297+
std::cout << "[ECM] Prime counts: B1=" << primesB1_v.size()
298+
<< ", S2=" << primesS2_v.size() << std::endl;
283299
}
284300

301+
285302
vector<uint64_t> s1_factors;
286303
mpz_class K(1);
287304
for (uint32_t q : primesB1_v) { uint64_t m = q; while (m <= B1 / q) m *= q; s1_factors.push_back(m); mpz_mul_ui(K.get_mpz_t(), K.get_mpz_t(), m); }

src/modes/RunEcmTwistedEdwards.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ int App::runECMMarinTwistedEdwards()
369369
vector<uint64_t> primesB1_v, primesS2_v;
370370
{
371371
uint64_t Pmax = B1;
372-
if (B2 > B1) Pmax = B2; // on a besoin de max(B1,B2)
372+
if (B2 > B1) Pmax = B2;
373373

374374
vector<char> sieve(Pmax + 1, 1);
375375
sieve[0] = 0;

0 commit comments

Comments
 (0)