glucat
0.8.2
|
Namespaces | |
gen | |
matrix | |
timing | |
Classes | |
class | basis_table |
Table of basis elements used as a cache by basis_element() More... | |
class | bool_to_type |
Bool to type. More... | |
class | clifford_algebra |
clifford_algebra<> declares the operations of a Clifford algebra More... | |
class | compare_types |
Type comparison. More... | |
class | compare_types< T, T > |
class | control_t |
Parameters to control tests. More... | |
struct | CTAssertion |
Compile time assertion. More... | |
struct | CTAssertion< true > |
class | error |
Specific exception class. More... | |
class | framed_multi |
A framed_multi<Scalar_T,LO,HI> is a framed approximation to a multivector. More... | |
class | glucat_error |
Abstract exception class. More... | |
class | index_set |
Index set class based on std::bitset<> in Gnu standard C++ library. More... | |
class | index_set_hash |
class | matrix_multi |
A matrix_multi<Scalar_T,LO,HI> is a matrix approximation to a multivector. More... | |
class | numeric_traits |
Extra traits which extend numeric limits. More... | |
class | random_generator |
Random number generator with single instance per Scalar_T. More... | |
class | sorted_range |
Sorted range for use with output. More... | |
class | sorted_range< Sorted_Map_T, Sorted_Map_T > |
struct | tuning |
Tuning policy. More... | |
Typedefs | |
typedef int | index_t |
Size of index_t should be enough to represent LO, HI. More... | |
typedef unsigned long | set_value_t |
Size of set_value_t should be enough to contain index_set<LO,HI> More... | |
typedef int(* | intfn) () |
For exception catching: pointer to function returning int. More... | |
typedef int(* | intintfn) (int) |
For exception catching: pointer to function of int returning int. More... | |
Enumerations | |
enum | precision_t { precision_demoted, precision_same, precision_promoted } |
Precision policy. More... | |
Functions | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
bool | operator!= (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Test for inequality of multivectors. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
bool | operator!= (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
Test for inequality of multivector and scalar. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
bool | operator!= (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
Test for inequality of scalar and multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator+ (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
Geometric sum of multivector and scalar. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator+ (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
Geometric sum of scalar and multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator+ (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Geometric sum. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator- (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
Geometric difference of multivector and scalar. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator- (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
Geometric difference of scalar and multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator- (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Geometric difference. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator* (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
Product of multivector and scalar. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator* (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
Product of scalar and multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator* (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Geometric product. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator^ (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Outer product. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator & (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Inner product. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator% (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Left contraction. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | star (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Hestenes scalar product. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator/ (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
Quotient of multivector and scalar. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator/ (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
Quotient of scalar and multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator/ (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Geometric quotient. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator| (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Transformation via twisted adjoint action. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | inv (const Multivector< Scalar_T, LO, HI > &val) |
Geometric multiplicative inverse. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | pow (const Multivector< Scalar_T, LO, HI > &lhs, int rhs) |
Integer power of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | pow (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Multivector power of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | outer_pow (const Multivector< Scalar_T, LO, HI > &lhs, int rhs) |
Outer product power of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | scalar (const Multivector< Scalar_T, LO, HI > &val) |
Scalar part. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | real (const Multivector< Scalar_T, LO, HI > &val) |
Real part: synonym for scalar part. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | imag (const Multivector< Scalar_T, LO, HI > &val) |
Imaginary part: deprecated (always 0) More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | pure (const Multivector< Scalar_T, LO, HI > &val) |
Pure part. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | even (const Multivector< Scalar_T, LO, HI > &val) |
Even part. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | odd (const Multivector< Scalar_T, LO, HI > &val) |
Odd part. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const std::vector< Scalar_T > | vector_part (const Multivector< Scalar_T, LO, HI > &val) |
Vector part of multivector, as a vector_t with respect to frame() More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | involute (const Multivector< Scalar_T, LO, HI > &val) |
Main involution, each {i} is replaced by -{i} in each term, eg. {1}*{2} -> (-{2})*(-{1}) More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | reverse (const Multivector< Scalar_T, LO, HI > &val) |
Reversion, eg. {1}*{2} -> {2}*{1}. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | conj (const Multivector< Scalar_T, LO, HI > &val) |
Conjugation, rev o invo == invo o rev. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | quad (const Multivector< Scalar_T, LO, HI > &val) |
Scalar_T quadratic form == (rev(x)*x)(0) More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | norm (const Multivector< Scalar_T, LO, HI > &val) |
Scalar_T norm == sum of norm of coordinates. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | abs (const Multivector< Scalar_T, LO, HI > &val) |
Absolute value == sqrt(norm) More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | max_abs (const Multivector< Scalar_T, LO, HI > &val) |
Maximum of absolute values of components of multivector: multivector infinity norm. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | complexifier (const Multivector< Scalar_T, LO, HI > &val) |
Square root of -1 which commutes with all members of the frame of the given multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | elliptic (const Multivector< Scalar_T, LO, HI > &val) |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | sqrt (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Square root of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | sqrt (const Multivector< Scalar_T, LO, HI > &val) |
Square root of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | clifford_exp (const Multivector< Scalar_T, LO, HI > &val) |
Exponential of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | log (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Natural logarithm of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | log (const Multivector< Scalar_T, LO, HI > &val) |
Natural logarithm of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | cos (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Cosine of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | cos (const Multivector< Scalar_T, LO, HI > &val) |
Cosine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | acos (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Inverse cosine of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | acos (const Multivector< Scalar_T, LO, HI > &val) |
Inverse cosine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | cosh (const Multivector< Scalar_T, LO, HI > &val) |
Hyperbolic cosine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | acosh (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Inverse hyperbolic cosine of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | acosh (const Multivector< Scalar_T, LO, HI > &val) |
Inverse hyperbolic cosine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | sin (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Sine of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | sin (const Multivector< Scalar_T, LO, HI > &val) |
Sine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | asin (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Inverse sine of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | asin (const Multivector< Scalar_T, LO, HI > &val) |
Inverse sine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | sinh (const Multivector< Scalar_T, LO, HI > &val) |
Hyperbolic sine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | asinh (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Inverse hyperbolic sine of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | asinh (const Multivector< Scalar_T, LO, HI > &val) |
Inverse hyperbolic sine of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | tan (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Tangent of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | tan (const Multivector< Scalar_T, LO, HI > &val) |
Tangent of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | atan (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Inverse tangent of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | atan (const Multivector< Scalar_T, LO, HI > &val) |
Inverse tangent of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | tanh (const Multivector< Scalar_T, LO, HI > &val) |
Hyperbolic tangent of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | atanh (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Inverse hyperbolic tangent of multivector with specified complexifier. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | atanh (const Multivector< Scalar_T, LO, HI > &val) |
Inverse hyperbolic tangent of multivector. More... | |
template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
const Multivector< Scalar_T, LO, HI > | operator & (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
Inner product. More... | |
template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
static void | check_complex (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
Check that i is a valid complexifier for val. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | operator* (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Geometric product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | operator^ (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Outer product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | operator & (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Inner product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | operator% (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Left contraction. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | star (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Hestenes scalar product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | operator/ (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Geometric quotient. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | operator| (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Transformation via twisted adjoint action. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
std::istream & | operator>> (std::istream &s, framed_multi< Scalar_T, LO, HI > &val) |
Read multivector from input. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
std::ostream & | operator<< (std::ostream &os, const framed_multi< Scalar_T, LO, HI > &val) |
Write multivector to output. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
std::ostream & | operator<< (std::ostream &os, const std::pair< const index_set< LO, HI >, Scalar_T > &term) |
Write term to output. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | exp (const framed_multi< Scalar_T, LO, HI > &val) |
Exponential of multivector. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
static Scalar_T | crd_of_mult (const std::pair< const index_set< LO, HI >, Scalar_T > &lhs, const std::pair< const index_set< LO, HI >, Scalar_T > &rhs) |
Coordinate of product of terms. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const std::pair< const index_set< LO, HI >, Scalar_T > | operator* (const std::pair< const index_set< LO, HI >, Scalar_T > &lhs, const std::pair< const index_set< LO, HI >, Scalar_T > &rhs) |
Product of terms. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | sqrt (const framed_multi< Scalar_T, LO, HI > &val, const framed_multi< Scalar_T, LO, HI > &i, bool prechecked) |
Square root of multivector with specified complexifier. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | log (const framed_multi< Scalar_T, LO, HI > &val, const framed_multi< Scalar_T, LO, HI > &i, bool prechecked) |
Natural logarithm of multivector with specified complexifier. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const framed_multi< Scalar_T, LO, HI > | operator & (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs) |
Inner product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
static Scalar_T | crd_of_mult (const std::pair< const index_set< LO, HI >, Scalar_T > &lhs, const std::pair< const index_set< LO, HI >, Scalar_T > &rhs) |
Coordinate of product of terms. More... | |
_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_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 | pos_mod (LHS_T lhs, RHS_T rhs) |
Modulo function which works reliably for lhs < 0. More... | |
template<const index_t LO, const index_t HI> | |
const index_set< LO, HI > | operator^ (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
Symmetric set difference: exclusive or. More... | |
template<const index_t LO, const index_t HI> | |
const index_set< LO, HI > | operator & (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
Set intersection: and. More... | |
template<const index_t LO, const index_t HI> | |
const index_set< LO, HI > | operator| (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
Set union: or. More... | |
template<const index_t LO, const index_t HI> | |
int | compare (const index_set< LO, HI > &a, const index_set< LO, HI > &b) |
"lexicographic compare" eg. {3,4,5} is less than {3,7,8} More... | |
_GLUCAT_CTAssert (sizeof(set_value_t) >=sizeof(std::bitset< DEFAULT_HI-DEFAULT_LO >), Default_index_set_too_big_for_value) template< const index_t LO | |
Size of set_value_t should be enough to contain bitset<DEFAULT_HI-DEFAULT_LO> More... | |
const index_t HI std::ostream & | operator<< (std::ostream &os, const index_set< LO, HI > &ist) |
Write out index set. More... | |
template<const index_t LO, const index_t HI> | |
std::istream & | operator>> (std::istream &s, index_set< LO, HI > &ist) |
Read in index set. More... | |
int | sign_of_square (index_t j) |
Square of generator {j}. More... | |
template<const index_t LO, const index_t HI> | |
index_t | min_neg (const index_set< LO, HI > &ist) |
Minimum negative index, or 0 if none. More... | |
template<const index_t LO, const index_t HI> | |
index_t | max_pos (const index_set< LO, HI > &ist) |
Maximum positive index, or 0 if none. More... | |
template<const index_t LO, const index_t HI> | |
const index_set< LO, HI > | operator & (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
Set intersection: and. More... | |
static unsigned long | inverse_reversed_gray (unsigned long x) |
Inverse reversed Gray code. More... | |
static unsigned long | inverse_gray (unsigned long x) |
Inverse Gray code. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | operator* (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Geometric product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | operator^ (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Outer product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | operator & (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Inner product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | operator% (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Left contraction. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
Scalar_T | star (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Hestenes scalar product. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | operator/ (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Geometric quotient. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | operator| (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Transformation via twisted adjoint action. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
std::istream & | operator>> (std::istream &s, matrix_multi< Scalar_T, LO, HI > &val) |
Read multivector from input. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
std::ostream & | operator<< (std::ostream &os, const matrix_multi< Scalar_T, LO, HI > &val) |
Write multivector to output. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const index_set< LO, HI > | reframe (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs, matrix_multi< Scalar_T, LO, HI > &lhs_reframed, matrix_multi< Scalar_T, LO, HI > &rhs_reframed) |
Find a common frame for operands of a binary operator. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | sqrt (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_multi< Scalar_T, LO, HI > &i, bool prechecked) |
Square root of multivector with specified complexifier. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | matrix_sqrt (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_multi< Scalar_T, LO, HI > &i) |
Square root of multivector with specified complexifier. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | log (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_multi< Scalar_T, LO, HI > &i, bool prechecked) |
Natural logarithm of multivector with specified complexifier. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | matrix_log (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_multi< Scalar_T, LO, HI > &i) |
Natural logarithm of multivector with specified complexifier. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | exp (const matrix_multi< Scalar_T, LO, HI > &val) |
Exponential of multivector. More... | |
index_t | offset_level (const index_t p, const index_t q) |
Determine the log2 dim corresponding to signature p, q. More... | |
template<typename Matrix_Index_T , const index_t LO, const index_t HI> | |
static Matrix_Index_T | folded_dim (const index_set< LO, HI > &sub) |
Determine the matrix dimension of the fold of a subalegbra. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
const matrix_multi< Scalar_T, LO, HI > | operator & (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
Inner product. More... | |
template<typename Multivector_T , typename Matrix_T , typename Basis_Matrix_T > | |
static Multivector_T | fast (const Matrix_T &X, index_t level) |
Inverse generalized Fast Fourier Transform. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
static const matrix_multi< Scalar_T, LO, HI > | pade_approx (const int array_size, const Scalar_T a[], const Scalar_T b[], const matrix_multi< Scalar_T, LO, HI > &X) |
Pade' approximation. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
static void | db_step (matrix_multi< Scalar_T, LO, HI > &M, matrix_multi< Scalar_T, LO, HI > &Y) |
Single step of product form of Denman-Beavers square root iteration. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
static const matrix_multi< Scalar_T, LO, HI > | db_sqrt (const matrix_multi< Scalar_T, LO, HI > &val) |
Product form of Denman-Beavers square root iteration. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
static const matrix_multi< Scalar_T, LO, HI > | pade_log (const matrix_multi< Scalar_T, LO, HI > &val) |
Pade' approximation of log. More... | |
template<typename Scalar_T , const index_t LO, const index_t HI> | |
static const matrix_multi< Scalar_T, LO, HI > | cascade_log (const matrix_multi< Scalar_T, LO, HI > &val) |
Incomplete square root cascade and Pade' approximation of log. More... | |
template<typename Scalar_T > | |
Scalar_T | log2 (const Scalar_T &x) |
Log base 2 of scalar. More... | |
template<typename Scalar_T > | |
numeric_traits< Scalar_T >::promoted::type | to_promote (const Scalar_T &val) |
Cast to promote. More... | |
template<typename Scalar_T > | |
numeric_traits< Scalar_T >::demoted::type | to_demote (const Scalar_T &val) |
Cast to demote. More... | |
int | try_catch (intfn f) |
Exception catching for functions returning int. More... | |
int | try_catch (intintfn f, int arg) |
Exception catching for functions of int returning int. More... | |
Variables | |
const double | MS_PER_S = 1000.0 |
Timing constant: deprecated here - moved to test/timing.h. More... | |
const index_t | BITS_PER_SET_VALUE = std::numeric_limits<set_value_t>::digits |
Number of bits in set_value_t. More... | |
const index_t | DEFAULT_HI = index_t(BITS_PER_SET_VALUE / 2) |
Default highest index in an index set. More... | |
const double | DEFAULT_TRUNCATION = std::numeric_limits<float>::epsilon() |
Default for truncation. More... | |
const unsigned int | DEFAULT_Mult_Matrix_Threshold = 8 |
const unsigned int | DEFAULT_Div_Max_Steps = 4 |
const unsigned int | DEFAULT_Sqrt_Max_Steps = 256 |
const unsigned int | DEFAULT_Log_Max_Outer_Steps = 256 |
const unsigned int | DEFAULT_Log_Max_Inner_Steps = 32 |
const unsigned int | DEFAULT_Basis_Max_Count = 12 |
const unsigned int | DEFAULT_Fast_Size_Threshold = 1 << 6 |
const unsigned int | DEFAULT_Inv_Fast_Dim_Threshold = 1 << 3 |
const unsigned int | DEFAULT_Products_Size_Threshold = 1 << 22 |
const precision_t | DEFAULT_Function_Precision = precision_same |
static const long double | l_pi = 3.1415926535897932384626433832795029L |
static const long double | l_ln2 = 0.6931471805599453094172321214581766L |
typedef int glucat::index_t |
typedef int(* glucat::intfn) () |
For exception catching: pointer to function returning int.
Definition at line 37 of file try_catch.h.
typedef int(* glucat::intintfn) (int) |
For exception catching: pointer to function of int returning int.
Definition at line 40 of file try_catch.h.
typedef unsigned long glucat::set_value_t |
enum glucat::precision_t |
glucat::_GLUCAT_CTAssert | ( | std::numeric_limits< unsigned char >::radix | = =2 , |
CannotDetermineBitsPerChar | |||
) | const |
If radix of unsigned char is not 2, we can't easily determine number of bits from sizeof.
Number of bits per char is used to determine number of bits in set_value_t
glucat::_GLUCAT_CTAssert | ( | _GLUCAT_BITS_PER_ULONG | = =BITS_PER_SET_VALUE , |
BitsPerULongDoesNotMatchSetValueT | |||
) | const |
Default lowest index in an index set.
glucat::_GLUCAT_CTAssert | ( | sizeof(set_value_t) >=sizeof(std::bitset< DEFAULT_HI-DEFAULT_LO >) | , |
Default_index_set_too_big_for_value | |||
) | const |
Size of set_value_t should be enough to contain bitset<DEFAULT_HI-DEFAULT_LO>
Write out index set
|
inline |
Absolute value == sqrt(norm)
Definition at line 491 of file clifford_algebra_imp.h.
References glucat::numeric_traits< Scalar_T >::sqrt().
Referenced by PyClical.clifford::abs(), acos(), asin(), glucat::matrix::classify_eigenvalues(), clifford_to_str(), glucat::framed_multi< Scalar_T, LO, HI >::framed_multi(), matrix_log(), and matrix_sqrt().
|
inline |
Inverse cosine of multivector with specified complexifier.
Definition at line 798 of file clifford_algebra_imp.h.
References abs(), acosh(), check_complex(), and PyClical::i.
Referenced by glucat::numeric_traits< Scalar_T >::acos(), and acos().
|
inline |
Inverse cosine of multivector.
Definition at line 818 of file clifford_algebra_imp.h.
References acos(), and complexifier().
|
inline |
Inverse hyperbolic cosine of multivector with specified complexifier.
Definition at line 738 of file clifford_algebra_imp.h.
References check_complex(), PyClical::i, log(), norm(), and sqrt().
|
inline |
Inverse hyperbolic cosine of multivector.
Definition at line 758 of file clifford_algebra_imp.h.
References acosh(), and complexifier().
|
inline |
Inverse sine of multivector with specified complexifier.
Definition at line 905 of file clifford_algebra_imp.h.
References abs(), asinh(), check_complex(), and PyClical::i.
Referenced by glucat::numeric_traits< Scalar_T >::asin(), and asin().
|
inline |
Inverse sine of multivector.
Definition at line 925 of file clifford_algebra_imp.h.
References asin(), and complexifier().
|
inline |
Inverse hyperbolic sine of multivector with specified complexifier.
Definition at line 845 of file clifford_algebra_imp.h.
References check_complex(), PyClical::i, log(), norm(), and sqrt().
|
inline |
Inverse hyperbolic sine of multivector.
Definition at line 865 of file clifford_algebra_imp.h.
References asinh(), and complexifier().
|
inline |
Inverse tangent of multivector with specified complexifier.
Definition at line 1005 of file clifford_algebra_imp.h.
References atanh(), check_complex(), PyClical::i, and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::atan(), and atan().
|
inline |
Inverse tangent of multivector.
Definition at line 1025 of file clifford_algebra_imp.h.
References atan(), and complexifier().
|
inline |
Inverse hyperbolic tangent of multivector with specified complexifier.
Definition at line 952 of file clifford_algebra_imp.h.
References check_complex(), PyClical::i, log(), and norm().
|
inline |
Inverse hyperbolic tangent of multivector.
Definition at line 969 of file clifford_algebra_imp.h.
References atanh(), and complexifier().
|
static |
Incomplete square root cascade and Pade' approximation of log.
Definition at line 1976 of file matrix_multi_imp.h.
References db_step(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), 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 >::log_max_inner_steps, 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 >::log_max_outer_steps, norm(), pade_log(), and pow().
Referenced by matrix_log().
|
inlinestatic |
Check that i is a valid complexifier for val.
Definition at line 566 of file clifford_algebra_imp.h.
References complexifier(), and PyClical::i.
Referenced by acos(), acosh(), asin(), asinh(), atan(), atanh(), cos(), log(), sin(), sqrt(), and tan().
const Multivector< Scalar_T, LO, HI > glucat::clifford_exp | ( | const Multivector< Scalar_T, LO, HI > & | val | ) |
|
inline |
"lexicographic compare" eg. {3,4,5} is less than {3,7,8}
Lexicographic ordering of two sets: -1 if a<b, +1 if a>b, 0 if a==b.
Definition at line 573 of file index_set_imp.h.
References glucat::index_set< LO, HI >::lex_less_than().
const Multivector< Scalar_T, LO, HI > glucat::complexifier | ( | const Multivector< Scalar_T, LO, HI > & | val | ) |
|
inline |
Conjugation, rev o invo == invo o rev.
Definition at line 467 of file clifford_algebra_imp.h.
const Multivector< Scalar_T, LO, HI > glucat::cos | ( | const Multivector< Scalar_T, LO, HI > & | val, |
const Multivector< Scalar_T, LO, HI > & | i, | ||
const bool | prechecked = false |
||
) |
Cosine of multivector with specified complexifier.
Definition at line 765 of file clifford_algebra_imp.h.
References check_complex(), exp(), PyClical::i, PyClical::pi, and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::cos(), cos(), and tan().
|
inline |
Cosine of multivector.
Definition at line 789 of file clifford_algebra_imp.h.
References complexifier(), and cos().
|
inline |
Hyperbolic cosine of multivector.
Definition at line 720 of file clifford_algebra_imp.h.
References exp(), and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::cosh(), and tanh().
|
inlinestatic |
Coordinate of product of terms.
Referenced by operator &(), operator%(), operator*(), and operator^().
|
inlinestatic |
Coordinate of product of terms.
Definition at line 1906 of file framed_multi_imp.h.
|
static |
Product form of Denman-Beavers square root iteration.
Definition at line 1375 of file matrix_multi_imp.h.
References db_step(), norm(), pow(), and 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 >::sqrt_max_steps.
Referenced by matrix_sqrt().
|
inlinestatic |
Single step of product form of Denman-Beavers square root iteration.
Definition at line 1362 of file matrix_multi_imp.h.
References inv().
Referenced by cascade_log(), and db_sqrt().
|
inline |
Square root of -1 which commutes with all members of the frame of the given multivector The name "elliptic" is now deprecated: use "complexifier" instead.
Definition at line 557 of file clifford_algebra_imp.h.
References complexifier().
|
inline |
Even part.
Definition at line 427 of file clifford_algebra_imp.h.
const framed_multi< Scalar_T, LO, HI > glucat::exp | ( | const framed_multi< Scalar_T, LO, HI > & | val | ) |
Exponential of multivector.
Definition at line 1947 of file framed_multi_imp.h.
References clifford_exp(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), 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 >::function_precision, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), 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 >::mult_matrix_threshold, precision_demoted, precision_promoted, and scalar().
Referenced by clifford_exp(), cos(), cosh(), glucat::numeric_traits< Scalar_T >::exp(), exp(), matrix_log(), matrix_sqrt(), pow(), PyClical.clifford::pow(), sin(), and sinh().
const matrix_multi< Scalar_T, LO, HI > glucat::exp | ( | const matrix_multi< Scalar_T, LO, HI > & | val | ) |
Exponential of multivector.
Definition at line 2140 of file matrix_multi_imp.h.
References clifford_exp(), exp(), 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 >::function_precision, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), precision_demoted, precision_promoted, and scalar().
|
static |
Inverse generalized Fast Fourier Transform.
Definition at line 1083 of file matrix_multi_imp.h.
References glucat::matrix::signed_perm_nork().
|
inlinestatic |
Determine the matrix dimension of the fold of a subalegbra.
Definition at line 91 of file matrix_multi_imp.h.
References glucat::index_set< LO, HI >::count_neg(), glucat::index_set< LO, HI >::count_pos(), and offset_level().
|
inline |
Imaginary part: deprecated (always 0)
Definition at line 411 of file clifford_algebra_imp.h.
Referenced by glucat::matrix::classify_eigenvalues().
|
inline |
Geometric multiplicative inverse.
Definition at line 321 of file clifford_algebra_imp.h.
Referenced by db_step(), matrix_log(), and matrix_sqrt().
|
inlinestatic |
Inverse Gray code.
Definition at line 861 of file index_set_imp.h.
Referenced by glucat::index_set< LO, HI >::sign_of_mult().
|
inlinestatic |
Inverse reversed Gray code.
Definition at line 844 of file index_set_imp.h.
Referenced by glucat::index_set< LO, HI >::sign_of_mult().
|
inline |
Main involution, each {i} is replaced by -{i} in each term, eg. {1}*{2} -> (-{2})*(-{1})
Main involution, each {i} is replaced by -{i} in each term, eg. {1} ->-{1}.
Definition at line 451 of file clifford_algebra_imp.h.
const matrix_multi< Scalar_T, LO, HI > glucat::log | ( | const matrix_multi< Scalar_T, LO, HI > & | val, |
const matrix_multi< Scalar_T, LO, HI > & | i, | ||
bool | prechecked | ||
) |
Natural logarithm of multivector with specified complexifier.
Definition at line 2023 of file matrix_multi_imp.h.
References check_complex(), 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 >::function_precision, PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), matrix_log(), precision_demoted, and precision_promoted.
const framed_multi< Scalar_T, LO, HI > glucat::log | ( | const framed_multi< Scalar_T, LO, HI > & | val, |
const framed_multi< Scalar_T, LO, HI > & | i, | ||
bool | prechecked | ||
) |
Natural logarithm of multivector with specified complexifier.
Definition at line 1997 of file framed_multi_imp.h.
References check_complex(), PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), log(), PyClical::pi, and glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::scalar().
|
inline |
Natural logarithm of multivector with specified complexifier.
Definition at line 704 of file clifford_algebra_imp.h.
References PyClical::i.
Referenced by acosh(), asinh(), atanh(), glucat::numeric_traits< Scalar_T >::log(), log(), matrix_log(), glucat::numeric_traits< Scalar_T >::NaN(), pow(), and PyClical.clifford::pow().
|
inline |
Natural logarithm of multivector.
Definition at line 712 of file clifford_algebra_imp.h.
References complexifier(), and log().
|
inline |
Log base 2 of scalar.
Definition at line 302 of file scalar.h.
References glucat::numeric_traits< Scalar_T >::log2().
Referenced by clifford_exp().
const matrix_multi< Scalar_T, LO, HI > glucat::matrix_log | ( | const matrix_multi< Scalar_T, LO, HI > & | val, |
const matrix_multi< Scalar_T, LO, HI > & | i | ||
) |
Natural logarithm of multivector with specified complexifier.
Definition at line 2064 of file matrix_multi_imp.h.
References abs(), glucat::matrix::both_eig_case, cascade_log(), glucat::matrix::classify_eigenvalues(), exp(), PyClical::i, inv(), glucat::matrix::isnan(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), log(), glucat::matrix::eig_genus< Matrix_T >::m_eig_case, glucat::matrix::eig_genus< Matrix_T >::m_safe_arg, glucat::matrix::negative_eig_case, norm(), PyClical::pi, and glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::scalar().
Referenced by log().
const matrix_multi< Scalar_T, LO, HI > glucat::matrix_sqrt | ( | const matrix_multi< Scalar_T, LO, HI > & | val, |
const matrix_multi< Scalar_T, LO, HI > & | i | ||
) |
Square root of multivector with specified complexifier.
Definition at line 1645 of file matrix_multi_imp.h.
References abs(), glucat::matrix::both_eig_case, glucat::matrix::classify_eigenvalues(), db_sqrt(), exp(), PyClical::i, inv(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), glucat::matrix::eig_genus< Matrix_T >::m_eig_case, glucat::matrix::eig_genus< Matrix_T >::m_safe_arg, glucat::matrix::negative_eig_case, norm(), pade_approx(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::scalar(), and sqrt().
Referenced by sqrt().
|
inline |
Maximum of absolute values of components of multivector: multivector infinity norm.
Definition at line 499 of file clifford_algebra_imp.h.
|
inline |
Maximum positive index, or 0 if none.
Definition at line 974 of file index_set_imp.h.
References PyClical::ist.
|
inline |
Minimum negative index, or 0 if none.
Definition at line 967 of file index_set_imp.h.
References PyClical::ist.
|
inline |
Scalar_T norm == sum of norm of coordinates.
Definition at line 483 of file clifford_algebra_imp.h.
Referenced by acosh(), asinh(), atanh(), cascade_log(), glucat::matrix::classify_eigenvalues(), db_sqrt(), matrix_log(), and matrix_sqrt().
|
inline |
Odd part.
Definition at line 435 of file clifford_algebra_imp.h.
Referenced by glucat::framed_multi< Scalar_T, LO, HI >::fast().
Determine the log2 dim corresponding to signature p, q.
Definition at line 76 of file matrix_multi_imp.h.
References pos_mod().
Referenced by glucat::matrix_multi< Scalar_T, LO, HI >::basis_element(), and folded_dim().
|
inline |
Set intersection: and.
Definition at line 186 of file index_set_imp.h.
|
inline |
Inner product.
Definition at line 616 of file matrix_multi_imp.h.
const framed_multi<Scalar_T,LO,HI> glucat::operator& | ( | const framed_multi< Scalar_T, LO, HI > & | lhs, |
const framed_multi< Scalar_T, LO, HI > & | rhs | ||
) |
Inner product.
Definition at line 601 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and 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 >::products_size_threshold.
|
inline |
Set intersection: and.
Definition at line 186 of file index_set_imp.h.
|
inline |
Inner product.
Definition at line 228 of file clifford_algebra_imp.h.
|
inline |
Inner product.
Definition at line 228 of file clifford_algebra_imp.h.
const framed_multi<Scalar_T,LO,HI> glucat::operator& | ( | const framed_multi< Scalar_T, LO, HI > & | lhs, |
const framed_multi< Scalar_T, LO, HI > & | rhs | ||
) |
Inner product.
Definition at line 601 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and 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 >::products_size_threshold.
|
inline |
Inner product.
Definition at line 616 of file matrix_multi_imp.h.
|
inline |
Test for inequality of multivectors.
Definition at line 78 of file clifford_algebra_imp.h.
|
inline |
Test for inequality of multivector and scalar.
Definition at line 86 of file clifford_algebra_imp.h.
|
inline |
Test for inequality of scalar and multivector.
Definition at line 94 of file clifford_algebra_imp.h.
|
inline |
Left contraction.
Definition at line 635 of file matrix_multi_imp.h.
const framed_multi< Scalar_T, LO, HI > glucat::operator% | ( | const framed_multi< Scalar_T, LO, HI > & | lhs, |
const framed_multi< Scalar_T, LO, HI > & | rhs | ||
) |
Left contraction.
Definition at line 719 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and 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 >::products_size_threshold.
|
inline |
Left contraction.
Definition at line 243 of file clifford_algebra_imp.h.
|
inline |
Geometric product.
Definition at line 547 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), glucat::matrix_multi< Scalar_T, LO, HI >::m_frame, glucat::matrix_multi< Scalar_T, LO, HI >::m_matrix, and reframe().
const framed_multi< Scalar_T, LO, HI > glucat::operator* | ( | const framed_multi< Scalar_T, LO, HI > & | lhs, |
const framed_multi< Scalar_T, LO, HI > & | rhs | ||
) |
Geometric product.
Definition at line 400 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), and 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 >::mult_matrix_threshold.
|
inline |
Product of multivector and scalar.
Definition at line 172 of file clifford_algebra_imp.h.
|
inline |
Product of scalar and multivector.
Definition at line 183 of file clifford_algebra_imp.h.
|
inline |
Geometric product.
Definition at line 198 of file clifford_algebra_imp.h.
|
inline |
Geometric sum of multivector and scalar.
Definition at line 102 of file clifford_algebra_imp.h.
|
inline |
Geometric sum of scalar and multivector.
Definition at line 113 of file clifford_algebra_imp.h.
|
inline |
Geometric sum.
Definition at line 127 of file clifford_algebra_imp.h.
|
inline |
Geometric difference of multivector and scalar.
Definition at line 138 of file clifford_algebra_imp.h.
|
inline |
Geometric difference of scalar and multivector.
Definition at line 149 of file clifford_algebra_imp.h.
|
inline |
Geometric difference.
Definition at line 161 of file clifford_algebra_imp.h.
const matrix_multi< Scalar_T, LO, HI > glucat::operator/ | ( | const matrix_multi< Scalar_T, LO, HI > & | lhs, |
const matrix_multi< Scalar_T, LO, HI > & | rhs | ||
) |
Geometric quotient.
Definition at line 668 of file matrix_multi_imp.h.
References 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 >::div_max_steps, glucat::matrix::isnan(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), glucat::matrix_multi< Scalar_T, LO, HI >::m_frame, and reframe().
|
inline |
Geometric quotient.
Definition at line 914 of file framed_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame().
|
inline |
Quotient of multivector and scalar.
Definition at line 269 of file clifford_algebra_imp.h.
|
inline |
Quotient of scalar and multivector.
Definition at line 280 of file clifford_algebra_imp.h.
|
inline |
Geometric quotient.
Definition at line 295 of file clifford_algebra_imp.h.
|
inline |
Write multivector to output.
Definition at line 1025 of file matrix_multi_imp.h.
std::ostream & glucat::operator<< | ( | std::ostream & | os, |
const framed_multi< Scalar_T, LO, HI > & | val | ||
) |
Write multivector to output.
Definition at line 1366 of file framed_multi_imp.h.
References glucat::sorted_range< Map_T, Sorted_Map_T >::sorted_begin, and glucat::sorted_range< Map_T, Sorted_Map_T >::sorted_end.
std::ostream & glucat::operator<< | ( | std::ostream & | os, |
const std::pair< const index_set< LO, HI >, Scalar_T > & | term | ||
) |
Write term to output.
Definition at line 1398 of file framed_multi_imp.h.
References pow(), and glucat::numeric_traits< Scalar_T >::to_double().
std::ostream & glucat::operator<< | ( | std::ostream & | os, |
const index_set< LO, HI > & | ist | ||
) |
Write out index set.
Definition at line 611 of file index_set_imp.h.
References PyClical::i, and PyClical::ist.
|
inline |
Read multivector from input.
Definition at line 1035 of file matrix_multi_imp.h.
std::istream & glucat::operator>> | ( | std::istream & | s, |
framed_multi< Scalar_T, LO, HI > & | val | ||
) |
Read multivector from input.
Definition at line 1436 of file framed_multi_imp.h.
References PyClical::ist.
std::istream & glucat::operator>> | ( | std::istream & | s, |
index_set< LO, HI > & | ist | ||
) |
Read in index set.
Definition at line 633 of file index_set_imp.h.
References PyClical::i, PyClical::ist, and glucat::index_set< LO, HI >::set().
|
inline |
Symmetric set difference: exclusive or.
Definition at line 161 of file index_set_imp.h.
|
inline |
Outer product.
Definition at line 597 of file matrix_multi_imp.h.
const framed_multi< Scalar_T, LO, HI > glucat::operator^ | ( | const framed_multi< Scalar_T, LO, HI > & | lhs, |
const framed_multi< Scalar_T, LO, HI > & | rhs | ||
) |
Outer product.
Definition at line 501 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and 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 >::products_size_threshold.
|
inline |
Outer product.
Definition at line 213 of file clifford_algebra_imp.h.
|
inline |
Set union: or.
Definition at line 211 of file index_set_imp.h.
|
inline |
Transformation via twisted adjoint action.
Definition at line 777 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::involute().
|
inline |
Transformation via twisted adjoint action.
Definition at line 940 of file framed_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::involute().
|
inline |
Transformation via twisted adjoint action.
Definition at line 310 of file clifford_algebra_imp.h.
const Multivector< Scalar_T, LO, HI > glucat::outer_pow | ( | const Multivector< Scalar_T, LO, HI > & | lhs, |
int | rhs | ||
) |
Outer product power of multivector.
Definition at line 384 of file clifford_algebra_imp.h.
|
inlinestatic |
Pade' approximation.
Definition at line 1302 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan().
Referenced by matrix_sqrt(), and pade_log().
|
static |
Pade' approximation of log.
Definition at line 1955 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), and pade_approx().
Referenced by cascade_log().
|
inline |
Modulo function which works reliably for lhs < 0.
Definition at line 187 of file global.h.
Referenced by complexifier(), glucat::matrix_multi< Scalar_T, LO, HI >::fast_framed_multi(), glucat::framed_multi< Scalar_T, LO, HI >::fast_matrix_multi(), glucat::gen::generator_table< Matrix_T >::gen_vector(), offset_level(), and glucat::gen::generator_table< Matrix_T >::operator()().
const Multivector< Scalar_T, LO, HI > glucat::pow | ( | const Multivector< Scalar_T, LO, HI > & | lhs, |
int | rhs | ||
) |
Integer power of multivector.
Definition at line 328 of file clifford_algebra_imp.h.
Referenced by cascade_log(), clifford_exp(), db_sqrt(), operator<<(), and glucat::numeric_traits< Scalar_T >::pow().
|
inline |
Multivector power of multivector.
Definition at line 361 of file clifford_algebra_imp.h.
|
inline |
Pure part.
Definition at line 419 of file clifford_algebra_imp.h.
|
inline |
Scalar_T quadratic form == (rev(x)*x)(0)
Definition at line 475 of file clifford_algebra_imp.h.
|
inline |
Real part: synonym for scalar part.
Definition at line 400 of file clifford_algebra_imp.h.
Referenced by glucat::matrix::classify_eigenvalues().
|
inline |
Find a common frame for operands of a binary operator.
Definition at line 350 of file matrix_multi_imp.h.
References glucat::matrix_multi< Scalar_T, LO, HI >::m_frame.
Referenced by operator*(), and operator/().
|
inline |
Reversion, eg. {1}*{2} -> {2}*{1}.
Definition at line 459 of file clifford_algebra_imp.h.
|
inline |
Scalar part.
Definition at line 392 of file clifford_algebra_imp.h.
Referenced by atan(), clifford_exp(), cos(), cosh(), exp(), glucat::framed_multi< Scalar_T, LO, HI >::fast(), sin(), sinh(), tan(), and tanh().
|
inline |
Square of generator {j}.
Square of generator index j.
Definition at line 960 of file index_set_imp.h.
const Multivector< Scalar_T, LO, HI > glucat::sin | ( | const Multivector< Scalar_T, LO, HI > & | val, |
const Multivector< Scalar_T, LO, HI > & | i, | ||
const bool | prechecked = false |
||
) |
Sine of multivector with specified complexifier.
Definition at line 872 of file clifford_algebra_imp.h.
References check_complex(), exp(), PyClical::i, PyClical::pi, and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::sin(), sin(), and tan().
|
inline |
Sine of multivector.
Definition at line 896 of file clifford_algebra_imp.h.
References complexifier(), and sin().
|
inline |
Hyperbolic sine of multivector.
Definition at line 826 of file clifford_algebra_imp.h.
References exp(), and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::sinh(), and tanh().
const matrix_multi< Scalar_T, LO, HI > glucat::sqrt | ( | const matrix_multi< Scalar_T, LO, HI > & | val, |
const matrix_multi< Scalar_T, LO, HI > & | i, | ||
bool | prechecked | ||
) |
Square root of multivector with specified complexifier.
Definition at line 1600 of file matrix_multi_imp.h.
References check_complex(), 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 >::function_precision, PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), matrix_sqrt(), precision_demoted, and precision_promoted.
const framed_multi< Scalar_T, LO, HI > glucat::sqrt | ( | const framed_multi< Scalar_T, LO, HI > & | val, |
const framed_multi< Scalar_T, LO, HI > & | i, | ||
bool | prechecked | ||
) |
Square root of multivector with specified complexifier.
Definition at line 1924 of file framed_multi_imp.h.
References check_complex(), PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::scalar(), and sqrt().
|
inline |
Square root of multivector with specified complexifier.
Definition at line 589 of file clifford_algebra_imp.h.
References PyClical::i.
Referenced by acosh(), asinh(), matrix_sqrt(), glucat::framed_multi< Scalar_T, LO, HI >::random(), and sqrt().
|
inline |
Square root of multivector.
Definition at line 597 of file clifford_algebra_imp.h.
References complexifier(), and sqrt().
|
inline |
Hestenes scalar product.
Definition at line 654 of file matrix_multi_imp.h.
Scalar_T glucat::star | ( | const framed_multi< Scalar_T, LO, HI > & | lhs, |
const framed_multi< Scalar_T, LO, HI > & | rhs | ||
) |
Hestenes scalar product.
Definition at line 855 of file framed_multi_imp.h.
|
inline |
Hestenes scalar product.
Definition at line 258 of file clifford_algebra_imp.h.
|
inline |
Tangent of multivector with specified complexifier.
Definition at line 977 of file clifford_algebra_imp.h.
References check_complex(), cos(), PyClical::i, scalar(), and sin().
Referenced by glucat::numeric_traits< Scalar_T >::tan(), and tan().
|
inline |
Tangent of multivector.
Definition at line 996 of file clifford_algebra_imp.h.
References complexifier(), and tan().
|
inline |
Hyperbolic tangent of multivector.
Definition at line 933 of file clifford_algebra_imp.h.
References cosh(), scalar(), and sinh().
Referenced by glucat::numeric_traits< Scalar_T >::tanh().
|
inline |
Cast to demote.
Definition at line 134 of file scalar_imp.h.
References glucat::numeric_traits< Scalar_T >::to_scalar_t().
|
inline |
Cast to promote.
Definition at line 124 of file scalar_imp.h.
References glucat::numeric_traits< Scalar_T >::to_scalar_t().
int glucat::try_catch | ( | intfn | f | ) |
Exception catching for functions returning int.
Definition at line 49 of file try_catch.h.
References PyClical::e().
Referenced by glucat::control_t::call().
int glucat::try_catch | ( | intintfn | f, |
int | arg | ||
) |
Exception catching for functions of int returning int.
Definition at line 64 of file try_catch.h.
References PyClical::e().
|
inline |
Vector part of multivector, as a vector_t with respect to frame()
Definition at line 443 of file clifford_algebra_imp.h.
const index_t glucat::BITS_PER_SET_VALUE = std::numeric_limits<set_value_t>::digits |
const unsigned int glucat::DEFAULT_Fast_Size_Threshold = 1 << 6 |
const precision_t glucat::DEFAULT_Function_Precision = precision_same |
const index_t glucat::DEFAULT_HI = index_t(BITS_PER_SET_VALUE / 2) |
const unsigned int glucat::DEFAULT_Inv_Fast_Dim_Threshold = 1 << 3 |
const unsigned int glucat::DEFAULT_Log_Max_Inner_Steps = 32 |
const unsigned int glucat::DEFAULT_Log_Max_Outer_Steps = 256 |
const unsigned int glucat::DEFAULT_Mult_Matrix_Threshold = 8 |
const unsigned int glucat::DEFAULT_Products_Size_Threshold = 1 << 22 |
const double glucat::DEFAULT_TRUNCATION = std::numeric_limits<float>::epsilon() |
|
static |
Definition at line 41 of file long_double.h.
Referenced by glucat::numeric_traits< Scalar_T >::ln_2().
|
static |
Definition at line 40 of file long_double.h.
Referenced by glucat::numeric_traits< Scalar_T >::pi().
const double glucat::MS_PER_S = 1000.0 |
Timing constant: deprecated here - moved to test/timing.h.