OLD | NEW |
| (Empty) |
1 /* vim: set ts=8 sw=8 noexpandtab: */ | |
2 // qcms | |
3 // Copyright (C) 2009 Mozilla Foundation | |
4 // Copyright (C) 1998-2007 Marti Maria | |
5 // | |
6 // Permission is hereby granted, free of charge, to any person obtaining | |
7 // a copy of this software and associated documentation files (the "Software"), | |
8 // to deal in the Software without restriction, including without limitation | |
9 // the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
10 // and/or sell copies of the Software, and to permit persons to whom the Softwar
e | |
11 // is furnished to do so, subject to the following conditions: | |
12 // | |
13 // The above copyright notice and this permission notice shall be included in | |
14 // all copies or substantial portions of the Software. | |
15 // | |
16 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
17 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO | |
18 // THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
19 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
20 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
21 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
22 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
23 | |
24 #ifndef _QCMS_MATRIX_H | |
25 #define _QCMS_MATRIX_H | |
26 | |
27 struct vector { | |
28 float v[3]; | |
29 }; | |
30 | |
31 struct vector matrix_eval(struct matrix mat, struct vector v); | |
32 float matrix_det(struct matrix mat); | |
33 struct matrix matrix_identity(void); | |
34 struct matrix matrix_multiply(struct matrix a, struct matrix b); | |
35 struct matrix matrix_invert(struct matrix mat); | |
36 | |
37 struct matrix matrix_invalid(void); | |
38 | |
39 #endif | |
OLD | NEW |