|
| | Swizzles |
| |
| | Vector Algebra |
| |
| | Quaternions |
| |
| | Quaternion Rotations |
| |
| | Vec |
| | linalg::vec<T,M> defines a fixed-length vector containing exactly M elements of type T.
|
| |
| | Mat |
| | linalg::mat<T,M,N> defines a fixed-size matrix containing exactly M rows and N columns of type T, in column-major order.
|
| |
| | Identity |
| | Define a type which will convert to the multiplicative identity of any square matrix.
|
| |
| | Fold |
| | Produce a scalar by applying f(A,B) -> A to adjacent pairs of elements from a vec/mat in left-to-right/column-major order (matching the associativity of arithmetic and logical operators).
|
| |
| | Apply |
| | apply(f,...) applies the provided function in an elementwise fashion to its arguments, producing an object of the same dimensions.
|
| |
| | Comparison_ops |
| | Relational operators are defined to compare the elements of two vectors or matrices lexicographically, in column-major order.
|
| |
| | Reductions |
| | Functions for coalescing scalar values.
|
| |
| | Unary_ops |
| | Unary operators are defined component-wise for linalg types.
|
| |
| | Binary_ops |
| | Binary operators are defined component-wise for linalg types, EXCEPT for operator *, which does standard matrix multiplication, scalar multiplication, and component-wise multiplication for same-size vectors. Use cmul for the matrix Hadamard product.
|
| |
| | Unary_STL |
| | Component-wise standard library math functions.
|
| |
| | Binary_STL |
| | Component-wise standard library math functions. Either argument can be a vector or a scalar.
|
| |
| | Relational |
| | Component-wise relational functions on vectors. Either argument can be a vector or a scalar.
|
| |
| | Selection |
| | Component-wise selection functions on vectors. Either argument can be a vector or a scalar.
|
| |
| | Mat_algebra |
| | Support for matrix algebra.
|
| |
| | Iterators |
| | Vectors and matrices can be used as ranges.
|
| |
| | Transforms |
| | Factory functions for 3D spatial transformations.
|
| |
| | Array |
| | Provide implicit conversion between linalg::vec<T,M> and std::array<T,M>.
|
| |
| | Hash |
| | Provide specializations for std::hash<...> with linalg types.
|
| |
|
|
using | vec2 = la::vec<double, 2> |
| |
|
using | vec3 = la::vec<double, 3> |
| |
|
using | vec4 = la::vec<double, 4> |
| |
|
using | bvec4 = la::vec<bool, 4> |
| |
|
using | mat2 = la::mat<double, 2, 2> |
| |
|
using | mat3x2 = la::mat<double, 3, 2> |
| |
|
using | mat4x2 = la::mat<double, 4, 2> |
| |
|
using | mat2x3 = la::mat<double, 2, 3> |
| |
|
using | mat3 = la::mat<double, 3, 3> |
| |
|
using | mat4x3 = la::mat<double, 4, 3> |
| |
|
using | mat3x4 = la::mat<double, 3, 4> |
| |
|
using | mat4 = la::mat<double, 4, 4> |
| |
|
using | ivec2 = la::vec<int, 2> |
| |
|
using | ivec3 = la::vec<int, 3> |
| |
|
using | ivec4 = la::vec<int, 4> |
| |
|
using | quat = la::vec<double, 4> |
| |