Состоялся выпуск 1.0.0 библиотеки линейной алгебры для языка C++ (стандарт C++23) smath, распространяемой по лицензии Apache 2.0 в виде единственного небольшого заголовочного файла.
- дженерик-класс Vec<N, T> с полезными алиасами Vec2/Vec3/Vec4 и аксессорами (x/y/z/w, r/g/b/a). Векторы поддерживают приблизительное сравнение и кортежные/структурированные привязки;
- тип Quaternion<T> на основе Vec4;
- дженерик-класс Mat с полезными алиасами Mat2/Mat3/Mat4;
- вспомогательные функции для углов rad/deg/turns с учётом настраиваемой базовой единицы измерения макросом SMATH_ANGLE_UNIT.
- поддержка cвиззлинга во время компиляции (swizzle<"…">);
- поддержка std::format;
- опциональные неявные преобразования;
- вспомогательные функции упаковки нормализованного RGBA (pack_unorm4x8, unpack_snorm4x8 и др.);
- поддержка модулей C++20;
- также предоставляются дополнительные адаптеры взаимодействия с библиотеками Eigen, GLM (OpenGL Mathematics), Handmade-Math, raylib և SFML.
Աղբյուր: linux.org.ru
