00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _GAN_LINALG_DEFS_H
00030 #define _GAN_LINALG_DEFS_H
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00051
00052
00233
00234
00236 typedef enum
00237 {
00239 GAN_NOTRANSPOSE=0,
00240
00242 GAN_TRANSPOSE=1
00243 }
00244 Gan_TposeFlag;
00245
00247 typedef enum
00248 {
00250 GAN_NOINVERT=0,
00251
00253 GAN_INVERT=1
00254 } Gan_InvertFlag;
00255
00257 typedef enum
00258 {
00260 GAN_MATRIXPART_LOWER,
00261
00263 GAN_MATRIXPART_UPPER,
00264
00266 GAN_MATRIXPART_WHOLE
00267 } Gan_LapackUpLoFlag;
00268
00270 typedef enum
00271 {
00273 GAN_MATSTORAGE_FULL,
00274
00276 GAN_MATSTORAGE_LOWERTRIANGULAR,
00277
00279 GAN_MATSTORAGE_UPPERTRIANGULAR,
00280
00282 GAN_MATSTORAGE_UPPERHESSENBERG,
00283
00285 GAN_MATSTORAGE_SYMMBANDLOWER,
00286
00288 GAN_MATSTORAGE_SYMMBANDUPPER,
00289
00291 GAN_MATSTORAGE_BAND
00292 } Gan_LapackMatStorage;
00293
00295 typedef enum
00296 {
00298 GAN_NOUNIT=0,
00299
00301 GAN_UNIT=1
00302 } Gan_LapackUnitFlag;
00303
00305 typedef enum Gan_LapackLamchFlag
00306 {
00308 GAN_LAMCH_EPS,
00309
00311 GAN_LAMCH_SFMIN,
00312
00314 GAN_LAMCH_BASE,
00315
00317 GAN_LAMCH_PREC,
00318
00320 GAN_LAMCH_T,
00321
00323 GAN_LAMCH_RND,
00324
00326 GAN_LAMCH_EMIN,
00327
00329 GAN_LAMCH_RMIN,
00330
00332 GAN_LAMCH_EMAX,
00333
00335 GAN_LAMCH_RMAX
00336 } Gan_LapackLamchFlag;
00337
00339 typedef enum Gan_LapackNormType
00340 {
00342 GAN_NORMTYPE_MAXABSVAL,
00343
00345 GAN_NORMTYPE_ONE,
00346
00348 GAN_NORMTYPE_INFINITY,
00349
00351 GAN_NORMTYPE_FROBENIUS
00352 } Gan_LapackNormType;
00353
00355 typedef enum Gan_LapackPlaneRotationType
00356 {
00357 GAN_PLANEROTATION_LEFT,
00358 GAN_PLANEROTATION_RIGHT
00359 } Gan_LapackPlaneRotationType;
00360
00362 typedef enum Gan_LapackPlaneRotationDirection
00363 {
00364 GAN_PLANEROTATIONDIRECTION_FORWARDS,
00365 GAN_PLANEROTATIONDIRECTION_BACKWARDS
00366 } Gan_LapackPlaneRotationDirection;
00367
00369 typedef enum Gan_LapackPivotType
00370 {
00371 GAN_PIVOTTYPE_VARIABLE,
00372 GAN_PIVOTTYPE_TOP,
00373 GAN_PIVOTTYPE_BOTTOM
00374 } Gan_LapackPivotType;
00375
00377 typedef enum Gan_LapackSortOrder
00378 {
00379 GAN_SORTORDER_INCREASING,
00380 GAN_SORTORDER_DECREASING
00381 } Gan_LapackSortOrder;
00382
00384 typedef enum Gan_LapackEvecType
00385 {
00387 GAN_EVECTYPE_EVALSONLY,
00388
00390 GAN_EVECTYPE_EVECSORIGINAL,
00391
00393 GAN_EVECTYPE_EVECSTRIDIAGONAL
00394 } Gan_LapackEvecType;
00395
00397 typedef enum
00398 {
00400 GAN_LEFTMULT=0,
00401
00403 GAN_RIGHTMULT=1
00404 } Gan_LapackSideFlag;
00405
00407 typedef enum
00408 {
00410 GAN_SYMMETRIC_MATRIX,
00411
00413 GAN_DIAGONAL_MATRIX,
00414
00416 GAN_SCALED_IDENT_MATRIX,
00417
00419 GAN_LOWER_TRI_MATRIX,
00420
00422 GAN_UPPER_TRI_MATRIX,
00423
00425 GAN_ZERO_SQUARE_MATRIX
00426 } Gan_SquMatrixType;
00427
00440 #ifdef __cplusplus
00441 }
00442 #endif
00443
00444 #endif
00445