| 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 ARMat * | arMatrixAlloc (int row, int clm)
ARMATRIX_EXTERN int | arMatrixFree (ARMat *m)
ARMATRIX_EXTERN ARMatf * | arMatrixAllocf (int row, int clm)
int | arMatrixFreef (ARMatf *m)
ARMATRIX_EXTERN int | arMatrixDup (ARMat *dest, ARMat *source)
ARMATRIX_EXTERN ARMat * | arMatrixAllocDup (ARMat *source)
ARMATRIX_EXTERN int | arMatrixUnit (ARMat *unit)
ARMATRIX_EXTERN ARMat * | arMatrixAllocUnit (int dim)
ARMATRIX_EXTERN int | arMatrixMul (ARMat *dest, ARMat *a, ARMat *b)
ARMATRIX_EXTERN ARMat * | arMatrixAllocMul (ARMat *a, ARMat *b)
ARMATRIX_EXTERN int | arMatrixMulf (ARMatf *dest, ARMatf *a, ARMatf *b)
ARMATRIX_EXTERN ARMatf * | arMatrixAllocMulf (ARMatf *a, ARMatf *b)
ARMATRIX_EXTERN int | arMatrixTrans (ARMat *dest, ARMat *source)
ARMATRIX_EXTERN ARMat * | arMatrixAllocTrans (ARMat *source)
ARMATRIX_EXTERN int | arMatrixTransf (ARMatf *dest, ARMatf *source)
ARMATRIX_EXTERN ARMatf * | arMatrixAllocTransf (ARMatf *source)
ARMATRIX_EXTERN int | arMatrixInv (ARMat *dest, ARMat *source)
ARMATRIX_EXTERN int | arMatrixSelfInv (ARMat *m)
ARMATRIX_EXTERN ARMat * | arMatrixAllocInv (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)
ARVec * | arVecAlloc (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,
|  |  | c
| ) |  | ((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: