ARX  1.0
The next-generation open source augmented reality toolkit.
Loading...
Searching...
No Matches
Classes | Macros | Functions
matrix.h File Reference
#include <math.h>
Include dependency graph for matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ARMat
 
struct  ARMatf
 
struct  ARVec
 

Macros

#define ARMATRIX_EXTERN
 
#define ARELEM0(mat, r, c)   ((mat)->m[(r)*((mat)->clm)+(c)])
 
#define ARELEM1(mat, row, clm)   ARELEM0(mat,row-1,clm-1)
 

Functions

ARMATRIX_EXTERN ARMatarMatrixAlloc (int row, int clm)
 
ARMATRIX_EXTERN int arMatrixFree (ARMat *m)
 
ARMATRIX_EXTERN ARMatfarMatrixAllocf (int row, int clm)
 
int arMatrixFreef (ARMatf *m)
 
ARMATRIX_EXTERN int arMatrixDup (ARMat *dest, ARMat *source)
 
ARMATRIX_EXTERN ARMatarMatrixAllocDup (ARMat *source)
 
ARMATRIX_EXTERN int arMatrixUnit (ARMat *unit)
 
ARMATRIX_EXTERN ARMatarMatrixAllocUnit (int dim)
 
ARMATRIX_EXTERN int arMatrixMul (ARMat *dest, ARMat *a, ARMat *b)
 
ARMATRIX_EXTERN ARMatarMatrixAllocMul (ARMat *a, ARMat *b)
 
ARMATRIX_EXTERN int arMatrixMulf (ARMatf *dest, ARMatf *a, ARMatf *b)
 
ARMATRIX_EXTERN ARMatfarMatrixAllocMulf (ARMatf *a, ARMatf *b)
 
ARMATRIX_EXTERN int arMatrixTrans (ARMat *dest, ARMat *source)
 
ARMATRIX_EXTERN ARMatarMatrixAllocTrans (ARMat *source)
 
ARMATRIX_EXTERN int arMatrixTransf (ARMatf *dest, ARMatf *source)
 
ARMATRIX_EXTERN ARMatfarMatrixAllocTransf (ARMatf *source)
 
ARMATRIX_EXTERN int arMatrixInv (ARMat *dest, ARMat *source)
 
ARMATRIX_EXTERN int arMatrixSelfInv (ARMat *m)
 
ARMATRIX_EXTERN ARMatarMatrixAllocInv (ARMat *source)
 
ARMATRIX_EXTERN int arMatrixSelfInvf (ARMatf *m)
 
ARMATRIX_EXTERN ARdouble arMatrixDet (ARMat *m)
 
ARMATRIX_EXTERN int arMatrixPCA (ARMat *input, ARMat *evec, ARVec *ev, ARVec *mean)
 
ARMATRIX_EXTERN int arMatrixPCA2 (ARMat *input, ARMat *evec, ARVec *ev)
 
ARMATRIX_EXTERN int arMatrixDisp (ARMat *m)
 
ARVecarVecAlloc (int clm)
 
int arVecFree (ARVec *v)
 
int arVecDisp (ARVec *v)
 
ARdouble arVecHousehold (ARVec *x)
 
ARdouble arVecInnerproduct (ARVec *x, ARVec *y)
 
int arVecTridiagonalize (ARMat *a, ARVec *d, ARVec *e)
 

Macro Definition Documentation

◆ ARELEM0

#define ARELEM0 (   mat,
  r,
 
)    ((mat)->m[(r)*((mat)->clm)+(c)])

◆ ARELEM1

#define ARELEM1 (   mat,
  row,
  clm 
)    ARELEM0(mat,row-1,clm-1)

◆ ARMATRIX_EXTERN

#define ARMATRIX_EXTERN

Function Documentation

◆ arMatrixAlloc()

ARMATRIX_EXTERN ARMat * arMatrixAlloc ( int  row,
int  clm 
)

◆ arMatrixAllocDup()

ARMATRIX_EXTERN ARMat * arMatrixAllocDup ( ARMat source)
Here is the call graph for this function:

◆ arMatrixAllocf()

ARMATRIX_EXTERN ARMatf * arMatrixAllocf ( int  row,
int  clm 
)

◆ arMatrixAllocInv()

ARMATRIX_EXTERN ARMat * arMatrixAllocInv ( ARMat source)
Here is the call graph for this function:

◆ arMatrixAllocMul()

ARMATRIX_EXTERN ARMat * arMatrixAllocMul ( ARMat a,
ARMat b 
)
Here is the call graph for this function:

◆ arMatrixAllocMulf()

ARMATRIX_EXTERN ARMatf * arMatrixAllocMulf ( ARMatf a,
ARMatf b 
)
Here is the call graph for this function:

◆ arMatrixAllocTrans()

ARMATRIX_EXTERN ARMat * arMatrixAllocTrans ( ARMat source)
Here is the call graph for this function:

◆ arMatrixAllocTransf()

ARMATRIX_EXTERN ARMatf * arMatrixAllocTransf ( ARMatf source)
Here is the call graph for this function:

◆ arMatrixAllocUnit()

ARMATRIX_EXTERN ARMat * arMatrixAllocUnit ( int  dim)
Here is the call graph for this function:

◆ arMatrixDet()

ARMATRIX_EXTERN ARdouble arMatrixDet ( ARMat m)

◆ arMatrixDisp()

ARMATRIX_EXTERN int arMatrixDisp ( ARMat m)

◆ arMatrixDup()

ARMATRIX_EXTERN int arMatrixDup ( ARMat dest,
ARMat source 
)

◆ arMatrixFree()

ARMATRIX_EXTERN int arMatrixFree ( ARMat m)

◆ arMatrixFreef()

int arMatrixFreef ( ARMatf m)

◆ arMatrixInv()

ARMATRIX_EXTERN int arMatrixInv ( ARMat dest,
ARMat source 
)
Here is the call graph for this function:

◆ arMatrixMul()

ARMATRIX_EXTERN int arMatrixMul ( ARMat dest,
ARMat a,
ARMat b 
)

◆ arMatrixMulf()

ARMATRIX_EXTERN int arMatrixMulf ( ARMatf dest,
ARMatf a,
ARMatf b 
)

◆ arMatrixPCA()

ARMATRIX_EXTERN int arMatrixPCA ( ARMat input,
ARMat evec,
ARVec ev,
ARVec mean 
)
Here is the call graph for this function:

◆ arMatrixPCA2()

ARMATRIX_EXTERN int arMatrixPCA2 ( ARMat input,
ARMat evec,
ARVec ev 
)
Here is the call graph for this function:

◆ arMatrixSelfInv()

ARMATRIX_EXTERN int arMatrixSelfInv ( ARMat m)

◆ arMatrixSelfInvf()

ARMATRIX_EXTERN int arMatrixSelfInvf ( ARMatf m)

◆ arMatrixTrans()

ARMATRIX_EXTERN int arMatrixTrans ( ARMat dest,
ARMat source 
)

◆ arMatrixTransf()

ARMATRIX_EXTERN int arMatrixTransf ( ARMatf dest,
ARMatf source 
)

◆ arMatrixUnit()

ARMATRIX_EXTERN int arMatrixUnit ( ARMat unit)

◆ arVecAlloc()

ARVec * arVecAlloc ( int  clm)

◆ arVecDisp()

int arVecDisp ( ARVec v)

◆ arVecFree()

int arVecFree ( ARVec v)

◆ arVecHousehold()

ARdouble arVecHousehold ( ARVec x)
Here is the call graph for this function:

◆ arVecInnerproduct()

ARdouble arVecInnerproduct ( ARVec x,
ARVec y 
)

◆ arVecTridiagonalize()

int arVecTridiagonalize ( ARMat a,
ARVec d,
ARVec e 
)
Here is the call graph for this function: