![]() |
SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
|
#include <bit>
#include <concepts>
#include <cmath>
#include <cstdint>
#include <numbers>
#include <type_traits>
#include <half.hpp>
Go to the source code of this file.
Classes | |
struct | sourcepp::math::Vec< S, P > |
struct | sourcepp::math::QuatCompressed48 |
Lower precision Quat compressed to 6 bytes. More... | |
struct | sourcepp::math::QuatCompressed64 |
Lower precision Quat compressed to 8 bytes. More... | |
class | sourcepp::math::Mat< M, N, P > |
Namespaces | |
namespace | sourcepp |
namespace | sourcepp::math |
Concepts | |
concept | sourcepp::math::Arithmetic |
Macros | |
#define | SOURCEPP_VEC_DEFINE(S) |
#define | SOURCEPP_MAT_DEFINE(M, N) |
Typedefs | |
using | sourcepp::math::EulerAngles = Vec3f |
using | sourcepp::math::Quat = Vec4f |
Functions | |
template<Arithmetic T> | |
constexpr T | sourcepp::math::remap (T value, T l1, T h1, T l2, T h2) |
template<Arithmetic T> | |
constexpr T | sourcepp::math::remap (T value, T h1, T h2) |
constexpr bool | sourcepp::math::isPowerOf2 (std::unsigned_integral auto n) |
template<std::unsigned_integral T> | |
constexpr T | sourcepp::math::nearestPowerOf2 (T n) |
constexpr uint16_t | sourcepp::math::paddingForAlignment (uint16_t alignment, uint64_t n) |
sourcepp::math::SOURCEPP_VEC_DEFINE (2) | |
sourcepp::math::SOURCEPP_VEC_DEFINE (3) | |
sourcepp::math::SOURCEPP_VEC_DEFINE (4) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (2, 2) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (3, 3) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (4, 4) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (2, 3) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (3, 2) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (2, 4) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (4, 2) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (3, 4) | |
sourcepp::math::SOURCEPP_MAT_DEFINE (4, 3) | |
Variables | |
template<std::floating_point F> | |
constexpr F | sourcepp::math::pi = std::numbers::pi_v<F> |
constexpr auto | sourcepp::math::pi_f32 = pi<float> |
constexpr auto | sourcepp::math::pi_f64 = pi<double> |
#define SOURCEPP_MAT_DEFINE | ( | M, | |
N | |||
) |
#define SOURCEPP_VEC_DEFINE | ( | S | ) |