neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::math Namespace Reference

Namespaces

namespace  constants
 
namespace  operators
 

Classes

struct  aabb
 
struct  aabb_2d
 
class  basic_matrix
 
class  basic_vector
 
class  basic_vector< T, 1, Type >
 
class  basic_vector< T, 2, Type >
 
struct  column_vector
 
struct  greater_than
 
struct  greater_than< Lhs, Rhs, Rest... >
 
struct  row_vector
 
struct  swizzle
 
struct  swizzle_rebind
 
struct  swizzle_rebind< V, 1 >
 

Typedefs

typedef double scalar
 
typedef double angle
 
typedef basic_vector< double, 1 > vector1
 
typedef basic_vector< double, 2 > vector2
 
typedef basic_vector< double, 3 > vector3
 
typedef basic_vector< double, 4 > vector4
 
typedef vector1 vec1
 
typedef vector2 vec2
 
typedef vector3 vec3
 
typedef vector4 vec4
 
typedef vec1 col_vec1
 
typedef vec2 col_vec2
 
typedef vec3 col_vec3
 
typedef vec4 col_vec4
 
typedef basic_vector< double, 1, row_vectorrow_vec1
 
typedef basic_vector< double, 2, row_vectorrow_vec2
 
typedef basic_vector< double, 3, row_vectorrow_vec3
 
typedef basic_vector< double, 4, row_vectorrow_vec4
 
typedef optional< vector1optional_vector1
 
typedef optional< vector2optional_vector2
 
typedef optional< vector3optional_vector3
 
typedef optional< vector4optional_vector4
 
typedef optional< vec1optional_vec1
 
typedef optional< vec2optional_vec2
 
typedef optional< vec3optional_vec3
 
typedef optional< vec4optional_vec4
 
typedef optional< col_vec1optional_col_vec1
 
typedef optional< col_vec2optional_col_vec2
 
typedef optional< col_vec3optional_col_vec3
 
typedef optional< col_vec4optional_col_vec4
 
typedef optional< row_vec1optional_row_vec1
 
typedef optional< row_vec2optional_row_vec2
 
typedef optional< row_vec3optional_row_vec3
 
typedef optional< row_vec4optional_row_vec4
 
typedef std::vector< vec2vec2_list
 
typedef std::vector< vec3vec3_list
 
typedef optional< vec2_listoptional_vec2_list
 
typedef optional< vec3_listoptional_vec3_list
 
typedef vec2_list vertices_2d
 
typedef vec3_list vertices
 
typedef optional_vec2_list optional_vertices_2d_t
 
typedef optional_vec3_list optional_vertices_t
 
typedef basic_vector< float, 1 > vector1f
 
typedef basic_vector< float, 2 > vector2f
 
typedef basic_vector< float, 3 > vector3f
 
typedef basic_vector< float, 4 > vector4f
 
typedef vector1f vec1f
 
typedef vector2f vec2f
 
typedef vector3f vec3f
 
typedef vector4f vec4f
 
typedef int32_t i32
 
typedef int64_t i64
 
typedef basic_vector< i32, 1 > vector1i32
 
typedef basic_vector< i32, 2 > vector2i32
 
typedef basic_vector< i32, 3 > vector3i32
 
typedef basic_vector< i32, 4 > vector4i32
 
typedef vector1i32 vec1i32
 
typedef vector2i32 vec2i32
 
typedef vector3i32 vec3i32
 
typedef vector4i32 vec4i32
 
typedef uint32_t u32
 
typedef uint32_t u64
 
typedef basic_vector< u32, 1 > vector1u32
 
typedef basic_vector< u32, 2 > vector2u32
 
typedef basic_vector< u32, 3 > vector3u32
 
typedef basic_vector< u32, 4 > vector4u32
 
typedef vector1u32 vec1u32
 
typedef vector2u32 vec2u32
 
typedef vector3u32 vec3u32
 
typedef vector4u32 vec4u32
 
template<std::size_t VertexCount>
using vec3_array = neolib::vecarray< vec3, VertexCount, VertexCount, neolib::check< neolib::vecarray_overflow >, std::allocator< vec3 > >
 
template<std::size_t VertexCount>
using vec2_array = neolib::vecarray< vec2, VertexCount, VertexCount, neolib::check< neolib::vecarray_overflow >, std::allocator< vec2 > >
 
typedef std::array< int8_t, 1 > avec1i8
 
typedef std::array< int8_t, 2 > avec2i8
 
typedef std::array< int8_t, 3 > avec3i8
 
typedef std::array< int8_t, 4 > avec4i8
 
typedef std::array< int16_t, 1 > avec1i16
 
typedef std::array< int16_t, 2 > avec2i16
 
typedef std::array< int16_t, 3 > avec3i16
 
typedef std::array< int16_t, 4 > avec4i16
 
typedef std::array< int32_t, 1 > avec1i32
 
typedef std::array< int32_t, 2 > avec2i32
 
typedef std::array< int32_t, 3 > avec3i32
 
typedef std::array< int32_t, 4 > avec4i32
 
typedef std::array< uint8_t, 1 > avec1u8
 
typedef std::array< uint8_t, 2 > avec2u8
 
typedef std::array< uint8_t, 3 > avec3u8
 
typedef std::array< uint8_t, 4 > avec4u8
 
typedef std::array< uint16_t, 1 > avec1u16
 
typedef std::array< uint16_t, 2 > avec2u16
 
typedef std::array< uint16_t, 3 > avec3u16
 
typedef std::array< uint16_t, 4 > avec4u16
 
typedef std::array< uint32_t, 1 > avec1u32
 
typedef std::array< uint32_t, 2 > avec2u32
 
typedef std::array< uint32_t, 3 > avec3u32
 
typedef std::array< uint32_t, 4 > avec4u32
 
typedef std::array< float, 1 > avec1f
 
typedef std::array< float, 2 > avec2f
 
typedef std::array< float, 3 > avec3f
 
typedef std::array< float, 4 > avec4f
 
typedef std::array< double, 1 > avec1
 
typedef std::array< double, 2 > avec2
 
typedef std::array< double, 3 > avec3
 
typedef std::array< double, 4 > avec4
 
typedef std::array< vec3, 3 > triangle
 
typedef std::array< vec3, 4 > quad
 
typedef std::array< vec2, 3 > triangle_2d
 
typedef std::array< vec2, 4 > quad_2d
 
typedef std::array< vec3f, 3 > trianglef
 
typedef std::array< vec3f, 4 > quadf
 
typedef std::array< vec2f, 3 > trianglef_2d
 
typedef std::array< vec2f, 4 > quadf_2d
 
typedef basic_matrix< double, 1, 1 > matrix11
 
typedef basic_matrix< double, 2, 2 > matrix22
 
typedef basic_matrix< double, 2, 1 > matrix21
 
typedef basic_matrix< double, 1, 2 > matrix12
 
typedef basic_matrix< double, 3, 3 > matrix33
 
typedef basic_matrix< double, 3, 1 > matrix31
 
typedef basic_matrix< double, 3, 2 > matrix32
 
typedef basic_matrix< double, 1, 3 > matrix13
 
typedef basic_matrix< double, 2, 3 > matrix23
 
typedef basic_matrix< double, 4, 4 > matrix44
 
typedef basic_matrix< double, 4, 1 > matrix41
 
typedef basic_matrix< double, 4, 2 > matrix42
 
typedef basic_matrix< double, 4, 3 > matrix43
 
typedef basic_matrix< double, 1, 4 > matrix14
 
typedef basic_matrix< double, 2, 4 > matrix24
 
typedef basic_matrix< double, 3, 4 > matrix34
 
typedef matrix11 matrix1
 
typedef matrix22 matrix2
 
typedef matrix33 matrix3
 
typedef matrix44 matrix4
 
typedef matrix11 mat11
 
typedef matrix22 mat22
 
typedef matrix21 mat21
 
typedef matrix12 mat12
 
typedef matrix33 mat33
 
typedef matrix31 mat31
 
typedef matrix32 mat32
 
typedef matrix13 mat13
 
typedef matrix23 mat23
 
typedef matrix44 mat44
 
typedef matrix41 mat41
 
typedef matrix42 mat42
 
typedef matrix43 mat43
 
typedef matrix14 mat14
 
typedef matrix24 mat24
 
typedef matrix34 mat34
 
typedef mat11 mat1
 
typedef mat22 mat2
 
typedef mat33 mat3
 
typedef mat44 mat4
 
typedef optional< matrix11optional_matrix11
 
typedef optional< matrix22optional_matrix22
 
typedef optional< matrix21optional_matrix21
 
typedef optional< matrix12optional_matrix12
 
typedef optional< matrix33optional_matrix33
 
typedef optional< matrix31optional_matrix31
 
typedef optional< matrix32optional_matrix32
 
typedef optional< matrix13optional_matrix13
 
typedef optional< matrix23optional_matrix23
 
typedef optional< matrix44optional_matrix44
 
typedef optional< matrix41optional_matrix41
 
typedef optional< matrix42optional_matrix42
 
typedef optional< matrix43optional_matrix43
 
typedef optional< matrix14optional_matrix14
 
typedef optional< matrix24optional_matrix24
 
typedef optional< matrix34optional_matrix34
 
typedef optional< matrix11optional_matrix1
 
typedef optional< matrix22optional_matrix2
 
typedef optional< matrix33optional_matrix3
 
typedef optional< matrix44optional_matrix4
 
typedef optional< mat11optional_mat11
 
typedef optional< mat22optional_mat22
 
typedef optional< mat21optional_mat21
 
typedef optional< mat12optional_mat12
 
typedef optional< mat33optional_mat33
 
typedef optional< mat31optional_mat31
 
typedef optional< mat32optional_mat32
 
typedef optional< mat13optional_mat13
 
typedef optional< mat23optional_mat23
 
typedef optional< mat44optional_mat44
 
typedef optional< mat41optional_mat41
 
typedef optional< mat42optional_mat42
 
typedef optional< mat43optional_mat43
 
typedef optional< mat14optional_mat14
 
typedef optional< mat24optional_mat24
 
typedef optional< mat34optional_mat34
 
typedef optional< mat11optional_mat1
 
typedef optional< mat22optional_mat2
 
typedef optional< mat33optional_mat3
 
typedef optional< mat44optional_mat4
 
typedef basic_matrix< float, 1, 1 > matrix11f
 
typedef basic_matrix< float, 2, 2 > matrix22f
 
typedef basic_matrix< float, 2, 1 > matrix21f
 
typedef basic_matrix< float, 1, 2 > matrix12f
 
typedef basic_matrix< float, 3, 3 > matrix33f
 
typedef basic_matrix< float, 3, 1 > matrix31f
 
typedef basic_matrix< float, 3, 2 > matrix32f
 
typedef basic_matrix< float, 1, 3 > matrix13f
 
typedef basic_matrix< float, 2, 3 > matrix23f
 
typedef basic_matrix< float, 4, 4 > matrix44f
 
typedef basic_matrix< float, 4, 1 > matrix41f
 
typedef basic_matrix< float, 4, 2 > matrix42f
 
typedef basic_matrix< float, 4, 3 > matrix43f
 
typedef basic_matrix< float, 1, 4 > matrix14f
 
typedef basic_matrix< float, 2, 4 > matrix24f
 
typedef basic_matrix< float, 3, 4 > matrix34f
 
typedef matrix11f mat11f
 
typedef matrix22f mat22f
 
typedef matrix21f mat21f
 
typedef matrix12f mat12f
 
typedef matrix33f mat33f
 
typedef matrix31f mat31f
 
typedef matrix32f mat32f
 
typedef matrix13f mat13f
 
typedef matrix23f mat23f
 
typedef matrix44f mat44f
 
typedef matrix41f mat41f
 
typedef matrix42f mat42f
 
typedef matrix43f mat43f
 
typedef matrix14f mat14f
 
typedef matrix24f mat24f
 
typedef matrix34f mat34f
 
typedef matrix11f mat1f
 
typedef matrix22f mat2f
 
typedef matrix33f mat3f
 
typedef matrix44f mat4f
 
typedef optional< matrix11foptional_matrix11f
 
typedef optional< matrix22foptional_matrix22f
 
typedef optional< matrix21foptional_matrix21f
 
typedef optional< matrix12foptional_matrix12f
 
typedef optional< matrix33foptional_matrix33f
 
typedef optional< matrix31foptional_matrix31f
 
typedef optional< matrix32foptional_matrix32f
 
typedef optional< matrix13foptional_matrix13f
 
typedef optional< matrix23foptional_matrix23f
 
typedef optional< matrix44foptional_matrix44f
 
typedef optional< matrix41foptional_matrix41f
 
typedef optional< matrix42foptional_matrix42f
 
typedef optional< matrix43foptional_matrix43f
 
typedef optional< matrix14foptional_matrix14f
 
typedef optional< matrix24foptional_matrix24f
 
typedef optional< matrix34foptional_matrix34f
 
typedef optional< matrix11foptional_matrix1f
 
typedef optional< matrix22foptional_matrix2f
 
typedef optional< matrix33foptional_matrix3f
 
typedef optional< matrix44foptional_matrix4f
 
typedef optional< mat11foptional_mat11f
 
typedef optional< mat22foptional_mat22f
 
typedef optional< mat21foptional_mat21f
 
typedef optional< mat12foptional_mat12f
 
typedef optional< mat33foptional_mat33f
 
typedef optional< mat31foptional_mat31f
 
typedef optional< mat32foptional_mat32f
 
typedef optional< mat13foptional_mat13f
 
typedef optional< mat23foptional_mat23f
 
typedef optional< mat44foptional_mat44f
 
typedef optional< mat41foptional_mat41f
 
typedef optional< mat42foptional_mat42f
 
typedef optional< mat43foptional_mat43f
 
typedef optional< mat14foptional_mat14f
 
typedef optional< mat24foptional_mat24f
 
typedef optional< mat34foptional_mat34f
 
typedef optional< mat11foptional_mat1f
 
typedef optional< mat22foptional_mat2f
 
typedef optional< mat33foptional_mat3f
 
typedef optional< mat44foptional_mat4f
 
typedef optional< aabboptional_aabb
 
typedef optional< aabb_2doptional_aabb_2d
 
template<typename V , uint32_t S>
using swizzle_rebind_t = typename swizzle_rebind< V, S >::type
 

Functions

template<typename T , typename SFINAE = std::enable_if_t<std::is_scalar_v<T>, sfinae>>
T lerp (T aX1, T aX2, double aAmount)
 
angle to_rad (angle aDegrees)
 
angle to_deg (angle aRadians)
 
template<typename T , uint32_t Size, typename Type >
bool operator== (const basic_vector< T, Size, Type > &aLhs, const basic_vector< T, Size, Type > &aRhs)
 
template<typename T , uint32_t Size, typename Type >
bool operator< (const basic_vector< T, Size, Type > &aLhs, const basic_vector< T, Size, Type > &aRhs)
 
template<typename T , uint32_t Size, typename Type >
std::partial_ordering operator<=> (const basic_vector< T, Size, Type > &aLhs, const basic_vector< T, Size, Type > &aRhs)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator+ (const basic_vector< T, D, Type > &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator- (const basic_vector< T, D, Type > &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCountoperator+ (const basic_vector< T, D, Type > &left, const std::array< basic_vector< T, D, Type >, VertexCount > &right)
 
template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCountoperator+ (const std::array< basic_vector< T, D, Type >, VertexCount > &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > & operator+= (std::array< basic_vector< T, D, Type >, VertexCount > &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCountoperator- (const basic_vector< T, D, Type > &left, const std::array< basic_vector< T, D, Type >, VertexCount > &right)
 
template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCountoperator- (const std::array< basic_vector< T, D, Type >, VertexCount > &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > & operator-= (std::array< basic_vector< T, D, Type >, VertexCount > &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator+ (const basic_vector< T, D, Type > &left, const T &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator+ (const T &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator- (const basic_vector< T, D, Type > &left, const T &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator- (const T &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator* (const basic_vector< T, D, Type > &left, const T &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator* (const T &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator/ (const basic_vector< T, D, Type > &left, const T &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator/ (const T &left, const basic_vector< T, D, Type > &right)
 
template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > operator% (const basic_vector< T, D, Type > &left, const T &right)
 
template<typename T , uint32_t D>
T operator* (const basic_vector< T, D, row_vector > &left, const basic_vector< T, D, column_vector > &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator+ (const basic_vector< T, 3, Type > &left, const basic_vector< T, 3, Type > &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator- (const basic_vector< T, 3, Type > &left, const basic_vector< T, 3, Type > &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator+ (const basic_vector< T, 3, Type > &left, const T &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator+ (const T &left, const basic_vector< T, 3, Type > &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator- (const basic_vector< T, 3, Type > &left, const T &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator- (const T &left, const basic_vector< T, 3, Type > &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator* (const basic_vector< T, 3, Type > &left, const T &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator* (const T &left, const basic_vector< T, 3, Type > &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator/ (const basic_vector< T, 3, Type > &left, const T &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > operator% (const basic_vector< T, 3, Type > &left, const T &right)
 
template<typename T >
T operator* (const basic_vector< T, 3, row_vector > &left, const basic_vector< T, 3, column_vector > &right)
 
template<typename T , typename Type >
basic_vector< T, 3, Type > midpoint (const basic_vector< T, 3, Type > &left, const basic_vector< T, 3, Type > &right)
 
template<typename T , uint32_t Size, typename Type >
basic_vector< T, Size, Type > lerp (const basic_vector< T, Size, Type > &aV1, const basic_vector< T, Size, Type > &aV2, double aAmount)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator+ (const basic_matrix< T, Rows, Columns > &left, typename basic_matrix< T, Rows, Columns >::value_type right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator- (const basic_matrix< T, Rows, Columns > &left, typename basic_matrix< T, Rows, Columns >::value_type right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator* (const basic_matrix< T, Rows, Columns > &left, typename basic_matrix< T, Rows, Columns >::value_type right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator/ (const basic_matrix< T, Rows, Columns > &left, typename basic_matrix< T, Rows, Columns >::value_type right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator+ (scalar left, const basic_matrix< T, Rows, Columns > &right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator- (scalar left, const basic_matrix< T, Rows, Columns > &right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator* (scalar left, const basic_matrix< T, Rows, Columns > &right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator+ (const basic_matrix< T, Rows, Columns > &left, const basic_matrix< T, Rows, Columns > &right)
 
template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columnsoperator- (const basic_matrix< T, Rows, Columns > &left, const basic_matrix< T, Rows, Columns > &right)
 
template<typename T , uint32_t D1, uint32_t D2>
basic_matrix< T, D1, D1 > operator* (const basic_matrix< T, D1, D2 > &left, const basic_matrix< T, D2, D1 > &right)
 
template<typename T >
basic_matrix< T, 4u, 4uoperator* (const basic_matrix< T, 4u, 4u > &left, const basic_matrix< T, 4u, 4u > &right)
 
template<typename T , uint32_t D>
basic_vector< T, D, column_vectoroperator* (const basic_matrix< T, D, D > &left, const basic_vector< T, D, column_vector > &right)
 
template<typename T , uint32_t D, std::size_t VertexCount>
std::array< basic_vector< T, D, column_vector >, VertexCountoperator* (const basic_matrix< T, D, D > &left, const std::array< basic_vector< T, D, column_vector >, VertexCount > &right)
 
template<typename T >
basic_vector< T, 4u, column_vectoroperator* (const basic_matrix< T, 4u, 4u > &left, const basic_vector< T, 4u, column_vector > &right)
 
template<typename T , std::size_t VertexCount>
std::array< basic_vector< T, 4u, column_vector >, VertexCountoperator* (const basic_matrix< T, 4u, 4u > &left, const std::array< basic_vector< T, 4u, column_vector >, VertexCount > &right)
 
template<typename T , uint32_t D>
basic_vector< T, D, row_vectoroperator* (const basic_vector< T, D, row_vector > &left, const basic_matrix< T, D, D > &right)
 
template<typename T , uint32_t D, std::size_t VertexCount>
std::array< basic_vector< T, D, row_vector >, VertexCountoperator* (const std::array< basic_vector< T, D, row_vector >, VertexCount > &left, const basic_matrix< T, D, D > &right)
 
template<typename T >
basic_vector< T, 4u, row_vectoroperator* (const basic_vector< T, 4u, row_vector > &left, const basic_matrix< T, 4u, 4u > &right)
 
template<typename T , std::size_t VertexCount>
basic_vector< T, 4u, row_vectoroperator* (const std::array< basic_vector< T, 4u, row_vector >, VertexCount > &left, const basic_matrix< T, 4u, 4u > &right)
 
template<typename T , uint32_t D>
basic_matrix< T, D, D > operator* (const basic_vector< T, D, column_vector > &left, const basic_vector< T, D, row_vector > &right)
 
template<typename T >
basic_matrix< T, 4u, 4uoperator* (const basic_vector< T, 4u, column_vector > &left, const basic_vector< T, 4u, row_vector > &right)
 
template<typename T , uint32_t D>
basic_matrix< T, D, D > without_translation (const basic_matrix< T, D, D > &matrix)
 
template<typename Elem , typename Traits , typename T , uint32_t Size, typename Type >
std::basic_ostream< Elem, Traits > & operator<< (std::basic_ostream< Elem, Traits > &aStream, const basic_vector< T, Size, Type > &aVector)
 
template<typename Elem , typename Traits , typename T , uint32_t Size, typename Type >
std::basic_istream< Elem, Traits > & operator>> (std::basic_istream< Elem, Traits > &aStream, basic_vector< T, Size, Type > &aVector)
 
template<typename Elem , typename Traits , typename T , uint32_t Rows, uint32_t Columns>
std::basic_ostream< Elem, Traits > & operator<< (std::basic_ostream< Elem, Traits > &aStream, const basic_matrix< T, Rows, Columns > &aMatrix)
 
template<typename Elem , typename Traits , typename T , uint32_t Rows, uint32_t Columns>
std::basic_ostream< Elem, Traits > & operator<< (std::basic_ostream< Elem, Traits > &aStream, const optional< basic_matrix< T, Rows, Columns > > &aMatrix)
 
template<typename Elem , typename Traits , typename T , uint32_t Rows, uint32_t Columns>
std::basic_ostream< Elem, Traits > & operator<< (std::basic_ostream< Elem, Traits > &aStream, const std::optional< basic_matrix< T, Rows, Columns > > &aMatrix)
 
template<typename T >
basic_vector< T, 3u, column_vectoroperator* (const basic_matrix< T, 4u, 4u > &left, const basic_vector< T, 3u, column_vector > &right)
 
template<typename T >
std::vector< basic_vector< T, 3u, column_vector > > operator* (const basic_matrix< T, 4u, 4u > &left, const std::vector< basic_vector< T, 3u, column_vector > > &right)
 
mat33 rotation_matrix (const vec3 &axis, scalar angle, scalar epsilon=0.00001)
 
mat33 rotation_matrix (const vec3 &vectorA, const vec3 &vectorB, scalar epsilon=0.00001)
 
mat33 rotation_matrix (const vec3 &angles)
 
mat44 affine_rotation_matrix (const vec3 &angles)
 
mat44apply_translation (mat44 &aMatrix, const vec3 &aTranslation)
 
mat44apply_scaling (mat44 &aMatrix, const vec3 &aScaling)
 
template<typename T >
bool nearly_equal (T lhs, T rhs, scalar epsilon=0.00001, std::enable_if_t< std::is_floating_point_v< T >, sfinae >={})
 
template<typename T >
bool nearly_equal (T lhs, T rhs, scalar epsilon=0.00001, std::enable_if_t< std::is_integral_v< T >, sfinae >={})
 
template<typename T , uint32_t Size, typename Type = column_vector>
bool nearly_equal (basic_vector< T, Size, Type > const &lhs, basic_vector< T, Size, Type > const &rhs, scalar epsilon=0.00001)
 
template<typename T >
bool nearly_equal (optional< T > const &lhs, optional< T > const &rhs, scalar epsilon=0.00001)
 
template<typename T >
bool nearly_equal (std::optional< T > const &lhs, std::optional< T > const &rhs, scalar epsilon=0.00001)
 
template<typename T1 , typename T2 >
bool nearly_equal (std::pair< T1, T2 > const &lhs, std::pair< T1, T2 > const &rhs, scalar epsilon=0.00001)
 
template<typename T >
bool nearly_equal (std::vector< T > const &lhs, std::vector< T > const &rhs, scalar epsilon=0.00001)
 
template<typename T , std::size_t D>
basic_vector< T, D > quad_extents (std::array< basic_vector< T, D >, 4 > const &aQuad)
 
vec3 aabb_origin (const aabb &aAabb)
 
vec3 aabb_extents (const aabb &aAabb)
 
template<typename... Transforms>
aabb aabb_transform (const aabb &aAabb, const Transforms &... aTransforms)
 
aabb to_aabb (const vec3 &aOrigin, scalar aSize)
 
aabb to_aabb (const vec3 &aOrigin, const vec3 &aSize)
 
template<typename VertexIter >
aabb to_aabb (VertexIter aBegin, VertexIter aEnd, const mat44 &aTransformation=mat44::identity())
 
aabb to_aabb (const vertices &aVertices, const mat44 &aTransformation=mat44::identity())
 
bool operator== (const aabb &left, const aabb &right)
 
bool operator< (const aabb &left, const aabb &right)
 
std::partial_ordering operator<=> (const aabb &left, const aabb &right)
 
aabb aabb_union (const aabb &left, const aabb &right)
 
scalar aabb_volume (const aabb &a)
 
bool aabb_contains (const aabb &outer, const aabb &inner)
 
bool aabb_contains (const aabb &outer, const vec3 &point)
 
bool aabb_intersects (const aabb &first, const aabb &second)
 
bool aabb_intersects (const optional< aabb > &first, const std::optional< aabb > &second)
 
bool aabb_intersects (const optional< aabb > &first, const aabb &second)
 
bool aabb_intersects (const aabb &first, const std::optional< aabb > &second)
 
vec2 aabb_origin (const aabb_2d &aAabb)
 
vec2 aabb_extents (const aabb_2d &aAabb)
 
template<typename... Transforms>
aabb_2d aabb_transform (const aabb_2d &aAabb, const Transforms &... aTransforms)
 
aabb_2d to_aabb_2d (const vec3 &aOrigin, scalar aSize)
 
aabb_2d to_aabb_2d (const vec3 &aOrigin, const vec3 &aSize)
 
template<typename VertexIter >
aabb_2d to_aabb_2d (VertexIter aBegin, VertexIter aEnd, const mat44 &aTransformation=mat44::identity())
 
aabb_2d to_aabb_2d (const vertices &aVertices, const mat44 &aTransformation=mat44::identity())
 
bool operator== (const aabb_2d &left, const aabb_2d &right)
 
bool operator< (const aabb_2d &left, const aabb_2d &right)
 
std::partial_ordering operator<=> (const aabb_2d &left, const aabb_2d &right)
 
aabb_2d aabb_union (const aabb_2d &left, const aabb_2d &right)
 
scalar aabb_volume (const aabb_2d &a)
 
bool aabb_contains (const aabb_2d &outer, const aabb_2d &inner)
 
bool aabb_contains (const aabb_2d &outer, const vec2 &point)
 
bool aabb_intersects (const aabb_2d &first, const aabb_2d &second)
 
bool aabb_intersects (const optional< aabb_2d > &first, const std::optional< aabb_2d > &second)
 
bool aabb_intersects (const optional< aabb_2d > &first, const aabb_2d &second)
 
bool aabb_intersects (const aabb_2d &first, const std::optional< aabb_2d > &second)
 
vec2 bezier_cubic (vec2 const &p0, vec2 const &p1, vec2 const &p2, vec2 const &p3, scalar t)
 
vec2 bezier_cubic_x (vec2 const &p0, vec2 const &p1, vec2 const &p2, vec2 const &p3, scalar x)
 
vec2 bezier_cubic_y (vec2 const &p0, vec2 const &p1, vec2 const &p2, vec2 const &p3, scalar y)
 
template<typename T >
basic_vector< T, 2 > bezier_cubic (basic_vector< T, 2 > const &p0, basic_vector< T, 2 > const &p1, basic_vector< T, 2 > const &p2, basic_vector< T, 2 > const &p3, T t)
 
template<typename T >
basic_vector< T, 2 > bezier_cubic_x (basic_vector< T, 2 > const &p0, basic_vector< T, 2 > const &p1, basic_vector< T, 2 > const &p2, basic_vector< T, 2 > const &p3, T x)
 
template<typename T >
basic_vector< T, 2 > bezier_cubic_y (basic_vector< T, 2 > const &p0, basic_vector< T, 2 > const &p1, basic_vector< T, 2 > const &p2, basic_vector< T, 2 > const &p3, T y)
 

Typedef Documentation

◆ angle

Definition at line 64 of file numerical.hpp.

◆ avec1

typedef std::array<double, 1> neolib::math::avec1

Definition at line 640 of file numerical.hpp.

◆ avec1f

Definition at line 635 of file numerical.hpp.

◆ avec1i16

Definition at line 610 of file numerical.hpp.

◆ avec1i32

Definition at line 615 of file numerical.hpp.

◆ avec1i8

Definition at line 605 of file numerical.hpp.

◆ avec1u16

Definition at line 625 of file numerical.hpp.

◆ avec1u32

Definition at line 630 of file numerical.hpp.

◆ avec1u8

Definition at line 620 of file numerical.hpp.

◆ avec2

typedef std::array<double, 2> neolib::math::avec2

Definition at line 641 of file numerical.hpp.

◆ avec2f

Definition at line 636 of file numerical.hpp.

◆ avec2i16

Definition at line 611 of file numerical.hpp.

◆ avec2i32

Definition at line 616 of file numerical.hpp.

◆ avec2i8

Definition at line 606 of file numerical.hpp.

◆ avec2u16

Definition at line 626 of file numerical.hpp.

◆ avec2u32

Definition at line 631 of file numerical.hpp.

◆ avec2u8

Definition at line 621 of file numerical.hpp.

◆ avec3

typedef std::array<double, 3> neolib::math::avec3

Definition at line 642 of file numerical.hpp.

◆ avec3f

Definition at line 637 of file numerical.hpp.

◆ avec3i16

Definition at line 612 of file numerical.hpp.

◆ avec3i32

Definition at line 617 of file numerical.hpp.

◆ avec3i8

Definition at line 607 of file numerical.hpp.

◆ avec3u16

Definition at line 627 of file numerical.hpp.

◆ avec3u32

Definition at line 632 of file numerical.hpp.

◆ avec3u8

Definition at line 622 of file numerical.hpp.

◆ avec4

typedef std::array<double, 4> neolib::math::avec4

Definition at line 643 of file numerical.hpp.

◆ avec4f

Definition at line 638 of file numerical.hpp.

◆ avec4i16

Definition at line 613 of file numerical.hpp.

◆ avec4i32

Definition at line 618 of file numerical.hpp.

◆ avec4i8

Definition at line 608 of file numerical.hpp.

◆ avec4u16

Definition at line 628 of file numerical.hpp.

◆ avec4u32

Definition at line 633 of file numerical.hpp.

◆ avec4u8

Definition at line 623 of file numerical.hpp.

◆ col_vec1

Definition at line 521 of file numerical.hpp.

◆ col_vec2

Definition at line 522 of file numerical.hpp.

◆ col_vec3

Definition at line 523 of file numerical.hpp.

◆ col_vec4

Definition at line 524 of file numerical.hpp.

◆ i32

Definition at line 573 of file numerical.hpp.

◆ i64

Definition at line 574 of file numerical.hpp.

◆ mat1

Definition at line 1059 of file numerical.hpp.

◆ mat11

Definition at line 1042 of file numerical.hpp.

◆ mat11f

◆ mat12

Definition at line 1045 of file numerical.hpp.

◆ mat12f

◆ mat13

Definition at line 1049 of file numerical.hpp.

◆ mat13f

◆ mat14

Definition at line 1055 of file numerical.hpp.

◆ mat14f

◆ mat1f

◆ mat2

Definition at line 1060 of file numerical.hpp.

◆ mat21

Definition at line 1044 of file numerical.hpp.

◆ mat21f

◆ mat22

Definition at line 1043 of file numerical.hpp.

◆ mat22f

◆ mat23

Definition at line 1050 of file numerical.hpp.

◆ mat23f

◆ mat24

Definition at line 1056 of file numerical.hpp.

◆ mat24f

◆ mat2f

◆ mat3

Definition at line 1061 of file numerical.hpp.

◆ mat31

Definition at line 1047 of file numerical.hpp.

◆ mat31f

◆ mat32

Definition at line 1048 of file numerical.hpp.

◆ mat32f

◆ mat33

Definition at line 1046 of file numerical.hpp.

◆ mat33f

◆ mat34

Definition at line 1057 of file numerical.hpp.

◆ mat34f

◆ mat3f

◆ mat4

Definition at line 1062 of file numerical.hpp.

◆ mat41

Definition at line 1052 of file numerical.hpp.

◆ mat41f

◆ mat42

Definition at line 1053 of file numerical.hpp.

◆ mat42f

◆ mat43

Definition at line 1054 of file numerical.hpp.

◆ mat43f

◆ mat44

Definition at line 1051 of file numerical.hpp.

◆ mat44f

◆ mat4f

◆ matrix1

◆ matrix11

Definition at line 1020 of file numerical.hpp.

◆ matrix11f

◆ matrix12

Definition at line 1023 of file numerical.hpp.

◆ matrix12f

◆ matrix13

Definition at line 1027 of file numerical.hpp.

◆ matrix13f

◆ matrix14

Definition at line 1033 of file numerical.hpp.

◆ matrix14f

◆ matrix2

◆ matrix21

Definition at line 1022 of file numerical.hpp.

◆ matrix21f

◆ matrix22

Definition at line 1021 of file numerical.hpp.

◆ matrix22f

◆ matrix23

Definition at line 1028 of file numerical.hpp.

◆ matrix23f

◆ matrix24

Definition at line 1034 of file numerical.hpp.

◆ matrix24f

◆ matrix3

◆ matrix31

Definition at line 1025 of file numerical.hpp.

◆ matrix31f

◆ matrix32

Definition at line 1026 of file numerical.hpp.

◆ matrix32f

◆ matrix33

Definition at line 1024 of file numerical.hpp.

◆ matrix33f

◆ matrix34

Definition at line 1035 of file numerical.hpp.

◆ matrix34f

◆ matrix4

◆ matrix41

Definition at line 1030 of file numerical.hpp.

◆ matrix41f

◆ matrix42

Definition at line 1031 of file numerical.hpp.

◆ matrix42f

◆ matrix43

Definition at line 1032 of file numerical.hpp.

◆ matrix43f

◆ matrix44

Definition at line 1029 of file numerical.hpp.

◆ matrix44f

◆ optional_aabb

◆ optional_aabb_2d

◆ optional_col_vec1

◆ optional_col_vec2

◆ optional_col_vec3

◆ optional_col_vec4

◆ optional_mat1

◆ optional_mat11

◆ optional_mat11f

◆ optional_mat12

◆ optional_mat12f

◆ optional_mat13

◆ optional_mat13f

◆ optional_mat14

◆ optional_mat14f

◆ optional_mat1f

◆ optional_mat2

◆ optional_mat21

◆ optional_mat21f

◆ optional_mat22

◆ optional_mat22f

◆ optional_mat23

◆ optional_mat23f

◆ optional_mat24

◆ optional_mat24f

◆ optional_mat2f

◆ optional_mat3

◆ optional_mat31

◆ optional_mat31f

◆ optional_mat32

◆ optional_mat32f

◆ optional_mat33

◆ optional_mat33f

◆ optional_mat34

◆ optional_mat34f

◆ optional_mat3f

◆ optional_mat4

◆ optional_mat41

◆ optional_mat41f

◆ optional_mat42

◆ optional_mat42f

◆ optional_mat43

◆ optional_mat43f

◆ optional_mat44

◆ optional_mat44f

◆ optional_mat4f

◆ optional_matrix1

◆ optional_matrix11

◆ optional_matrix11f

◆ optional_matrix12

◆ optional_matrix12f

◆ optional_matrix13

◆ optional_matrix13f

◆ optional_matrix14

◆ optional_matrix14f

◆ optional_matrix1f

◆ optional_matrix2

◆ optional_matrix21

◆ optional_matrix21f

◆ optional_matrix22

◆ optional_matrix22f

◆ optional_matrix23

◆ optional_matrix23f

◆ optional_matrix24

◆ optional_matrix24f

◆ optional_matrix2f

◆ optional_matrix3

◆ optional_matrix31

◆ optional_matrix31f

◆ optional_matrix32

◆ optional_matrix32f

◆ optional_matrix33

◆ optional_matrix33f

◆ optional_matrix34

◆ optional_matrix34f

◆ optional_matrix3f

◆ optional_matrix4

◆ optional_matrix41

◆ optional_matrix41f

◆ optional_matrix42

◆ optional_matrix42f

◆ optional_matrix43

◆ optional_matrix43f

◆ optional_matrix44

◆ optional_matrix44f

◆ optional_matrix4f

◆ optional_row_vec1

◆ optional_row_vec2

◆ optional_row_vec3

◆ optional_row_vec4

◆ optional_vec1

◆ optional_vec2

◆ optional_vec2_list

◆ optional_vec3

◆ optional_vec3_list

◆ optional_vec4

◆ optional_vector1

◆ optional_vector2

◆ optional_vector3

◆ optional_vector4

◆ optional_vertices_2d_t

◆ optional_vertices_t

◆ quad

Definition at line 646 of file numerical.hpp.

◆ quad_2d

Definition at line 649 of file numerical.hpp.

◆ quadf

Definition at line 652 of file numerical.hpp.

◆ quadf_2d

Definition at line 655 of file numerical.hpp.

◆ row_vec1

Definition at line 526 of file numerical.hpp.

◆ row_vec2

Definition at line 527 of file numerical.hpp.

◆ row_vec3

Definition at line 528 of file numerical.hpp.

◆ row_vec4

Definition at line 529 of file numerical.hpp.

◆ scalar

Definition at line 63 of file numerical.hpp.

◆ swizzle_rebind_t

Definition at line 71 of file swizzle.hpp.

◆ triangle

Definition at line 645 of file numerical.hpp.

◆ triangle_2d

Definition at line 648 of file numerical.hpp.

◆ trianglef

Definition at line 651 of file numerical.hpp.

◆ trianglef_2d

Definition at line 654 of file numerical.hpp.

◆ u32

Definition at line 586 of file numerical.hpp.

◆ u64

Definition at line 587 of file numerical.hpp.

◆ vec1

Definition at line 516 of file numerical.hpp.

◆ vec1f

Definition at line 568 of file numerical.hpp.

◆ vec1i32

◆ vec1u32

◆ vec2

Definition at line 517 of file numerical.hpp.

◆ vec2_array

Definition at line 603 of file numerical.hpp.

◆ vec2_list

Definition at line 551 of file numerical.hpp.

◆ vec2f

Definition at line 569 of file numerical.hpp.

◆ vec2i32

◆ vec2u32

◆ vec3

Definition at line 518 of file numerical.hpp.

◆ vec3_array

Definition at line 600 of file numerical.hpp.

◆ vec3_list

Definition at line 552 of file numerical.hpp.

◆ vec3f

Definition at line 570 of file numerical.hpp.

◆ vec3i32

◆ vec3u32

◆ vec4

Definition at line 519 of file numerical.hpp.

◆ vec4f

Definition at line 571 of file numerical.hpp.

◆ vec4i32

◆ vec4u32

◆ vector1

Definition at line 511 of file numerical.hpp.

◆ vector1f

◆ vector1i32

◆ vector1u32

◆ vector2

Definition at line 512 of file numerical.hpp.

◆ vector2f

◆ vector2i32

◆ vector2u32

◆ vector3

Definition at line 513 of file numerical.hpp.

◆ vector3f

◆ vector3i32

◆ vector3u32

◆ vector4

Definition at line 514 of file numerical.hpp.

◆ vector4f

◆ vector4i32

◆ vector4u32

◆ vertices

◆ vertices_2d

Function Documentation

◆ aabb_contains() [1/4]

bool neolib::math::aabb_contains ( const aabb outer,
const aabb inner 
)
inline

Definition at line 1742 of file numerical.hpp.

◆ aabb_contains() [2/4]

bool neolib::math::aabb_contains ( const aabb outer,
const vec3 point 
)
inline

Definition at line 1747 of file numerical.hpp.

◆ aabb_contains() [3/4]

bool neolib::math::aabb_contains ( const aabb_2d outer,
const aabb_2d inner 
)
inline

Definition at line 1889 of file numerical.hpp.

◆ aabb_contains() [4/4]

bool neolib::math::aabb_contains ( const aabb_2d outer,
const vec2 point 
)
inline

Definition at line 1894 of file numerical.hpp.

◆ aabb_extents() [1/2]

vec3 neolib::math::aabb_extents ( const aabb aAabb)
inline

Definition at line 1655 of file numerical.hpp.

◆ aabb_extents() [2/2]

vec2 neolib::math::aabb_extents ( const aabb_2d aAabb)
inline

Definition at line 1806 of file numerical.hpp.

◆ aabb_intersects() [1/8]

bool neolib::math::aabb_intersects ( const aabb first,
const aabb second 
)
inline

Definition at line 1752 of file numerical.hpp.

◆ aabb_intersects() [2/8]

bool neolib::math::aabb_intersects ( const aabb first,
const std::optional< aabb > &  second 
)
inline

Definition at line 1783 of file numerical.hpp.

◆ aabb_intersects() [3/8]

bool neolib::math::aabb_intersects ( const aabb_2d first,
const aabb_2d second 
)
inline

Definition at line 1899 of file numerical.hpp.

◆ aabb_intersects() [4/8]

bool neolib::math::aabb_intersects ( const aabb_2d first,
const std::optional< aabb_2d > &  second 
)
inline

Definition at line 1926 of file numerical.hpp.

◆ aabb_intersects() [5/8]

bool neolib::math::aabb_intersects ( const optional< aabb > &  first,
const aabb second 
)
inline

Definition at line 1776 of file numerical.hpp.

◆ aabb_intersects() [6/8]

bool neolib::math::aabb_intersects ( const optional< aabb > &  first,
const std::optional< aabb > &  second 
)
inline

Definition at line 1769 of file numerical.hpp.

◆ aabb_intersects() [7/8]

bool neolib::math::aabb_intersects ( const optional< aabb_2d > &  first,
const aabb_2d second 
)
inline

Definition at line 1919 of file numerical.hpp.

◆ aabb_intersects() [8/8]

bool neolib::math::aabb_intersects ( const optional< aabb_2d > &  first,
const std::optional< aabb_2d > &  second 
)
inline

Definition at line 1912 of file numerical.hpp.

◆ aabb_origin() [1/2]

vec3 neolib::math::aabb_origin ( const aabb aAabb)
inline

Definition at line 1650 of file numerical.hpp.

◆ aabb_origin() [2/2]

vec2 neolib::math::aabb_origin ( const aabb_2d aAabb)
inline

Definition at line 1801 of file numerical.hpp.

◆ aabb_transform() [1/2]

template<typename... Transforms>
aabb neolib::math::aabb_transform ( const aabb aAabb,
const Transforms &...  aTransforms 
)
inline

Definition at line 1661 of file numerical.hpp.

◆ aabb_transform() [2/2]

template<typename... Transforms>
aabb_2d neolib::math::aabb_transform ( const aabb_2d aAabb,
const Transforms &...  aTransforms 
)
inline

Definition at line 1812 of file numerical.hpp.

◆ aabb_union() [1/2]

aabb neolib::math::aabb_union ( const aabb left,
const aabb right 
)
inline

Definition at line 1731 of file numerical.hpp.

◆ aabb_union() [2/2]

aabb_2d neolib::math::aabb_union ( const aabb_2d left,
const aabb_2d right 
)
inline

Definition at line 1878 of file numerical.hpp.

◆ aabb_volume() [1/2]

scalar neolib::math::aabb_volume ( const aabb a)
inline

Definition at line 1736 of file numerical.hpp.

◆ aabb_volume() [2/2]

scalar neolib::math::aabb_volume ( const aabb_2d a)
inline

Definition at line 1883 of file numerical.hpp.

◆ affine_rotation_matrix()

mat44 neolib::math::affine_rotation_matrix ( const vec3 angles)
inline

Definition at line 1543 of file numerical.hpp.

◆ apply_scaling()

mat44 & neolib::math::apply_scaling ( mat44 aMatrix,
const vec3 aScaling 
)
inline

Definition at line 1570 of file numerical.hpp.

◆ apply_translation()

mat44 & neolib::math::apply_translation ( mat44 aMatrix,
const vec3 aTranslation 
)
inline

Definition at line 1561 of file numerical.hpp.

◆ bezier_cubic() [1/2]

template<typename T >
basic_vector< T, 2 > neolib::math::bezier_cubic ( basic_vector< T, 2 > const p0,
basic_vector< T, 2 > const p1,
basic_vector< T, 2 > const p2,
basic_vector< T, 2 > const p3,
T  t 
)
inline

Definition at line 1949 of file numerical.hpp.

◆ bezier_cubic() [2/2]

vec2 neolib::math::bezier_cubic ( vec2 const p0,
vec2 const p1,
vec2 const p2,
vec2 const p3,
scalar  t 
)
inline

Definition at line 1933 of file numerical.hpp.

◆ bezier_cubic_x() [1/2]

template<typename T >
basic_vector< T, 2 > neolib::math::bezier_cubic_x ( basic_vector< T, 2 > const p0,
basic_vector< T, 2 > const p1,
basic_vector< T, 2 > const p2,
basic_vector< T, 2 > const p3,
T  x 
)
inline

Definition at line 1955 of file numerical.hpp.

◆ bezier_cubic_x() [2/2]

vec2 neolib::math::bezier_cubic_x ( vec2 const p0,
vec2 const p1,
vec2 const p2,
vec2 const p3,
scalar  x 
)
inline

Definition at line 1938 of file numerical.hpp.

◆ bezier_cubic_y() [1/2]

template<typename T >
basic_vector< T, 2 > neolib::math::bezier_cubic_y ( basic_vector< T, 2 > const p0,
basic_vector< T, 2 > const p1,
basic_vector< T, 2 > const p2,
basic_vector< T, 2 > const p3,
T  y 
)
inline

Definition at line 1961 of file numerical.hpp.

◆ bezier_cubic_y() [2/2]

vec2 neolib::math::bezier_cubic_y ( vec2 const p0,
vec2 const p1,
vec2 const p2,
vec2 const p3,
scalar  y 
)
inline

Definition at line 1943 of file numerical.hpp.

◆ lerp() [1/2]

template<typename T , uint32_t Size, typename Type >
basic_vector< T, Size, Type > neolib::math::lerp ( const basic_vector< T, Size, Type > &  aV1,
const basic_vector< T, Size, Type > &  aV2,
double  aAmount 
)
inline

Definition at line 888 of file numerical.hpp.

◆ lerp() [2/2]

template<typename T , typename SFINAE = std::enable_if_t<std::is_scalar_v<T>, sfinae>>
T neolib::math::lerp ( T  aX1,
T  aX2,
double  aAmount 
)
inline

Definition at line 81 of file numerical.hpp.

◆ midpoint()

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::midpoint ( const basic_vector< T, 3, Type > &  left,
const basic_vector< T, 3, Type > &  right 
)
inline

Definition at line 882 of file numerical.hpp.

◆ nearly_equal() [1/7]

template<typename T , uint32_t Size, typename Type = column_vector>
bool neolib::math::nearly_equal ( basic_vector< T, Size, Type > const lhs,
basic_vector< T, Size, Type > const rhs,
scalar  epsilon = 0.00001 
)
inline

Definition at line 1592 of file numerical.hpp.

◆ nearly_equal() [2/7]

template<typename T >
bool neolib::math::nearly_equal ( optional< T > const lhs,
optional< T > const rhs,
scalar  epsilon = 0.00001 
)
inline

Definition at line 1600 of file numerical.hpp.

◆ nearly_equal() [3/7]

template<typename T >
bool neolib::math::nearly_equal ( std::optional< T > const lhs,
std::optional< T > const rhs,
scalar  epsilon = 0.00001 
)
inline

Definition at line 1609 of file numerical.hpp.

◆ nearly_equal() [4/7]

template<typename T1 , typename T2 >
bool neolib::math::nearly_equal ( std::pair< T1, T2 > const lhs,
std::pair< T1, T2 > const rhs,
scalar  epsilon = 0.00001 
)
inline

Definition at line 1618 of file numerical.hpp.

◆ nearly_equal() [5/7]

template<typename T >
bool neolib::math::nearly_equal ( std::vector< T > const lhs,
std::vector< T > const rhs,
scalar  epsilon = 0.00001 
)
inline

Definition at line 1623 of file numerical.hpp.

◆ nearly_equal() [6/7]

template<typename T >
bool neolib::math::nearly_equal ( T  lhs,
T  rhs,
scalar  epsilon = 0.00001,
std::enable_if_t< std::is_floating_point_v< T >, sfinae = {} 
)
inline

Definition at line 1582 of file numerical.hpp.

◆ nearly_equal() [7/7]

template<typename T >
bool neolib::math::nearly_equal ( T  lhs,
T  rhs,
scalar  epsilon = 0.00001,
std::enable_if_t< std::is_integral_v< T >, sfinae = {} 
)
inline

Definition at line 1587 of file numerical.hpp.

◆ operator%() [1/2]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator% ( const basic_vector< T, 3, Type > &  left,
const T right 
)
inline

Definition at line 870 of file numerical.hpp.

◆ operator%() [2/2]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator% ( const basic_vector< T, D, Type > &  left,
const T right 
)
inline

Definition at line 798 of file numerical.hpp.

◆ operator*() [1/22]

template<typename T >
basic_matrix< T, 4u, 4u > neolib::math::operator* ( const basic_matrix< T, 4u, 4u > &  left,
const basic_matrix< T, 4u, 4u > &  right 
)
inline

Definition at line 1277 of file numerical.hpp.

◆ operator*() [2/22]

template<typename T >
basic_vector< T, 3u, column_vector > neolib::math::operator* ( const basic_matrix< T, 4u, 4u > &  left,
const basic_vector< T, 3u, column_vector > &  right 
)
inline

Definition at line 1478 of file numerical.hpp.

◆ operator*() [3/22]

template<typename T >
basic_vector< T, 4u, column_vector > neolib::math::operator* ( const basic_matrix< T, 4u, 4u > &  left,
const basic_vector< T, 4u, column_vector > &  right 
)
inline

Definition at line 1314 of file numerical.hpp.

◆ operator*() [4/22]

template<typename T , std::size_t VertexCount>
std::array< basic_vector< T, 4u, column_vector >, VertexCount > neolib::math::operator* ( const basic_matrix< T, 4u, 4u > &  left,
const std::array< basic_vector< T, 4u, column_vector >, VertexCount > &  right 
)
inline

Definition at line 1325 of file numerical.hpp.

◆ operator*() [5/22]

template<typename T >
std::vector< basic_vector< T, 3u, column_vector > > neolib::math::operator* ( const basic_matrix< T, 4u, 4u > &  left,
const std::vector< basic_vector< T, 3u, column_vector > > &  right 
)
inline

Definition at line 1489 of file numerical.hpp.

◆ operator*() [6/22]

template<typename T , uint32_t D>
basic_vector< T, D, column_vector > neolib::math::operator* ( const basic_matrix< T, D, D > &  left,
const basic_vector< T, D, column_vector > &  right 
)
inline

Definition at line 1291 of file numerical.hpp.

◆ operator*() [7/22]

template<typename T , uint32_t D, std::size_t VertexCount>
std::array< basic_vector< T, D, column_vector >, VertexCount > neolib::math::operator* ( const basic_matrix< T, D, D > &  left,
const std::array< basic_vector< T, D, column_vector >, VertexCount > &  right 
)
inline

Definition at line 1303 of file numerical.hpp.

◆ operator*() [8/22]

template<typename T , uint32_t D1, uint32_t D2>
basic_matrix< T, D1, D1 > neolib::math::operator* ( const basic_matrix< T, D1, D2 > &  left,
const basic_matrix< T, D2, D1 > &  right 
)
inline

Definition at line 1262 of file numerical.hpp.

◆ operator*() [9/22]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator* ( const basic_matrix< T, Rows, Columns > &  left,
typename basic_matrix< T, Rows, Columns >::value_type  right 
)
inline

Definition at line 1208 of file numerical.hpp.

◆ operator*() [10/22]

template<typename T >
T neolib::math::operator* ( const basic_vector< T, 3, row_vector > &  left,
const basic_vector< T, 3, column_vector > &  right 
)
inline

Definition at line 876 of file numerical.hpp.

◆ operator*() [11/22]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator* ( const basic_vector< T, 3, Type > &  left,
const T right 
)
inline

Definition at line 852 of file numerical.hpp.

◆ operator*() [12/22]

template<typename T >
basic_matrix< T, 4u, 4u > neolib::math::operator* ( const basic_vector< T, 4u, column_vector > &  left,
const basic_vector< T, 4u, row_vector > &  right 
)
inline

Definition at line 1391 of file numerical.hpp.

◆ operator*() [13/22]

template<typename T >
basic_vector< T, 4u, row_vector > neolib::math::operator* ( const basic_vector< T, 4u, row_vector > &  left,
const basic_matrix< T, 4u, 4u > &  right 
)
inline

Definition at line 1359 of file numerical.hpp.

◆ operator*() [14/22]

template<typename T , uint32_t D>
basic_matrix< T, D, D > neolib::math::operator* ( const basic_vector< T, D, column_vector > &  left,
const basic_vector< T, D, row_vector > &  right 
)
inline

Definition at line 1381 of file numerical.hpp.

◆ operator*() [15/22]

template<typename T , uint32_t D>
basic_vector< T, D, row_vector > neolib::math::operator* ( const basic_vector< T, D, row_vector > &  left,
const basic_matrix< T, D, D > &  right 
)
inline

Definition at line 1336 of file numerical.hpp.

◆ operator*() [16/22]

template<typename T , uint32_t D>
T neolib::math::operator* ( const basic_vector< T, D, row_vector > &  left,
const basic_vector< T, D, column_vector > &  right 
)
inline

Definition at line 807 of file numerical.hpp.

◆ operator*() [17/22]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator* ( const basic_vector< T, D, Type > &  left,
const T right 
)
inline

Definition at line 762 of file numerical.hpp.

◆ operator*() [18/22]

template<typename T , std::size_t VertexCount>
basic_vector< T, 4u, row_vector > neolib::math::operator* ( const std::array< basic_vector< T, 4u, row_vector >, VertexCount > &  left,
const basic_matrix< T, 4u, 4u > &  right 
)
inline

Definition at line 1370 of file numerical.hpp.

◆ operator*() [19/22]

template<typename T , uint32_t D, std::size_t VertexCount>
std::array< basic_vector< T, D, row_vector >, VertexCount > neolib::math::operator* ( const std::array< basic_vector< T, D, row_vector >, VertexCount > &  left,
const basic_matrix< T, D, D > &  right 
)
inline

Definition at line 1348 of file numerical.hpp.

◆ operator*() [20/22]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator* ( const T left,
const basic_vector< T, 3, Type > &  right 
)
inline

Definition at line 858 of file numerical.hpp.

◆ operator*() [21/22]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator* ( const T left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 771 of file numerical.hpp.

◆ operator*() [22/22]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator* ( scalar  left,
const basic_matrix< T, Rows, Columns > &  right 
)
inline

Definition at line 1238 of file numerical.hpp.

◆ operator+() [1/11]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator+ ( const basic_matrix< T, Rows, Columns > &  left,
const basic_matrix< T, Rows, Columns > &  right 
)
inline

Definition at line 1246 of file numerical.hpp.

◆ operator+() [2/11]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator+ ( const basic_matrix< T, Rows, Columns > &  left,
typename basic_matrix< T, Rows, Columns >::value_type  right 
)
inline

Definition at line 1192 of file numerical.hpp.

◆ operator+() [3/11]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator+ ( const basic_vector< T, 3, Type > &  left,
const basic_vector< T, 3, Type > &  right 
)
inline

Definition at line 816 of file numerical.hpp.

◆ operator+() [4/11]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator+ ( const basic_vector< T, 3, Type > &  left,
const T right 
)
inline

Definition at line 828 of file numerical.hpp.

◆ operator+() [5/11]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator+ ( const basic_vector< T, D, Type > &  left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 658 of file numerical.hpp.

◆ operator+() [6/11]

template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > neolib::math::operator+ ( const basic_vector< T, D, Type > &  left,
const std::array< basic_vector< T, D, Type >, VertexCount > &  right 
)
inline

Definition at line 674 of file numerical.hpp.

◆ operator+() [7/11]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator+ ( const basic_vector< T, D, Type > &  left,
const T right 
)
inline

Definition at line 726 of file numerical.hpp.

◆ operator+() [8/11]

template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > neolib::math::operator+ ( const std::array< basic_vector< T, D, Type >, VertexCount > &  left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 683 of file numerical.hpp.

◆ operator+() [9/11]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator+ ( const T left,
const basic_vector< T, 3, Type > &  right 
)
inline

Definition at line 834 of file numerical.hpp.

◆ operator+() [10/11]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator+ ( const T left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 735 of file numerical.hpp.

◆ operator+() [11/11]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator+ ( scalar  left,
const basic_matrix< T, Rows, Columns > &  right 
)
inline

Definition at line 1224 of file numerical.hpp.

◆ operator+=()

template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > & neolib::math::operator+= ( std::array< basic_vector< T, D, Type >, VertexCount > &  left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 692 of file numerical.hpp.

◆ operator-() [1/11]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator- ( const basic_matrix< T, Rows, Columns > &  left,
const basic_matrix< T, Rows, Columns > &  right 
)
inline

Definition at line 1254 of file numerical.hpp.

◆ operator-() [2/11]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator- ( const basic_matrix< T, Rows, Columns > &  left,
typename basic_matrix< T, Rows, Columns >::value_type  right 
)
inline

Definition at line 1200 of file numerical.hpp.

◆ operator-() [3/11]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator- ( const basic_vector< T, 3, Type > &  left,
const basic_vector< T, 3, Type > &  right 
)
inline

Definition at line 822 of file numerical.hpp.

◆ operator-() [4/11]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator- ( const basic_vector< T, 3, Type > &  left,
const T right 
)
inline

Definition at line 840 of file numerical.hpp.

◆ operator-() [5/11]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator- ( const basic_vector< T, D, Type > &  left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 666 of file numerical.hpp.

◆ operator-() [6/11]

template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > neolib::math::operator- ( const basic_vector< T, D, Type > &  left,
const std::array< basic_vector< T, D, Type >, VertexCount > &  right 
)
inline

Definition at line 700 of file numerical.hpp.

◆ operator-() [7/11]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator- ( const basic_vector< T, D, Type > &  left,
const T right 
)
inline

Definition at line 744 of file numerical.hpp.

◆ operator-() [8/11]

template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > neolib::math::operator- ( const std::array< basic_vector< T, D, Type >, VertexCount > &  left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 709 of file numerical.hpp.

◆ operator-() [9/11]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator- ( const T left,
const basic_vector< T, 3, Type > &  right 
)
inline

Definition at line 846 of file numerical.hpp.

◆ operator-() [10/11]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator- ( const T left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 753 of file numerical.hpp.

◆ operator-() [11/11]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator- ( scalar  left,
const basic_matrix< T, Rows, Columns > &  right 
)
inline

Definition at line 1232 of file numerical.hpp.

◆ operator-=()

template<typename T , uint32_t D, typename Type , std::size_t VertexCount>
std::array< basic_vector< T, D, Type >, VertexCount > & neolib::math::operator-= ( std::array< basic_vector< T, D, Type >, VertexCount > &  left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 718 of file numerical.hpp.

◆ operator/() [1/4]

template<typename T , uint32_t Rows, uint32_t Columns>
basic_matrix< T, Rows, Columns > neolib::math::operator/ ( const basic_matrix< T, Rows, Columns > &  left,
typename basic_matrix< T, Rows, Columns >::value_type  right 
)
inline

Definition at line 1216 of file numerical.hpp.

◆ operator/() [2/4]

template<typename T , typename Type >
basic_vector< T, 3, Type > neolib::math::operator/ ( const basic_vector< T, 3, Type > &  left,
const T right 
)
inline

Definition at line 864 of file numerical.hpp.

◆ operator/() [3/4]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator/ ( const basic_vector< T, D, Type > &  left,
const T right 
)
inline

Definition at line 780 of file numerical.hpp.

◆ operator/() [4/4]

template<typename T , uint32_t D, typename Type >
basic_vector< T, D, Type > neolib::math::operator/ ( const T left,
const basic_vector< T, D, Type > &  right 
)
inline

Definition at line 789 of file numerical.hpp.

◆ operator<() [1/3]

bool neolib::math::operator< ( const aabb left,
const aabb right 
)
inline

Definition at line 1717 of file numerical.hpp.

◆ operator<() [2/3]

bool neolib::math::operator< ( const aabb_2d left,
const aabb_2d right 
)
inline

Definition at line 1864 of file numerical.hpp.

◆ operator<() [3/3]

template<typename T , uint32_t Size, typename Type >
bool neolib::math::operator< ( const basic_vector< T, Size, Type > &  aLhs,
const basic_vector< T, Size, Type > &  aRhs 
)
inline

Definition at line 500 of file numerical.hpp.

◆ operator<<() [1/4]

template<typename Elem , typename Traits , typename T , uint32_t Rows, uint32_t Columns>
std::basic_ostream< Elem, Traits > & neolib::math::operator<< ( std::basic_ostream< Elem, Traits > &  aStream,
const basic_matrix< T, Rows, Columns > &  aMatrix 
)
inline

Definition at line 1423 of file numerical.hpp.

◆ operator<<() [2/4]

template<typename Elem , typename Traits , typename T , uint32_t Size, typename Type >
std::basic_ostream< Elem, Traits > & neolib::math::operator<< ( std::basic_ostream< Elem, Traits > &  aStream,
const basic_vector< T, Size, Type > &  aVector 
)
inline

Definition at line 1400 of file numerical.hpp.

◆ operator<<() [3/4]

template<typename Elem , typename Traits , typename T , uint32_t Rows, uint32_t Columns>
std::basic_ostream< Elem, Traits > & neolib::math::operator<< ( std::basic_ostream< Elem, Traits > &  aStream,
const optional< basic_matrix< T, Rows, Columns > > &  aMatrix 
)
inline

Definition at line 1423 of file numerical.hpp.

◆ operator<<() [4/4]

template<typename Elem , typename Traits , typename T , uint32_t Rows, uint32_t Columns>
std::basic_ostream< Elem, Traits > & neolib::math::operator<< ( std::basic_ostream< Elem, Traits > &  aStream,
const std::optional< basic_matrix< T, Rows, Columns > > &  aMatrix 
)
inline

Definition at line 1423 of file numerical.hpp.

◆ operator<=>() [1/3]

std::partial_ordering neolib::math::operator<=> ( const aabb left,
const aabb right 
)
inline

Definition at line 1723 of file numerical.hpp.

◆ operator<=>() [2/3]

std::partial_ordering neolib::math::operator<=> ( const aabb_2d left,
const aabb_2d right 
)
inline

Definition at line 1870 of file numerical.hpp.

◆ operator<=>() [3/3]

template<typename T , uint32_t Size, typename Type >
std::partial_ordering neolib::math::operator<=> ( const basic_vector< T, Size, Type > &  aLhs,
const basic_vector< T, Size, Type > &  aRhs 
)
inline

Definition at line 506 of file numerical.hpp.

◆ operator==() [1/3]

bool neolib::math::operator== ( const aabb left,
const aabb right 
)
inline

Definition at line 1712 of file numerical.hpp.

◆ operator==() [2/3]

bool neolib::math::operator== ( const aabb_2d left,
const aabb_2d right 
)
inline

Definition at line 1859 of file numerical.hpp.

◆ operator==() [3/3]

template<typename T , uint32_t Size, typename Type >
bool neolib::math::operator== ( const basic_vector< T, Size, Type > &  aLhs,
const basic_vector< T, Size, Type > &  aRhs 
)
inline

Definition at line 494 of file numerical.hpp.

◆ operator>>()

template<typename Elem , typename Traits , typename T , uint32_t Size, typename Type >
std::basic_istream< Elem, Traits > & neolib::math::operator>> ( std::basic_istream< Elem, Traits > &  aStream,
basic_vector< T, Size, Type > &  aVector 
)
inline

Definition at line 1423 of file numerical.hpp.

◆ quad_extents()

template<typename T , std::size_t D>
basic_vector< T, D > neolib::math::quad_extents ( std::array< basic_vector< T, D >, 4 > const aQuad)

Definition at line 1630 of file numerical.hpp.

◆ rotation_matrix() [1/3]

mat33 neolib::math::rotation_matrix ( const vec3 angles)
inline

Definition at line 1525 of file numerical.hpp.

◆ rotation_matrix() [2/3]

mat33 neolib::math::rotation_matrix ( const vec3 axis,
scalar  angle,
scalar  epsilon = 0.00001 
)
inline

Definition at line 1500 of file numerical.hpp.

◆ rotation_matrix() [3/3]

mat33 neolib::math::rotation_matrix ( const vec3 vectorA,
const vec3 vectorB,
scalar  epsilon = 0.00001 
)
inline

Definition at line 1518 of file numerical.hpp.

◆ to_aabb() [1/4]

aabb neolib::math::to_aabb ( const vec3 aOrigin,
const vec3 aSize 
)
inline

Definition at line 1688 of file numerical.hpp.

◆ to_aabb() [2/4]

aabb neolib::math::to_aabb ( const vec3 aOrigin,
scalar  aSize 
)
inline

Definition at line 1683 of file numerical.hpp.

◆ to_aabb() [3/4]

aabb neolib::math::to_aabb ( const vertices aVertices,
const mat44 aTransformation = mat44::identity() 
)
inline

Definition at line 1707 of file numerical.hpp.

◆ to_aabb() [4/4]

template<typename VertexIter >
aabb neolib::math::to_aabb ( VertexIter  aBegin,
VertexIter  aEnd,
const mat44 aTransformation = mat44::identity() 
)
inline

Definition at line 1694 of file numerical.hpp.

◆ to_aabb_2d() [1/4]

aabb_2d neolib::math::to_aabb_2d ( const vec3 aOrigin,
const vec3 aSize 
)
inline

Definition at line 1835 of file numerical.hpp.

◆ to_aabb_2d() [2/4]

aabb_2d neolib::math::to_aabb_2d ( const vec3 aOrigin,
scalar  aSize 
)
inline

Definition at line 1830 of file numerical.hpp.

◆ to_aabb_2d() [3/4]

aabb_2d neolib::math::to_aabb_2d ( const vertices aVertices,
const mat44 aTransformation = mat44::identity() 
)
inline

Definition at line 1854 of file numerical.hpp.

◆ to_aabb_2d() [4/4]

template<typename VertexIter >
aabb_2d neolib::math::to_aabb_2d ( VertexIter  aBegin,
VertexIter  aEnd,
const mat44 aTransformation = mat44::identity() 
)
inline

Definition at line 1841 of file numerical.hpp.

◆ to_deg()

angle neolib::math::to_deg ( angle  aRadians)
inline

Definition at line 93 of file numerical.hpp.

◆ to_rad()

angle neolib::math::to_rad ( angle  aDegrees)
inline

Definition at line 88 of file numerical.hpp.

◆ without_translation()

template<typename T , uint32_t D>
basic_matrix< T, D, D > neolib::math::without_translation ( const basic_matrix< T, D, D > &  matrix)
inline

Definition at line 1400 of file numerical.hpp.