podarray_proto.hpp
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