GluCat 0.2.0 review
DownloadGluCat is a library of template classes which model the universal Clifford algebras over the real or complex fields, with arbitrary d


GluCat is a library of template classes which model the universal Clifford algebras over the real or complex fields, with arbitrary dimension and arbitrary signature.
GluCat implements a model of each Clifford algebra corresponding to each nondegenerate quadratic form up to a maximum number of dimensions.
GluCat classes were originally designed to be used as template parameters for other template libraries, such as Blitz++, deal.II, Matrix Template Library and POOMA.
These template libraries expect a numeric class which implements "appropriate numeric semantics". To provide these semantics, the GluCat interface matches float or complex as much as possible, but the GluCat classes must be different from float or complex, because they model a different algebra.
What's New in This Release:
Define ISNAN(x) macrwhich uses isnan(x) macrif available, and otherwise uses std:isnan(x).
Define numeric_limits and numeric_traits.
Use std::numeric_limits::has_quiet_NaN and numeric_traits::isNaN().
Use Doxygen tgenerate a PDF version of the GluCat API documentation.
Prefer pass by value for types which are not expected tbe larger than the word size.
Use streamsize and cout.precision().
Use index_t where applicable.
Drop some portability workarounds for old compilers.
In test11, define NDEBUG, tturn off spurious checking in uBLA sparse_prod().
Define template functions as static if they are intended tbe used only within the header file.
In tests, define template functions as static and move test functions fro header files tsource files.
In portability.h, suppress spurious Intel compiler warnings.
GluCat 0.2.0 keywords