ISF  2.1
Intelligent Sensing Framework for Kinetis with Processor Expert
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
matrix.h
Go to the documentation of this file.
1 // Copyright (c) 2014, Freescale Semiconductor, Inc.
2 // All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are met:
6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above copyright
9 // notice, this list of conditions and the following disclaimer in the
10 // documentation and/or other materials provided with the distribution.
11 // * Neither the name of Freescale Semiconductor, Inc. nor the
12 // names of its contributors may be used to endorse or promote products
13 // derived from this software without specific prior written permission.
14 //
15 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 // DISCLAIMED. IN NO EVENT SHALL FREESCALE SEMICONDUCTOR, INC. BE LIABLE FOR ANY
19 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 #ifndef MATRIX_H
27 #define MATRIX_H
28 
29 #include "basic_types.h"
30 
31 // vector components
32 enum {
33  X = 0,
34  Y = 1,
35  Z = 2
36 };
37 
38 // function prototypes
39 void f3x3matrixAeqI(float A[][3]);
40 void fmatrixAeqI(float *A[], int16 rc);
41 void f3x3matrixAeqScalar(float A[][3], float Scalar);
42 void f3x3matrixAeqInvSymB(float A[][3], float B[][3]);
43 void f3x3matrixAeqAxScalar(float A[][3], float Scalar);
44 void f3x3matrixAeqMinusA(float A[][3]);
45 float f3x3matrixDetA(float A[][3]);
46 void eigencompute(float A[][10], float eigval[], float eigvec[][10], int8 n);
47 void fmatrixAeqInvA(float *A[], int8 iColInd[], int8 iRowInd[], int8 iPivot[], int8 isize);
48 void fmatrixAeqRenormRotA(float A[][3]);
49 
50 #endif // #ifndef MATRIX_H
float f3x3matrixDetA(float A[][3])
Definition: matrix.c:169
void fmatrixAeqInvA(float *A[], int8 iColInd[], int8 iRowInd[], int8 iPivot[], int8 isize)
Definition: matrix.c:325
void f3x3matrixAeqScalar(float A[][3], float Scalar)
Definition: matrix.c:76
void f3x3matrixAeqI(float A[][3])
Definition: matrix.c:36
Definition: matrix.h:33
signed char int8
Definition: basic_types.h:12
void eigencompute(float A[][10], float eigval[], float eigvec[][10], int8 n)
Definition: matrix.c:182
void f3x3matrixAeqInvSymB(float A[][3], float B[][3])
Definition: matrix.c:134
void f3x3matrixAeqMinusA(float A[][3])
Definition: matrix.c:113
void fmatrixAeqRenormRotA(float A[][3])
Definition: matrix.c:458
void f3x3matrixAeqAxScalar(float A[][3], float Scalar)
Definition: matrix.c:94
Definition: matrix.h:34
short int16
This defines int16 as short.
Definition: isf_types.h:23
void fmatrixAeqI(float *A[], int16 rc)
Definition: matrix.c:55
Definition: matrix.h:35