CmpqsPolynom Class Reference

#include <mpqsPolynom.H>

List of all members.

Public Member Functions

 CmpqsPolynom ()
 ~CmpqsPolynom ()
void compute_first_polynomial (const mpz_t fuer_kN, const int M)
void compute_next_polynomial (const int step=0)
void get_values (const signed int SievePos, mpz_t radix, mpz_t Q) const
double get_logval (const signed int SievePos) const
void SanityCheck (const signed int SievePos=0)
void save (ostream &ostr)
void load (istream &in)
void load_if_available (istream &in)
bool operator< (const mpz_t K) const
unsigned int get_A2_mod (const unsigned int m) const
const mpz_t & get_A2 () const
const mpz_t & get_B () const
const mpz_t & get_D () const

Private Attributes

mpz_t A
mpz_t B
mpz_t C
mpz_t D
mpz_t h0
mpz_t h1
mpz_t h2
mpz_t kN
mpz_t kN_div2
mpz_t D2_inv_mod_kN
mpz_t A2
mpz_t A_div_D_mod_kN
mpz_t B_div_2D_mod_kN


Detailed Description

Definition at line 42 of file mpqsPolynom.H.


Constructor & Destructor Documentation

CmpqsPolynom::CmpqsPolynom (  )  [inline]

Definition at line 56 of file mpqsPolynom.H.

References A, A2, A_div_D_mod_kN, B, B_div_2D_mod_kN, C, D, D2_inv_mod_kN, h0, h1, h2, kN, kN_div2, and mpz_init().

Here is the call graph for this function:

CmpqsPolynom::~CmpqsPolynom (  )  [inline]

Definition at line 64 of file mpqsPolynom.H.

References A, A2, A_div_D_mod_kN, B, B_div_2D_mod_kN, C, D, D2_inv_mod_kN, h0, h1, h2, kN, kN_div2, and mpz_clear().

Here is the call graph for this function:


Member Function Documentation

void CmpqsPolynom::compute_first_polynomial ( const mpz_t  fuer_kN,
const int  M 
)

Definition at line 15 of file mpqsPolynom.cc.

References StaticFactorbaseSettings::BiggestPrime(), collecting_phase_finished, compute_next_polynomial(), cout, D, endl(), Factor_Threshold, kN, kN_div2, mpz_add_ui(), mpz_cmp_ui(), mpz_even_p(), mpz_mul_ui(), mpz_set(), mpz_set_ui(), mpz_sqrt(), and SingleLargePrime_Threshold.

Referenced by main().

Here is the call graph for this function:

void CmpqsPolynom::compute_next_polynomial ( const int  step = 0  ) 

Definition at line 56 of file mpqsPolynom.cc.

References A, A2, A_div_D_mod_kN, B, B_div_2D_mod_kN, C, cerr, numtheory::coprime(), count(), cout, D, D2_inv_mod_kN, endl(), exit(), h0, h1, h2, kN, MARK, mpz_add(), mpz_add_ui(), mpz_clear(), mpz_divexact(), mpz_divisible_p(), mpz_even_p(), mpz_init(), mpz_invert(), mpz_jacobi(), mpz_mod(), mpz_mul(), mpz_mul_ui(), mpz_powm(), mpz_probab_prime_p(), my_mpz_wrapper::mpz_remainder_ui(), mpz_sqrtmod(), mpz_sub(), mpz_sub_ui(), and my_mpz_wrapper::probab_prime_checks.

Referenced by compute_first_polynomial(), load(), load_if_available(), main(), and Cprocess_clients::process_data_stream().

Here is the call graph for this function:

void CmpqsPolynom::get_values ( const signed int  SievePos,
mpz_t  radix,
mpz_t  Q 
) const

Definition at line 203 of file mpqsPolynom.cc.

References A_div_D_mod_kN, B_div_2D_mod_kN, kN, kN_div2, mpz_add(), mpz_cmp(), mpz_mod(), mpz_mul(), mpz_mul_si(), and mpz_sub().

Here is the call graph for this function:

double CmpqsPolynom::get_logval ( const signed int  SievePos  )  const

Definition at line 212 of file mpqsPolynom.cc.

References A_div_D_mod_kN, B_div_2D_mod_kN, std::fabs(), kN, kN_div2, std::log(), mpz_add(), mpz_clear(), mpz_cmp(), mpz_get_d(), mpz_init_set_si(), mpz_mod(), mpz_mul(), and mpz_sub().

Here is the call graph for this function:

void CmpqsPolynom::SanityCheck ( const signed int  SievePos = 0  ) 

Definition at line 170 of file mpqsPolynom.cc.

References A, B, C, cerr, cout, D2_inv_mod_kN, endl(), exit(), h0, h1, h2, kN, kN_div2, mpz_add(), mpz_clear(), mpz_cmp(), mpz_init(), mpz_mod(), mpz_mul(), mpz_mul_ui(), mpz_neg(), mpz_set_si(), and mpz_sub().

Here is the call graph for this function:

void CmpqsPolynom::save ( ostream ostr  ) 

Definition at line 227 of file mpqsPolynom.cc.

References D, and endl().

Referenced by main(), Cprocess_clients::process_data_stream(), and statistical_data::StatusReport().

Here is the call graph for this function:

void CmpqsPolynom::load ( istream in  ) 

Definition at line 234 of file mpqsPolynom.cc.

References compute_next_polynomial(), D, and mpz_sub_ui().

Referenced by CClientPolynomFetcher::fetch(), load_if_available(), and main().

Here is the call graph for this function:

void CmpqsPolynom::load_if_available ( istream in  ) 

Definition at line 242 of file mpqsPolynom.cc.

References cerr, compute_next_polynomial(), endl(), isspace(), and load().

Referenced by main().

Here is the call graph for this function:

bool CmpqsPolynom::operator< ( const mpz_t  K  )  const [inline]

Definition at line 80 of file mpqsPolynom.H.

References D, and mpz_cmp().

Here is the call graph for this function:

unsigned int CmpqsPolynom::get_A2_mod ( const unsigned int  m  )  const [inline]

Definition at line 86 of file mpqsPolynom.H.

References D, my_mpz_wrapper::mpz_remainder_ui(), and numtheory::squaremod().

Here is the call graph for this function:

const mpz_t& CmpqsPolynom::get_A2 (  )  const [inline]

Definition at line 93 of file mpqsPolynom.H.

References A2.

const mpz_t& CmpqsPolynom::get_B (  )  const [inline]

Definition at line 94 of file mpqsPolynom.H.

References B.

Referenced by DynamicFactorArrays::compute_Deltas_for_DynamicFactors().

const mpz_t& CmpqsPolynom::get_D (  )  const [inline]

Definition at line 95 of file mpqsPolynom.H.

References D.

Referenced by DynamicFactorArrays::compute_Deltas_for_DynamicFactors().


Member Data Documentation

mpz_t CmpqsPolynom::A [private]

Definition at line 51 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::B [private]

Definition at line 51 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), get_B(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::C [private]

Definition at line 51 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::D [private]

Definition at line 51 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_first_polynomial(), compute_next_polynomial(), get_A2_mod(), get_D(), load(), operator<(), save(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::h0 [private]

Definition at line 51 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::h1 [private]

Definition at line 51 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::h2 [private]

Definition at line 51 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::kN [private]

Definition at line 52 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_first_polynomial(), compute_next_polynomial(), get_logval(), get_values(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::kN_div2 [private]

Definition at line 52 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_first_polynomial(), get_logval(), get_values(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::D2_inv_mod_kN [private]

Definition at line 52 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), SanityCheck(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::A2 [private]

Definition at line 53 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), get_A2(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::A_div_D_mod_kN [private]

Definition at line 54 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), get_logval(), get_values(), and ~CmpqsPolynom().

mpz_t CmpqsPolynom::B_div_2D_mod_kN [private]

Definition at line 54 of file mpqsPolynom.H.

Referenced by CmpqsPolynom(), compute_next_polynomial(), get_logval(), get_values(), and ~CmpqsPolynom().


The documentation for this class was generated from the following files:
Generated on Wed Nov 7 23:30:56 2007 for Qsieve by  doxygen 1.5.4