Grok  9.5.0
GrkMatrix.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2021 Grok Image Compression Inc.
3  *
4  * This source code is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Affero General Public License, version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This source code is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Affero General Public License for more details.
12  *
13  * You should have received a copy of the GNU Affero General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 
16  *
17  * This source code incorporates work covered by the BSD 2-clause license.
18  * Please see the LICENSE file in the root directory for details.
19  *
20  */
21 
22 namespace grk
23 {
24 class GrkMatrix
25 {
26  public:
27  bool matrix_inversion_f(float* pSrcMatrix, float* pDestMatrix, uint32_t nb_compo);
28 
29  private:
30  void lupInvert(float* pSrcMatrix, float* pDestMatrix, uint32_t nb_compo,
31  uint32_t* pPermutations, float* p_src_temp, float* p_dest_temp,
32  float* p_swap_area);
33 
34  bool lupDecompose(float* matrix, uint32_t* permutations, float* p_swap_area, uint32_t nb_compo);
35 
36  void lupSolve(float* pResult, float* pMatrix, float* pVector, uint32_t* pPermutations,
37  uint32_t nb_compo, float* p_intermediate_data);
38 };
39 
40 } // namespace grk
Definition: GrkMatrix.h:25
bool matrix_inversion_f(float *pSrcMatrix, float *pDestMatrix, uint32_t nb_compo)
Matrix inversion.
Definition: GrkMatrix.cpp:30
void lupInvert(float *pSrcMatrix, float *pDestMatrix, uint32_t nb_compo, uint32_t *pPermutations, float *p_src_temp, float *p_dest_temp, float *p_swap_area)
Definition: GrkMatrix.cpp:214
bool lupDecompose(float *matrix, uint32_t *permutations, float *p_swap_area, uint32_t nb_compo)
Definition: GrkMatrix.cpp:59
void lupSolve(float *pResult, float *pMatrix, float *pVector, uint32_t *pPermutations, uint32_t nb_compo, float *p_intermediate_data)
Definition: GrkMatrix.cpp:159
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: ICacheable.h:20