The tvmet library enables fast evaluation of results at compile time through the use of Meta Templates and Expression Templates for Vectors and Matrices.
A crucial feature of Tvmet is that dimensions for vectors and matrices are static and bounded at compile time using template arguments. Furthermore, it has many unique features in addition to fixed sizes such as compile-time dimension checks for matrices and vectors to preserve mathematical meaning. It also has vector, matrix, matrix-matrix, and matrix-vector fast operations, and a full set of standard arithmetic and compare operations. Besides these, Tvmet has binary and unary operations, meta templates, special functions, and an iterator interface for STL compatibility.
Tvmet also provides type promotion for handling matrices and vectors of differing types. Conversely, it can work on self-defined types such as the std::complex type. Moreover, it has special handling for the aliasing problem and does not use exceptions, making it suitable for use on embedded systems or in Linux kernel space.
Tvmet also has a user-friendly interface, which includes helpful features such as chaining, good documentation with examples, and regression tests for nearly all operations and functions. It even has support for several compilers and an ISO/IEC 14882:1998 compliant interface.
The library requires CppUnit as a recommended addition for optimum usage. Tvmet represents a powerful tool for matrix and vector science, capable of handling big data efficiently and effectively. It guarantees a reliable and fast processing of information no matter the size of the data or complexity of the computations.
Version 1.7.2: N/A