aboutsummaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/main.cpp b/main.cpp
index 43d2de7..380fd0f 100644
--- a/main.cpp
+++ b/main.cpp
@@ -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);
}