00001 #ifndef BALL_LINALG_MATRIXTRAITS_H 00002 #define BALL_LINALG_MATRIXTRAITS_H 00003 00004 namespace BALL { 00005 00006 enum MatrixTraitTypes 00007 { 00008 STANDARD_TRAITS = 1, 00009 UPPER_TRIANGULAR_TRAITS, 00010 LOWER_TRIANGULAR_TRAITS, 00011 SYMMETRIC_TRAITS 00012 }; 00013 00014 class StandardTraits 00015 { 00016 public: 00017 const static int traits_id = STANDARD_TRAITS; 00018 }; 00019 00020 class UpperTriangularTraits 00021 { 00022 public: 00023 const static int traits_id = UPPER_TRIANGULAR_TRAITS; 00024 }; 00025 00026 class LowerTriangularTraits 00027 { 00028 public: 00029 const static int traits_id = LOWER_TRIANGULAR_TRAITS; 00030 }; 00031 00032 class SymmetricTraits 00033 { 00034 public: 00035 const static int traits_id = SYMMETRIC_TRAITS; 00036 }; 00037 } 00038 00039 #endif // BALL_KERNEL_MATRIXTRAITS_H