glucat 0.13.0
global.h File Reference
#include "glucat/portability.h"
#include <limits>
#include <climits>
Include dependency graph for global.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  glucat::CTAssertion< true >
 
class  glucat::compare_types< LHS_T, RHS_T >
 Type comparison. More...
 
class  glucat::compare_types< T, T >
 
class  glucat::bool_to_type< truth_value >
 Bool to type. More...
 

Namespaces

namespace  glucat
 

Macros

#define _GLUCAT_CTAssert(expr, msg)
 

Typedefs

using glucat::index_t = int
 Size of index_t should be enough to represent LO, HI.
 
using glucat::set_value_t = unsigned long
 Size of set_value_t should be enough to contain index_set<LO,HI>
 

Functions

 glucat::_GLUCAT_CTAssert (std::numeric_limits< unsigned char >::radix==2, CannotDetermineBitsPerChar) const index_t BITS_PER_CHAR
 If radix of unsigned char is not 2, we can't easily determine number of bits from sizeof.
 
 glucat::_GLUCAT_CTAssert (_GLUCAT_BITS_PER_ULONG==BITS_PER_SET_VALUE, BitsPerULongDoesNotMatchSetValueT) const index_t DEFAULT_LO
 Default lowest index in an index set.
 
template<typename LHS_T, typename RHS_T>
auto glucat::pos_mod (LHS_T lhs, RHS_T rhs) -> LHS_T
 Modulo function which works reliably for lhs < 0.
 

Variables

const double glucat::MS_PER_S = 1000.0
 Timing constant: deprecated here - moved to test/timing.h.
 
const index_t glucat::BITS_PER_SET_VALUE = std::numeric_limits<set_value_t>::digits
 Number of bits in set_value_t.
 
const index_t glucat::DEFAULT_HI = index_t(BITS_PER_SET_VALUE / 2)
 Default highest index in an index set.
 

Macro Definition Documentation

◆ _GLUCAT_CTAssert

#define _GLUCAT_CTAssert ( expr,
msg )
Value:
namespace { struct msg { glucat::CTAssertion<(expr)> ERROR_##msg; }; }
Compile time assertion.
Definition global.h:46

Definition at line 48 of file global.h.