Se lanzó la versión 1.0.0 de la biblioteca de álgebra lineal para el lenguaje C++ (estándar C++23) smath, distribuida bajo la licencia Apache 2.0 en forma de un solo pequeño archivo de cabecera.
Las capacidades de la biblioteca:
- una clase genérica Vec<N, T> con útiles alias Vec2/Vec3/Vec4 y accesores (x/y/z/w, r/g/b/a). Los vectores soportan comparación aproximada y enlaces de tupla/estructurados;
- tipo Quaternion<T> basado en Vec4;
- clase genérica Mat con útiles alias Mat2/Mat3/Mat4;
- funciones auxiliares para ángulos rad/deg/turns considerando la unidad de medida básica personalizable con el macro SMATH_ANGLE_UNIT.
- soporte swizzling durante la compilación (swizzle<"…">);
- soporte para std::format;
- conversiones opcionales implícitas;
- funciones auxiliares para empaquetar RGBA normalizado (pack_unorm4x8, unpack_snorm4x8, etc.);
- soporte para módulos C++20;
- también se proporcionan adaptadores adicionales interacciones con bibliotecas Eigen, GLM (Matemáticas de OpenGL), Handmade-Math, raylib y SFML.
Fuente: linux.org.ru
