Delphi-Quellcode:
for i:=0
to Trunc(Sqrt(PrimeBits)/30)
do
for j:=0
to 7
do
if PrimesLUT[i]
and (1
shl j)=0
then begin
s:=STEMPEL[j];
Num:=i*30+s;
Num2:=Num*Num;
mbit:=Num2
mod 30;
m:=(Num2-mbit)
div 30;
while m<PrimeLen
do begin
PrimesLUT[m]:=PrimesLUT[m]
or MODS[mbit];
Inc(m, i);
Inc(mbit, s);
if mbit>29
then begin
Dec(mbit, 30);
Inc(m);
end;
end;
end;
ersetze in Num := i*30+s -> Num := ic + s; und ic inkrementierst du in der i Schleife mit +30.
So gäbe es bestimmt noch einige Stellen die succesive auf dies Art und Weise beschleunigt werden können.
Gruß Hagen