Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
MathVectors.inl File Reference

Go to the source code of this file.

Namespaces

namespace  Divide
 Handle console commands that start with a forward slash.
 
namespace  Divide::AVX
 

Macros

#define DVD_CORE_MATH_MATH_VECTORS_INL_
 

Functions

bool Divide::AVX::Fneq128 (__m128 const &a, __m128 const &b) noexcept
 
bool Divide::AVX::Fneq128 (__m128 const &a, __m128 const &b, const F32 epsilon) noexcept
 
__m128 Divide::AVX::DotSimd (const __m128 &a, const __m128 &b) noexcept
 
__m128 Divide::AVX::SimpleDot (__m128 a, __m128 b) noexcept
 
template<typename T >
FORCE_INLINE vec2< T > Divide::Cross (const vec2< T > v1, const vec2< T > v2) noexcept
 general vec2 cross function
 
template<typename T >
FORCE_INLINE vec2< T > Divide::Inverse (const vec2< T > v) noexcept
 
template<typename T >
FORCE_INLINE vec2< T > Divide::Normalize (vec2< T > vector) noexcept
 
template<typename T >
FORCE_INLINE vec2< T > Divide::Normalized (const vec2< T > vector) noexcept
 
template<typename T >
FORCE_INLINE vec2< T > Divide::operator* (T fl, const vec2< T > v) noexcept
 multiply a vector by a value
 
template<typename T >
FORCE_INLINEDivide::Dot (const vec2< T > a, const vec2< T > b) noexcept
 general vec2 dot product
 
template<typename T >
FORCE_INLINE void Divide::OrthoNormalize (vec2< T > &n, vec2< T > &u) noexcept
 
template<typename T >
FORCE_INLINE vec2< T > Divide::Clamped (const vec2< T > v, const vec2< T > min, const vec2< T > max) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Normalize (vec3< T > &vector) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Normalized (const vec3< T > &vector) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::operator* (T fl, const vec3< T > &v) noexcept
 multiply a vector by a value
 
template<typename T >
FORCE_INLINEDivide::Dot (const vec3< T > &a, const vec3< T > &b) noexcept
 general vec3 dot product
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Cross (const vec3< T > &v1, const vec3< T > &v2) noexcept
 general vec3 cross function
 
template<typename T >
FORCE_INLINE vec3< T > Divide::AreOrthogonal (const vec3< T > &v1, const vec3< T > &v2) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Inverse (const vec3< T > &v) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Perpendicular (const vec3< T > &v) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::ProjectToNorm (const vec3< T > &in, const vec3< T > &direction)
 
template<typename T >
FORCE_INLINE void Divide::OrthoNormalize (vec3< T > &n, vec3< T > &u) noexcept
 
template<typename T >
FORCE_INLINE void Divide::OrthoNormalize (vec3< T > &v1, vec3< T > &v2, vec3< T > &v3) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Clamped (const vec3< T > &v, const vec3< T > &min, const vec3< T > &max) noexcept
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Abs (const vec4< T > &vector) noexcept
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Min (const vec4< T > &v1, const vec4< T > &v2) noexcept
 min/max functions
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Max (const vec4< T > &v1, const vec4< T > &v2) noexcept
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Normalize (vec4< T > &vector) noexcept
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Normalized (const vec4< T > &vector) noexcept
 
template<typename T >
FORCE_INLINE void Divide::OrthoNormalize (vec4< T > &n, vec4< T > &u)
 
template<typename T >
FORCE_INLINE void Divide::OrthoNormalize (vec4< T > &v1, vec4< T > &v2, vec4< T > &v3)
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Perpendicular (const vec4< T > &vec, const vec4< T > &hint1, const vec4< T > &hint2) noexcept
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Clamped (const vec4< T > &v, const vec4< T > &min, const vec4< T > &max) noexcept
 
template<typename T >
FORCE_INLINE vec4< T > Divide::operator* (T fl, const vec4< T > &v) noexcept
 multiply a vector by a value
 
template<typename T , typename U >
requires std::is_pod_v<U>
FORCE_INLINE vec2< T > Divide::Lerp (const vec2< T > u, const vec2< T > v, U factor) noexcept
 linear interpolation between 2 vectors
 
template<typename T >
FORCE_INLINE vec2< T > Divide::Lerp (const vec2< T > u, const vec2< T > v, const vec2< T > factor) noexcept
 linear interpolation between 2 vectors based on separate x and y factors
 
template<typename T , typename U >
requires std::is_pod_v<U>
FORCE_INLINE vec3< T > Divide::Lerp (const vec3< T > &u, const vec3< T > &v, U factor) noexcept
 lerp between the 2 specified vectors by the specified amount
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Lerp (const vec3< T > &u, const vec3< T > &v, const vec3< T > &factor) noexcept
 lerp between the 2 specified vectors by the specified amount for each component
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Abs (const vec3< T > &vector) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Min (const vec3< T > &v1, const vec3< T > &v2) noexcept
 
template<typename T >
FORCE_INLINE vec3< T > Divide::Max (const vec3< T > &v1, const vec3< T > &v2) noexcept
 
template<typename T >
FORCE_INLINEDivide::Dot (const vec4< T > &a, const vec4< T > &b) noexcept
 general vec4 dot product
 
template<>
FORCE_INLINE F32 Divide::Dot (const vec4< F32 > &a, const vec4< F32 > &b) noexcept
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Lerp (const vec4< T > &u, const vec4< T > &v, T factor) noexcept
 lerp between the 2 vectors by the specified amount
 
template<typename T >
FORCE_INLINE vec4< T > Divide::Lerp (const vec4< T > &u, const vec4< T > &v, const vec4< T > &factor) noexcept
 lerp between the 2 specified vectors by the specified amount for each component
 
template<typename Type >
FORCE_INLINE vec2< Type > Divide::Random (const vec2< Type > min, const vec2< Type > max)
 
template<typename Type >
FORCE_INLINE vec3< Type > Divide::Random (const vec3< Type > &min, const vec3< Type > &max)
 
template<typename Type >
FORCE_INLINE vec4< Type > Divide::Random (const vec4< Type > &min, const vec4< Type > &max)
 

Macro Definition Documentation

◆ DVD_CORE_MATH_MATH_VECTORS_INL_

#define DVD_CORE_MATH_MATH_VECTORS_INL_

Definition at line 32 of file MathVectors.inl.