blob: 726a8abda2984cc0941388442b79c94d361c86dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#ifndef UPEM_MORPHING_MATRIX
#define UPEM_MORPHING_MATRIX
/**
* File: matrix.h
* Matrices representation and useful operations.
*
* See also:
* The film
*/
#include "geom.h"
/**
* Type: IntSquareMatrix
* Represents a square integer matrix.
*/
typedef struct {
IntVector **elements;
IntVector dim;
} IntSquareMatrix;
/**
* Function: matrix_int_det
* Computes and returns the determinant of a square integer matrix.
*
* Parameters:
* *matrix - pointer to input matrix
*
* Returns:
* The integer determinant
*/
IntVector matrix_int_det(IntSquareMatrix *matrix);
/**
* Function: matrix_reshape
* Reshapes a flat vector into a bi-dimensional row pointer array.
*
* Parameters:
* **bi_dim - pointer to the result row array
* *flat - flat vector
* width - number of elements per row
* height - number of rows
*/
void matrix_reshape(IntVector **bi_dim, IntVector *flat, int width, int height);
#endif
|