00001 00002 00003 #if !defined(LOCAL_CHECKING_STATS_H) 00004 #define LOCAL_CHECKING_STATS_H 00005 00006 00007 #include "output.h" // Needed for output and strict I/O routines... 00008 00009 00010 // This class tells us the checking statistics for a given local cover 00011 class LocalCheckingStats { 00012 00013 public: 00014 LocalCheckingStats(const long & num_of_prime_factors); // Constructor 00015 ~LocalCheckingStats(); // Destructor 00016 00017 long MAX_STATS_DEPTH; // This is the maximum depth recorded in this class! 00018 00019 00020 ostream & Print(ostream & out) const; // Prints the local cover checking statistics 00021 00022 00023 00024 // Variables giving the stats for number checking, indexed by the number of prime factors 00025 vector<mpz_class> total_eligible; 00026 vector<mpz_class> total_represented; 00027 vector<mpz_class> total_missed; 00028 00029 // Vector giving the # of eligible numbers verified at a given depth (for each prime factor) 00030 vector< vector<mpz_class> > representation_depths; 00031 00032 00033 00034 00035 // Rigid I/O routines for making persistent datafiles (called by front-end functions for consistency): 00036 // --------------------------------------------------------------------------------------------------- 00037 void _FileOutput(ostream & out) const; 00038 void _FileInput(istream & in); 00039 00040 }; 00041 00042 00043 ostream & operator<<(ostream & out, const LocalConditions & local); 00044 00045 00046 00047 // ------------------------------------ 00048 00049 #include "local_checking_stats.cc" 00050 00051 00052 #endif 00053 00054 00055 00056 00057 00058
1.5.1