45#define GEOMC_MTX_CHECK_DIMS
52#define GEOMC_MTX_CHECK_ALIASING
56#define GEOMC_LINALG_USE_STREAMS
60#define GEOMC_FUNCTION_USE_STREAMS
63#define PI (3.141592653589793238462643383)
64#define TAU (6.283185307179586476925286767)
66#define DYNAMIC_DIM (0)
68#define M_CLAMP(v,lo,hi) std::min(std::max((v),(lo)),(hi))
70#define M_ENABLE_IF(cond) \
71 typename std::enable_if<(cond), int>::type DUMMY=0
73#define DERIVED_TYPE(base,derived) \
74 typename std::enable_if< std::is_base_of< (base), (derived) >, (derived)>::type
76#define REQUIRE_INHERIT(base,derived) \
77 typename std::enable_if< std::is_base_of< (base), (derived) >, int>::type dummy=0
79#define REQUIRE_INHERIT_T(base,derived) \
80 typename std::enable_if< std::is_base_of< base, derived >, int>::type
82typedef std::ptrdiff_t index_t;
84template <
typename T>
inline T positive_mod(T a, T b){
85 return (a % b + b) % b;
93 template <
typename T, index_t N>
struct Storage;
94 template <
typename T, index_t N>
struct SizedStorage;
Namespace of all geomc functions and classes.
Definition: CircularBuffer.h:8
Functions to extend support of stdlib to geomc classes.
Definition: Dual.h:383
Definition: geomc_defs.h:95