@@ -151,24 +151,18 @@ typedef enum {
151151} af_cspace_t ;
152152
153153typedef enum {
154- AF_SOLVE_NONE = 0 , // /< Default
155- AF_SOLVE_POSDEF = 1 , // /< A is positive definite
156- AF_SOLVE_NONPOSDEF = 2 , // /< A is not positive definite
157- AF_SOLVE_GAUSSIAN = 3 , // /< Use Gaussian elimination (fast, cannot be combined with other options)
158- AF_SOLVE_PSEUDO = 4 , // /< Use pseudo inverse (fast, cannot be combined with other options)
159- AF_SOLVE_CTRANS = 256 , // /< Solve A.H() (conjugate transpose)
160- AF_SOLVE_TRANS = 512 , // /< Solve A.T() (non-conjugate transpose)
161- AF_SOLVE_UPPERTRI = 1024 , // /< Solve uppertri(A) (upper triangular system)
162- AF_SOLVE_LOWERTRI = 2048 , // /< Solve lowertri(A) (lower triangular system)
163- AF_SOLVE_TRIDIAG = 4096 ,
164- AF_SOLVE_BLKDIAG = 8192
165- } af_solve_t ;
166-
167- typedef enum {
168- AF_NO_TRANS,
169- AF_TRANS,
170- AF_CONJ_TRANS
171- } af_transpose_t ;
154+ AF_MAT_NONE = 0 , // /< Default
155+ AF_MAT_TRANS = 1 , // /< Data needs to be transposed
156+ AF_MAT_CTRANS = 2 , // /< Data needs to be conjugate tansposed
157+ AF_MAT_UPPER = 32 , // /< Matrix is upper triangular
158+ AF_MAT_LOWER = 64 , // /< Matrix is lower triangular
159+ AF_MAT_DIAG_UNIT = 128 , // /< Matrix diagonal contains unitary values
160+ AF_MAT_SYM = 512 , // /< Matrix is symmetric
161+ AF_MAT_POSDEF = 1024 , // /< Matrix is positive definite
162+ AF_MAT_ORTHOG = 2048 , // /< Matrix is orthogonal
163+ AF_MAT_TRI_DIAG = 4096 , // /< Matrix is tri diagonal
164+ AF_MAT_BLOCK_DIAG = 8192 // /< Matrix is block diagonal
165+ } af_mat_prop;
172166
173167// Below enum is purely added for example purposes
174168// it doesn't and shoudn't be used anywhere in the
@@ -191,8 +185,9 @@ namespace af
191185 typedef af_match_type matchType;
192186 typedef af_cspace_t CSpace;
193187 typedef af_someenum_t SomeEnum; // Purpose of Addition: How to add Function example
194- typedef af_transpose_t trans;
188+ typedef af_mat_prop trans;
195189 typedef af_conv_mode convMode;
190+ typedef af_mat_prop matProp;
196191
197192 const double NaN = std::numeric_limits<double >::quiet_NaN();
198193 const double Inf = std::numeric_limits<double >::infinity();
0 commit comments