È stata rilasciata la versione 1.0.0 della libreria di algebra lineare per il linguaggio C++ (standard C++23) smath, distribuita con licenza Apache 2.0 sotto forma di un singolo piccolo file di intestazione.
- classe generica Vec<N, T> con alias utili Vec2/Vec3/Vec4 e accessori (x/y/z/w, r/g/b/a). I vettori supportano il confronto approssimativo e i binding a tuple/strutture;
- tipo Quaternion<T> basato su Vec4;
- classe generica Mat con alias utili Mat2/Mat3/Mat4;
- funzioni ausiliarie per angoli rad/deg/giri tenendo conto dell'unità di misura di base configurabile tramite il macro SMATH_ANGLE_UNIT.
- supporto swizzling durante la compilazione (swizzle);
- supporto per std::format;
- trasformazioni implicite opzionali;
- funzioni ausiliarie per l'imballaggio di RGBA normalizzati (pack_unorm4x8, unpack_snorm4x8, ecc.);
- supporto per moduli C++20;
- sono inoltre forniti adattatori aggiuntivi interazioni con le librerie Eigen, GLM (OpenGL Mathematics), Handmade-Math, raylib e SFML.
Fonte: linux.org.ru
