Miller–Rabin primality test: Difference between revisions

Content added Content deleted
Line 494: Line 494:
{{trans|Ruby}}
{{trans|Ruby}}
<lang d>import std.random;
<lang d>import std.random;

bool isProbablePrime(ulong n, int k) {
bool isProbablePrime(ulong n, int k) {
if (n < 2 || n % 2 == 0)
if (n < 2 || n % 2 == 0)
Line 505: Line 506:
}
}
assert(2 ^^ s * d == n - 1);
assert(2 ^^ s * d == n - 1);

outer:
outer:
foreach (_; 0 .. k) {
foreach (_; 0 .. k) {
Line 518: Line 520:
return false;
return false;
}
}

return true;
return true;
}
}