MtxVec for C++ is the native C++ edition of MtxVec: the same library, translated from its Pascal source to standard C++ and compiled as C++. Its classes and routines are those the Delphi and .NET editions document, in the namespace Dew::Math, each Pascal unit's routines in Dew::Math::Units::<unit>.
- Three editions: windows (Dew.Math) uses the optimized MtxVec processing dlls; core is portable standard C++ that needs no external dll files; linux is built for Linux.
- Compilers: C++Builder (bcc64x, Win64x, C++11), Intel oneAPI icx (x64, MSVC ABI) and Intel oneAPI icpx (Linux).
- Code paths for an SSE4.2 baseline and for AVX2.
- The visual components and editors are C++Builder packages (Dew.Math.Controls.VCL, with the TeeChart series); they build on the standard C++ libraries, which have no VCL or C++Builder run-time dependency.
MtxVec is an object oriented vector math library featuring a comprehensive set of mathematical and statistical functions executing at impressive speeds. Just a few of its features are:
- MtxVec Core edition allows deployment without external dll files.
- Optimized LAPACK v3.7 (Linear Algebra Package) numerical library.
- Vector processes streams of complex variables and complex numbers for higher speed
- Integer math Vector type for accelerated bit (and, or, xor, nor, shr, shl) and arithmetic (+, -, *, / ) operations. Bit pack, bit unpack and individual bit access.
- Wide ranging multi-core support for many vector and matrix functions.
- Processes expressions with vectors and matrices on multiple threads.
- Operator overloading support for vectors and matrices.
- Vectorized math expression parser and evaluator. User specified expressions can execute with Intel AVX2/AVX512 and on multiple CPU cores concurrently.
- Cougar Open CL library gives a simple plug and play boost on GPUs and significantly simplifies integration of Open CL code.
- Most users observe typical performance improvements of 2x to 3x with Intel Core and 3x to 5x on Intel Core i7 for vector functions, but speed increases up to 20x are often obtained. The matrix multiplication, for example, is up to 30x faster.
- Support for concurrent use of the library in single and double precision across all components and functions.
Dew Research, Numerics For RAD.