diff options
Diffstat (limited to 'main.cpp')
-rw-r--r-- | main.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
@@ -144,21 +144,19 @@ void performrsa(){ cout<<"msg = "<<msg2<<endl; } -void fermatpseudo(){ - fillsmallprimes(); - for(int i=2;i<65000;i++){ - if(!strongPseudoPrime2(Bigint(i)))continue; - if(!binary_search(smallprimes.begin(),smallprimes.end(),i))cout<<i<<' '; - } - cout<<endl; -} - -void lucaspseudo(){ +void pseudolist(bool(*func)(const Bigint&)){ fillsmallprimes(); for(int i=2;i<65000;i++){ // cerr<<"TRYING "<<i<<endl; - if(!strongLucasPrime(Bigint(i)))continue; - if(!binary_search(smallprimes.begin(),smallprimes.end(),i))cout<<i<<' '; + bool actualprime=binary_search(smallprimes.begin(),smallprimes.end(),i); + if(!func(Bigint(i))){ + if(actualprime){ + cerr<<"Test misleadingly said that "<<i<<" isn't prime, while it is!"<<endl; + exit(1); + } + continue; + } + if(!actualprime)cout<<i<<' '; } cout<<endl; } @@ -171,7 +169,8 @@ int main(int argc,char **argv){ // performrsa(); // testisqrt(argc,argv); // randprime(Bigint(20),Bigint(42)); - // fermatpseudo(); // strongLucasPrime(Bigint(5)); - lucaspseudo(); + // cout<<strongLucasPrime(Bigint(5777))<<endl; + // pseudolist(strongPseudoPrime2); + pseudolist(strongLucasPrime); } |