00001 #ifndef EASY_FACTOR_HEADER_ 00002 #define EASY_FACTOR_HEADER_ 00003 00009 #include <gmp.h> 00010 #include <string> 00011 #include "utils.H" 00012 #include "mpz_wrapper.H" 00013 using namespace my_mpz_wrapper; 00014 00015 using std::ostream; 00016 using std::istream; 00017 00018 using std::cout; 00019 using std::cerr; 00020 00021 // parameters for easy-factorization (defaults) 00022 extern bool SkipFermat; 00023 extern bool UsePhimat; 00024 extern bool SkipPhi; 00025 extern bool SkipFibonacci; 00026 extern bool SkipEasyECM; 00027 extern bool SkipECM; 00028 extern int rho_Phase; 00029 extern int phi_Phase1; 00030 extern double phi_Phase2; 00031 extern double elcu_Phase1; 00032 extern double elcu_Phase2; 00033 extern int elcu_Kurven; 00034 00035 00037 void pollard(const int runden); 00038 00040 bool try_memorized_factors(mpz_t n, const std::string& memfilename); 00041 00043 bool Potenztest(const mpz_t n); 00044 00046 void fermat_like_method(); 00047 00049 void phimat(mpz_t n); 00050 void phimat2(); 00051 00053 void easy_factor(); 00054 00055 #endif /* EASY_FACTOR_HEADER_ */