This is a fork of the Template Numerical Toolkit (TNT)
The Template Numerical Toolkit is a collection of interfaces and reference implementations of numerical objects useful for scientific computing in C++. The toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. The goal of this package is to provide reusable software components that address many of the portability and maintenance problems with C++ codes.
TNT provides a distinction between interfaces and implementations of TNT components. For example, there is a TNT interface for two-dimensional arrays which describes how individual elements are accessed and how certain information, such as the array dimensions, can be used in algorithms; however, there can be several implementations of such an interface: one that uses expression templates, or one that uses BLAS kernels, or another that is instrumented to provide debugging information. By specifying only the interface, applications codes may utilize such algorithms, while giving library developers the greatest flexibility in employing optimization or portability strategies.
This work (Template Numerical Toolkit, by Roldan Pozo: Original Author), and modified by Eduardo Guzman: Build, Test, Doc, CI, Hosting, extended interfaces, Maintenance), identified by https://gitlab.com/egm_foss/tnt, is free of known copyright restrictions.