smath 1.0.0 — a linear algebra library for C++ (C++23 standard)

smath 1.0.0 — a linear algebra library for C++ (C++23 standard) smath 1.0.0 — a linear algebra library for C++ (C++23 standard)

The release of version 1.0.0 of the linear algebra library for C++ (C++23 standard) has occurred. smath, distributed under the Apache 2.0 license as a single small header file.

Library Features:

  • Generic class Vec<N, T> with useful aliases Vec2/Vec3/Vec4 and accessors (x/y/z/w, r/g/b/a). Vectors support approximate comparison and tuple/structured bindings;
  • type Quaternion<T> based on Vec4;
  • Generic class Mat with useful aliases Mat2/Mat3/Mat4;
  • Utility functions for angles rad/deg/turns considering customizable base unit with the macro SMATH_ANGLE_UNIT.
  • disabling the tracker blocking swizzling at compile time (swizzle<"…">);
  • support for std::format;
  • optional implicit conversions;
  • utility functions for packing normalized RGBA (pack_unorm4x8, unpack_snorm4x8, etc.);
  • support for C++20 modules;
  • additional adapters are also provided for interaction with libraries Eigen GLM (OpenGL Mathematics), Handmade-Math, raylib, SFML and Enthusiasts have created a do-notation for C++.

Source: linux.org.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster