00001 // Copyright (C) 2009 NICTA 00002 // 00003 // Authors: 00004 // - Conrad Sanderson (conradsand at ieee dot org) 00005 // 00006 // This file is part of the Armadillo C++ library. 00007 // It is provided without any warranty of fitness 00008 // for any purpose. You can redistribute this file 00009 // and/or modify it under the terms of the GNU 00010 // Lesser General Public License (LGPL) as published 00011 // by the Free Software Foundation, either version 3 00012 // of the License or (at your option) any later version. 00013 // (see http://www.opensource.org/licenses for more info) 00014 00015 00016 //! \addtogroup itpp_wrap 00017 //! @{ 00018 00019 00020 #ifdef ARMA_USE_ITPP 00021 00022 #include <itpp/base/mat.h> 00023 #include <itpp/base/vec.h> 00024 00025 #else 00026 00027 namespace itpp 00028 { 00029 00030 template<typename eT> 00031 class Mat 00032 { 00033 public: 00034 00035 int rows() const { return 0; } 00036 int cols() const { return 0; } 00037 int size() const { return 0; } 00038 const eT* _data() const { return 0; } 00039 eT* _data() { return 0; } 00040 00041 00042 private: 00043 00044 Mat(); 00045 Mat(const Mat& m); 00046 const Mat& operator=(const Mat& m); 00047 ~Mat(); 00048 }; 00049 00050 00051 template<typename eT> 00052 class Vec 00053 { 00054 public: 00055 00056 int size() const { return 0; } 00057 int length() const { return 0; } 00058 const eT* _data() const { return 0; } 00059 eT* _data() { return 0; } 00060 00061 00062 private: 00063 00064 Vec(); 00065 Vec(const Vec& m); 00066 const Vec& operator=(const Vec& m); 00067 ~Vec(); 00068 }; 00069 00070 typedef Mat<short int> smat; 00071 typedef Vec<short int> svec; 00072 00073 typedef Mat<int> imat; 00074 typedef Vec<int> ivec; 00075 00076 typedef Mat<double> mat; 00077 typedef Vec<double> vec; 00078 00079 typedef Mat< std::complex<double> > cmat; 00080 typedef Vec< std::complex<double> > cvec; 00081 } 00082 00083 #endif 00084 00085 00086 //! @}