- Touched up documentation for Math library

- finished matrix implementation
 - added custom assert implementation
This commit is contained in:
2025-06-22 16:28:49 -04:00
parent 4d8466851c
commit 31e3c26b66
14 changed files with 423 additions and 206 deletions

View File

@@ -34,7 +34,6 @@ namespace detail
{
///
/// \struct vector_base_type_helper
/// \brief helper class for generating vectors
/// \tparam scalar base scalar type
/// \tparam size size of the vector type
@@ -48,22 +47,18 @@ struct vector_base_type_helper
///
/// \typedef ScalarT
/// \brief Base scalar type
using ScalarT = scalar;
///
/// \typedef VectorT
/// \brief Base vector type
using VectorT = vec<ScalarT, SizeV>;
///
/// \typedef DataT
/// \brief Backing array holding the elements
using DataT = array<ScalarT, SizeV>;
///
/// \struct SwizzleGen
/// \brief Helper for generating a swizzle from a set of indices
/// \tparam IndicesV Indices of the vector to pull from
template<size_t...IndicesV> struct SwizzleGen
@@ -72,10 +67,7 @@ struct vector_base_type_helper
using type = swizzle<VectorT, DataT, ScalarT, IndicesV...>;
};
///
/// \struct SwizzleGen<IndexV>
/// \brief Partial Specialization for single component swizzles to decay into a scalar
/// \tparam IndexV
// Specialization for single component swizzles to decay into a scalar
template<size_t IndexV> struct SwizzleGen<IndexV>
{
/// \brief decayed scalar type
@@ -83,11 +75,12 @@ struct vector_base_type_helper
};
///
/// \typedef StorageT
/// \brief backing storage type
using StorageT = vector_storage<SizeV, SwizzleGen, DataT>;
};
///
/// \brief helper for getting the storage type of the vector constructed with the provided size and scalar type
template<typename ScalarT, size_t SizeV>
using vector_base_type = typename vector_base_type_helper<ScalarT, SizeV>::StorageT;