La version 1.0.0 de la bibliothèque d'algèbre linéaire pour le langage C++ (norme C++23) a été publiée. smath, distribuée sous la licence Apache 2.0 sous la forme d'un seul fichier d'en-tête léger.
Fonctionnalités de la bibliothèque:
- classe générique Vec<N, T> avec des alias utiles Vec2/Veg3/Veg4 et des accesseurs (x/y/z/w, r/g/b/a). Les vecteurs supportent la comparaison approximative et des liaisons de tuples/structures;
- type Quaternion<T> basé sur Vec4;
- classe générique Mat avec des alias utiles Mat2/Mat3/Mat4;
- fonctions d'assistance pour les angles rad/deg/tours en tenant compte de l'unité de mesure de base configurable avec le macro SMATH_ANGLE_UNIT.
- la prise en charge swizzling au moment de la compilation (swizzle<"…">);
- support de std::format;
- convertissements implicites optionnels;
- fonctions d'assistance pour l'emballage de RGBA normalisé (pack_unorm4x8, unpack_snorm4x8, etc.);
- support des modules C++20;
- des adaptateurs supplémentaires sont également fournis pour interagir avec des bibliothèques Eigen GLM (OpenGL Mathematics), Handmade-Math, raylib, 🥇smath 1.0.0 — bibliothèque d'algèbre linéaire pour le langage C++ (norme C++23) | ProHoster et SFML.
Source : linux.org.ru
