75 #if defined(DEBUG) && defined(DEBUG_PORT)
77 #define MATRIX_MATH_DEBUG
83 void VectorfAdd(
float *c,
float *a,
float *b,
size_t n);
88 void MatrixFill(
float fill,
float *A,
size_t rows,
size_t cols);
93 void MatrixAdd(
float *C,
float *A,
float *B,
size_t rows,
size_t cols);
98 void MatrixSubtract(
float *C,
float *A,
float *B,
size_t rows,
size_t cols);
104 void MatrixVectorfMult(
float *outVec,
float *A,
float *b,
size_t rows,
size_t cols);
105 void MatrixMultiply(
float *C,
float *A,
float *B,
size_t aRows,
size_t aCols,
size_t bRows,
size_t bCols);
106 void MatrixMultiply_ABt(
float *C,
float *A,
float *B,
size_t arows,
size_t acols,
size_t brows);
void VectorfAccumulate(float *a, float *b, size_t n)
a <- a + b.
Definition: matrix_math.cpp:114
void MatrixSubAccumulate(float *A, float *B, size_t rows, size_t cols)
A <- A - B.
Definition: matrix_math.cpp:353
void MatrixSubtractIdentity(float *A, size_t rows, size_t cols)
A <- I - A.
Definition: matrix_math.cpp:285
void VectorfFill(float *vec, float fill, size_t n)
USES SINGLE-PRECISION FLOATS!
Definition: matrix_math.cpp:74
void VectorfAdd(float *c, float *a, float *b, size_t n)
Add two vectors together and output result to a new vector.
Definition: matrix_math.cpp:95
void MatrixAdd(float *C, float *A, float *B, size_t rows, size_t cols)
C <- A + B.
Definition: matrix_math.cpp:244
void MatrixTransposeSquare(float *A, size_t n)
Compute the transpose of a SQUARE (n, n) matrix in-place.
Definition: matrix_math.cpp:211
void MatrixAccumulate(float *A, float *B, size_t rows, size_t cols)
A <- A + B.
Definition: matrix_math.cpp:308
void MatrixTranspose(float *A, float *At, size_t arows, size_t acols)
Compute the transpose of a matrix and output it to another one.
Definition: matrix_math.cpp:184
void MatrixSubtract(float *C, float *A, float *B, size_t rows, size_t cols)
C <- A - B.
Definition: matrix_math.cpp:331
bool _MatrixCholeskyDecomp(float *A, size_t n)
Perform Cholesky decomposition on a square, symmetric, positive definite matrix.
Definition: matrix_math.cpp:548
void VectorfSubtract(float *c, float *a, float *b, size_t n)
Subtract two vectors and output result to a new vector.
Definition: matrix_math.cpp:135
bool _MatrixLowerTriangularInverse(float *A, size_t n)
Compute the inverse of a lower triangular matrix.
Definition: matrix_math.cpp:609
void MatrixAddIdentity(float *A, size_t rows, size_t cols)
A <- I + A.
Definition: matrix_math.cpp:264
void MatrixFill(float fill, float *A, size_t rows, size_t cols)
Fill a matrix with a specified value.
Definition: matrix_math.cpp:156
void MatrixVectorfMult(float *outVec, float *A, float *b, size_t rows, size_t cols)
c <- A * b.
Definition: matrix_math.cpp:401
void MatrixMultiply(float *C, float *A, float *B, size_t aRows, size_t aCols, size_t bRows, size_t bCols)
C <- A * B.
Definition: matrix_math.cpp:431
void MatrixMultiply_ABt(float *C, float *A, float *B, size_t arows, size_t acols, size_t brows)
C <- A * B^T.
Definition: matrix_math.cpp:466
bool MatrixInverseCholesky(float *A, size_t n)
Compute the inverse of matrix A via Cholesky decomposition.
Definition: matrix_math.cpp:499
void MatrixNegate(float *A, size_t rows, size_t cols)
Multiply all elements in a matrix by -1.
Definition: matrix_math.cpp:373