Go to the documentation of this file.
37 typedef typename std::vector<A>::iterator iterator;
39 typedef typename std::vector<A>::reference reference;
44 Grid( size_t ni, size_t nj, size_t nk, const A& val = A());
50 void Resize( size_t ni, size_t nj, size_t nk, const A& val = A());
69 size_t GetNI() const { return(ni_); }
70 size_t GetNJ() const { return(nj_); }
71 size_t GetNK() const { return(nk_); }
72 size_t GetN() const { return data_.size(); }
74 inline size_t GetIndex( size_t i, size_t j, size_t k) const;
75 void GetIJK( size_t index, size_t &i, size_t &j, size_t &k) const;
117 data_.resize(ni_ * nj_ * nk_, val);
125 max = -std::numeric_limits<A>::infinity();
126 min = +std::numeric_limits<A>::infinity();
128 for( unsigned int i = 0; i < ni_; i++) {
129 for( unsigned int j = 0; j < nj_; j++) {
130 for( unsigned int k = 0; k < nk_; k++) {
131 value = data_[GetIndex(i, j, k)];
151 max = -std::numeric_limits<A>::infinity();
152 min = +std::numeric_limits<A>::infinity();
155 for( unsigned int i = 0; i < ni_; i++) {
156 for( unsigned int j = 0; j < nj_; j++) {
157 for( unsigned int k = 0; k < nk_; k++) {
158 value = data_[GetIndex(i, j, k)];
159 if( value != missing) {
171 avg = sum/ static_cast<A >(n);
177 for( size_t i = 0; i < ni_; i++) {
178 for( size_t j = 0; j < nj_; j++) {
179 for( size_t k = 0; k < nk_; k++) {
180 A value = data_[GetIndex(i, j, k)];
182 data_[GetIndex(i, j, k)] = 0.0;
184 data_[GetIndex(i, j, k)] = log( value);
193 return data_[GetIndex(i, j, k)];
199 assert( index < GetN());
207 return data_[GetIndex(i, j, k)];
213 return data_[GetIndex(i, j, k)];
219 assert( index < GetN());
227 return data_[GetIndex(i, j, k)];
233 assert(i < GetNI() && j < GetNJ() && k < GetNK());
235 return i + j*ni_ + k*ni_*nj_;
241 assert( index < GetN());
244 j = ( index-i)/ni_ % nj_;
245 k = ( index - j*ni_ - i)/ni_/nj_;
251 data_[GetIndex(i, j, k)] = value;
257 std::swap(ni_, other.ni_);
258 std::swap(nj_, other.nj_);
259 std::swap(nk_, other.nk_);
260 data_.swap(other.data_);
int index Definition: cJSON.h:168
std::vector< A >::const_reference const_reference Definition: grid.hpp:40
const_reference GetValue(size_t i, size_t j, size_t k) const Definition: grid.hpp:225
const_iterator begin() const Definition: grid.hpp:66
virtual ~Grid() Definition: grid.hpp:106
void Swap(Grid< A > &other) Definition: grid.hpp:255
size_t GetNK() const Definition: grid.hpp:71
void GetIJK(size_t index, size_t &i, size_t &j, size_t &k) const Definition: grid.hpp:239
reference operator()(size_t index) Definition: grid.hpp:197
size_t GetNJ() const Definition: grid.hpp:70
std::vector< A >::reference reference Definition: grid.hpp:39
const_reference operator()(size_t index) const Definition: grid.hpp:217
size_t GetIndex(size_t i, size_t j, size_t k) const Definition: grid.hpp:231
const_iterator end() const Definition: grid.hpp:67
const_reference operator()(size_t i, size_t j, size_t k) const Definition: grid.hpp:211
void GetAvgMinMax(A &avg, A &min, A &max) Definition: grid.hpp:121
std::vector< A >::iterator iterator Definition: grid.hpp:37
std::vector< A >::const_iterator const_iterator Definition: grid.hpp:38
Grid() Definition: grid.hpp:90
reference GetValue(size_t i, size_t j, size_t k) Definition: grid.hpp:205
void SetValue(size_t i, size_t j, size_t k, const A &value) Definition: grid.hpp:249
void Resize(size_t ni, size_t nj, size_t nk, const A &val=A()) Definition: grid.hpp:110
Grid(size_t ni, size_t nj, size_t nk, const A &val=A()) Definition: grid.hpp:98
iterator end() Definition: grid.hpp:64
void LogTransform(A missing) Definition: grid.hpp:175
void GetAvgMinMaxWithMissing(A &avg, A &min, A &max, A missing) Definition: grid.hpp:147
reference operator()(size_t i, size_t j, size_t k) Definition: grid.hpp:191
size_t GetNI() const Definition: grid.hpp:69
iterator begin() Definition: grid.hpp:63
size_t GetN() const Definition: grid.hpp:72
Definition: exception.hpp:31
T min(const T v0, const T v1) Definition: exprtk.hpp:1400
T max(const T v0, const T v1) Definition: exprtk.hpp:1407
T value(details::expression_node< T > *n) Definition: exprtk.hpp:12955
|