|
Camargue
|
Utility functions, macros, and structures. More...
#include <algorithm>#include <array>#include <iostream>#include <memory>#include <string>#include <utility>#include <vector>#include <cmath>

Go to the source code of this file.
Classes | |
| struct | CMR::OutPrefs |
| Preferences related to tour file output and verbosity. More... | |
| struct | CMR::util::C_resource_deleter< T > |
| Class template for deleting resources allocated by C functions. More... | |
| class | CMR::util::SquareUT< T > |
| Class template for a square upper triangular matrix. More... | |
| struct | CMR::Segment |
| Simple utility struct for storing an interval of nodes. More... | |
| struct | CMR::EndPts |
| Simple base class for storing edge of a graph as a sorted pair of nodes. More... | |
Namespaces | |
| CMR | |
| The namespace for this project. | |
| CMR::Epsilon | |
| Numerical tolerances. | |
| CMR::util | |
| Utility functions/structures used miscellaneous places in the project. | |
Typedefs | |
| template<typename numtype > | |
| using | CMR::util::c_array_ptr = std::unique_ptr< numtype, C_resource_deleter< numtype >> |
| Alias declaration for unique_ptr to C array. More... | |
Functions | |
| bool | CMR::util::var_integral (double d) |
| Is a zero-one variable considered integral. | |
| double | CMR::util::zeit (void) |
| CPU time function. | |
| double | CMR::util::real_zeit (void) |
| Wall clock time function. | |
| template<typename T , typename... Args> | |
| std::unique_ptr< T > | CMR::util::make_unique (Args &&...args) |
| As per Herb Sutter, port of C++14's make_unique faculty. | |
| template<typename T , typename... Args> | |
| void | CMR::util::ptr_reset (std::unique_ptr< T > &target, Args &&...args) |
| Adaptation of make_unique to reset a unique_ptr to an object. More... | |
| template<typename ElemType , typename PredType > | |
| void | CMR::util::erase_remove (std::vector< ElemType > &vec, PredType pred) |
| Standardization of erase-remove idiom. More... | |
| bool | CMR::operator== (EndPts e1, EndPts e2) |
| std::ostream & | CMR::operator<< (std::ostream &os, const EndPts &e) |
Variables | |
| constexpr double | CMR::Epsilon::Zero = 0.000001 |
| Numbers less than this treated as zero. | |
| constexpr double | CMR::Epsilon::MinCut = 0.0001 |
| Tolerance for min cut computations. | |
| constexpr double | CMR::Epsilon::CutViol = 0.001 |
| Cuts are not considered violated unless by at least this much. | |
| constexpr double | CMR::Epsilon::DualDust = 0.001 |
| Small dual values. | |
| constexpr double | CMR::Epsilon::TotalDelta = 0.01 |
| A round of cuts is a failure if the pivot deltas sum to less than this. | |
| constexpr double | CMR::Epsilon::PHratio = 0.1 |
| A small value of the Padberg-Hong metric. | |
Utility functions, macros, and structures.
1.8.11