glucat
0.8.4
|
Go to the source code of this file.
Classes | |
struct | glucat::CTAssertion< bool > |
Compile time assertion. More... | |
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... | |
struct | glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision > |
Tuning policy. More... | |
Namespaces | |
glucat | |
Macros | |
#define | _GLUCAT_CTAssert(expr, msg) namespace { struct msg { glucat::CTAssertion<(expr)> ERROR_##msg; }; } |
Typedefs | |
typedef int | glucat::index_t |
Size of index_t should be enough to represent LO, HI. More... | |
typedef unsigned long | glucat::set_value_t |
Size of set_value_t should be enough to contain index_set<LO,HI> More... | |
Enumerations | |
enum | glucat::precision_t { glucat::precision_demoted, glucat::precision_same, glucat::precision_promoted } |
Precision policy. More... | |
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. More... | |
glucat::_GLUCAT_CTAssert (_GLUCAT_BITS_PER_ULONG==BITS_PER_SET_VALUE, BitsPerULongDoesNotMatchSetValueT) const index_t DEFAULT_LO | |
Default lowest index in an index set. More... | |
template<typename LHS_T , typename RHS_T > | |
LHS_T | glucat::pos_mod (LHS_T lhs, RHS_T rhs) |
Modulo function which works reliably for lhs < 0. More... | |
Variables | |
const double | glucat::MS_PER_S = 1000.0 |
Timing constant: deprecated here - moved to test/timing.h. More... | |
const index_t | glucat::BITS_PER_SET_VALUE = std::numeric_limits<set_value_t>::digits |
Number of bits in set_value_t. More... | |
const index_t | glucat::DEFAULT_HI = index_t(BITS_PER_SET_VALUE / 2) |
Default highest index in an index set. More... | |
const double | glucat::DEFAULT_TRUNCATION = std::numeric_limits<float>::epsilon() |
Default for truncation. More... | |
const unsigned int | glucat::DEFAULT_Mult_Matrix_Threshold = 8 |
const unsigned int | glucat::DEFAULT_Div_Max_Steps = 4 |
const unsigned int | glucat::DEFAULT_Sqrt_Max_Steps = 256 |
const unsigned int | glucat::DEFAULT_Log_Max_Outer_Steps = 256 |
const unsigned int | glucat::DEFAULT_Log_Max_Inner_Steps = 32 |
const unsigned int | glucat::DEFAULT_Basis_Max_Count = 12 |
const unsigned int | glucat::DEFAULT_Fast_Size_Threshold = 1 << 6 |
const unsigned int | glucat::DEFAULT_Inv_Fast_Dim_Threshold = 1 << 3 |
const unsigned int | glucat::DEFAULT_Products_Size_Threshold = 1 << 22 |
const precision_t | glucat::DEFAULT_Function_Precision = precision_same |
#define _GLUCAT_CTAssert | ( | expr, | |
msg | |||
) | namespace { struct msg { glucat::CTAssertion<(expr)> ERROR_##msg; }; } |