Состоялся выпуск 1.0.0 библиотеки линейной алгебры для языка C++ (стандарт C++23) [ smath ](
https://github.com/slendidev/smath ) , распространяемой по лицензии Apache 2.0 в виде единственного небольшого заголовочного файла.
[ Возможности библиотеки ](
https://github.com/slendidev/smath?tab=readme-ov-file#features ) :
• дженерик-класс Vec с полезными алиасами Vec2/Vec3/Vec4 и аксессорами (x/y/z/w, r/g/b/a). Векторы поддерживают приблизительное сравнение и кортежные/структурированные привязки;
• тип Quaternion на основе Vec4;
• дженерик-класс Mat с полезными алиасами Mat2/Mat3/Mat4;
• вспомогательные функции для углов rad/deg/turns с учётом настраиваемой базовой единицы измерения макросом SMATH_ANGLE_UNIT.
• поддержка [ cвиззлинга ](
https://en.wikipedia.org/wiki/Swizzling_(computer_graphics) ) во время компиляции (swizzle);
• поддержка std::format;
• опциональные неявные преобразования;
• вспомогательные функции упаковки нормализованного RGBA (pack_unorm4x8, unpack_snorm4x8 и др.);
• поддержка модулей C++20;
• также предоставляются [ дополнительные адаптеры ](
https://github.com/slendidev/smath/tree/master/include/smath/interop ) взаимодействия с библиотеками [ Eigen ](
https://libeigen.gitlab.io ) , [ GLM (OpenGL Mathematics) ](
https://github.com/g-truc/glm ) , [ Handmade-Math ](
https://github.com/HandmadeMath/Handmade-Math ) , [ raylib ](
https://www.raylib.com ) и [ SFML ](
https://www.sfml-dev.org ) .
https://www.linux.org.ru/news/development/18240204