00001
00012 #ifndef _BASSO_DEFS_H_
00013 #define _BASSO_DEFS_H_
00014
00015 #include <iostream>
00016 #include <cmath>
00017 #include "gmm.h"
00018
00019 namespace basso {
00020
00021 using namespace gmm;
00022 using namespace std;
00023
00026 #define dot_product gmm::vect_sp
00027
00030 #define cross_product gmm::vect_vp
00031
00033 #define Numeric double
00034
00036 #define Array std::vector
00037
00039 #define iArray std::vector<int>
00040
00042 #define nArray std::vector<Numeric>
00043
00045 #define Matrix gmm::dense_matrix
00046
00048 #define iMatrix Matrix<int>
00049
00051 #define nMatrix Matrix<Numeric>
00052
00055 #define DynamicCSRMatrix gmm::row_matrix< gmm::wsvector<Numeric> >
00056
00058 #define CSRMatrix gmm:csr_matrix<Numeric>
00059
00061 #define String std::string
00062
00064 #define ErrOutput std::cout
00065
00067 #define StdOutput std::cout
00068
00070
00071
00073
00074
00079
00080
00081
00083
00084
00085
00087 class ErrorMessage {
00088 private:
00089
00090 public:
00091 ErrorMessage( String source, String mesg )
00092 { ErrOutput << "ERROR: in " << source << " " << mesg << "\n"; exit(1); }
00093 };
00094
00096 class WarningMessage {
00097 public:
00098 WarningMessage( String source, String mesg )
00099 { ErrOutput << "WARNING: in " << source << " " << mesg << "\n"; }
00100 };
00101
00102
00103 }
00104
00105 #endif