MBO
 All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
MboNumSubMatrix.h
Go to the documentation of this file.
1 /*
2 Copyright 2014 Dominic Meiser
3 
4 This file is part of mbo.
5 
6 mbo is free software: you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation, either version 3 of the License, or (at your
9 option) any later version.
10 
11 mbo is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 for more details.
15 
16 You should have received a copy of the GNU General Public License along
17 with mbo. If not, see <http://www.gnu.org/licenses/>.
18 */
29 #ifndef MBO_NUM_SUB_MATRIX_H
30 #define MBO_NUM_SUB_MATRIX_H
31 
32 #include <MboExport.h>
33 #include <MboIndices.h>
34 #include <MboAmplitude.h>
35 #include <MboNumOp.h>
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 struct MboNumSubMatrix_t;
50 typedef struct MboNumSubMatrix_t *MboNumSubMatrix;
51 
67 MBO_EXPORT MBO_STATUS
69  MboGlobInd cmin, MboGlobInd cmax,
70  MboNumSubMatrix *submat);
71 
72 MBO_EXPORT void mboNumSubMatrixDestroy(MboNumSubMatrix *m);
73 MBO_EXPORT void mboNumSubMatrixSetTile(MboNumSubMatrix m, MboGlobInd rmin,
74  MboGlobInd rmax, MboGlobInd cmin,
75  MboGlobInd cmax);
76 MBO_EXPORT MBO_STATUS
77  mboNumSubMatrixMatVec(struct MboAmplitude alpha, MboNumSubMatrix m,
78  struct MboAmplitude *x, struct MboAmplitude beta,
79  struct MboAmplitude *y);
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 
85 #endif
86 
Definition of the complex amplitude type.
Minimal complex numbers.
Definition: MboAmplitude.h:37
MBO_EXPORT MBO_STATUS mboNumSubMatrixCreate(MboNumOp op, MboGlobInd rmin, MboGlobInd rmax, MboGlobInd cmin, MboGlobInd cmax, MboNumSubMatrix *submat)
Create a sub matrix from an existing MboNumOp.
MBO_STATUS
Error codes used by the MBO library.
Definition: MboErrors.h:33
long long MboGlobInd
Global indices.
Definition: MboIndices.h:34
struct MboNumSubMatrix_t * MboNumSubMatrix
Data type for sub matrices.
Definition: MboNumSubMatrix.h:50
Integer types for indices used in mbo library.
Numerical operators.
struct MboNumOp_t * MboNumOp
Data type for numerical operators.
Definition: MboNumOp.h:54