Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 template<typename eT>
00025 class podarray
00026 {
00027 public:
00028
00029 arma_aligned const u32 n_elem;
00030 arma_aligned const eT* const mem;
00031
00032
00033 protected:
00034
00035 arma_aligned eT mem_local[ 16 ];
00036
00037
00038 public:
00039
00040 inline ~podarray();
00041 inline podarray();
00042
00043 inline podarray (const podarray& x);
00044 inline const podarray& operator=(const podarray& x);
00045
00046 arma_inline explicit podarray(const u32 new_N);
00047
00048 arma_inline explicit podarray(const eT* X, const u32 new_N);
00049
00050 arma_inline eT& operator[] (const u32 i);
00051 arma_inline eT operator[] (const u32 i) const;
00052
00053 arma_inline eT& operator() (const u32 i);
00054 arma_inline eT operator() (const u32 i) const;
00055
00056 inline void set_size(const u32 new_n_elem);
00057
00058 inline void fill(const eT val);
00059
00060 inline void zeros();
00061 inline void zeros(const u32 new_n_elem);
00062
00063 arma_inline eT* memptr();
00064 arma_inline const eT* memptr() const;
00065
00066
00067 protected:
00068
00069 inline void init(const u32 new_n_elem);
00070
00071 };
00072
00073
00074
00075