40#ifndef GEOGRAM_NUMERICS_PCK 
   41#define GEOGRAM_NUMERICS_PCK 
   99        class GEOGRAM_API PredicateStats {
 
  101        PredicateStats(
const char* name);
 
  112        static void show_all_stats();
 
  114        static PredicateStats* first_;
 
  115        PredicateStats* next_;
 
  117        std::atomic<Numeric::int64> invoke_count_;
 
  118        std::atomic<Numeric::int64> exact_count_;
 
  119        std::atomic<Numeric::int64> SOS_count_;
 
  133            static void show_all_stats() {
 
  134                Logger::out(
"Stats") << 
"Compiled without PCK_STAT (no stats)" 
 
  145#define SOS_result(x) [&]()->Sign { return Sign(x); } 
  170            class POINT, 
class COMPARE,
 
  171            class FUNC1, 
class FUNC2, 
class FUNC3, 
class FUNC4
 
  174                const POINT& p1, FUNC1 sos_p1,
 
  175                const POINT& p2, FUNC2 sos_p2,
 
  176                const POINT& p3, FUNC3 sos_p3,
 
  177                const POINT& p4, FUNC4 sos_p4
 
  179            static constexpr int N = 4;
 
  181            const POINT* p[N] = {&p1, &p2, &p3, &p4};
 
  184                [compare](
const POINT* A, 
const POINT* B)->
bool{
 
  185                    return compare(*A,*B);
 
  188            for(
int i=0; i<N; ++i) {
 
 
#define geo_assert_not_reached
Sets a non reachable point in the program.
Logs statistics for predicates. The statistics are displayed on exit if the command line flag "sys:st...
Common include file, providing basic definitions. Should be included before anything else by all head...
Generic logging mechanism.
Sign SOS(COMPARE compare, const POINT &p1, FUNC1 sos_p1, const POINT &p2, FUNC2 sos_p2, const POINT &p3, FUNC3 sos_p3, const POINT &p4, FUNC4 sos_p4)
template for writing symbolic perturbation in predicates
void show_stats()
Displays statistics about the current process.
Global Vorpaline namespace.
void geo_argused(const T &)
Suppresses compiler warnings about unused parameters.
Sign
Integer constants that represent the sign of a value.
Types and functions for numbers manipulation.