dlsl.matrix

dlsl.matrix

Public Imports

dlsl.vector
public import dlsl.vector;

Members

Aliases

mat2
alias mat2 = Matrix!(float, 2, 2)

predefined matrix types, the first number represents the number of cols and the second the number of columns, if there's just one it's a nxn matrix. All of these matrices are floating - point matrices.

mat2x2
alias mat2x2 = Matrix!(float, 2, 2)
Undocumented in source.
mat2x3
alias mat2x3 = Matrix!(float, 2, 3)
Undocumented in source.
mat2x4
alias mat2x4 = Matrix!(float, 2, 4)
Undocumented in source.
mat3
alias mat3 = Matrix!(float, 3, 3)
Undocumented in source.
mat3x2
alias mat3x2 = Matrix!(float, 3, 2)
Undocumented in source.
mat3x3
alias mat3x3 = Matrix!(float, 3, 3)
Undocumented in source.
mat3x4
alias mat3x4 = Matrix!(float, 3, 4)
Undocumented in source.
mat4
alias mat4 = Matrix!(float, 4, 4)
Undocumented in source.
mat4x2
alias mat4x2 = Matrix!(float, 4, 2)
Undocumented in source.
mat4x3
alias mat4x3 = Matrix!(float, 4, 3)
Undocumented in source.
mat4x4
alias mat4x4 = Matrix!(float, 4, 4)
Undocumented in source.

Functions

determinant
auto determinant(Matrix mat)

////////////// //////////////

invert
auto invert(Matrix mat)

///////// /////////

invertTR
auto invertTR(M mat)

//////////////////////////////////////////// ////////////////////////////////////////////

isinf
bool isinf(M mat)

query if any entry is inf

isnan
bool isnan(M mat)

query if any entry is nan

isvalid
bool isvalid(M mat)

query if all entries are not nan and not inf

transpose
auto transpose(M mat)

////////////// Transpose /// //////////////

Structs

Matrix
struct Matrix(type, int numCols, int numRows)

Base template for all matrix types. See predefined matrix types

Templates

isMatrix
template isMatrix(T)

If T is a matrix, this evaluates to true, otherwise false

Variables

deg2rad
enum float deg2rad;
Undocumented in source.
rad2deg
enum float rad2deg;
Undocumented in source.

Meta

Authors

Peter Particle ( based on gl3n by David Herberth )

License

MIT

Note: All methods marked with pure are weakly pure since, they all access an instance member. All static methods are strongly pure.