libfbm
0.3
Simulation of multi-dimensional stationary Gaussian processes and fractional Brownian motion.
|
Base class for Field and PLFPSField. More...
#include <libfbm.hpp>
Public Member Functions | |
AbstractField () | |
virtual | ~AbstractField () |
virtual void | generate ()=0 |
Generate the field. | |
virtual void | generate (GaussianGenerator &rng)=0 |
Generate the field using random generator rng. | |
virtual void | clear ()=0 |
Release all memory this object holds. | |
virtual const zvec & | getDim () const =0 |
Get the usable dimensions of this field. | |
double | operator() (const zvec &p) const |
Get field value at the given point. | |
double | operator() (size_t x) const |
double | operator() (size_t x, size_t y) const |
double | operator() (size_t x, size_t y, size_t z) const |
double | operator() (size_t x, size_t y, size_t z, size_t u) const |
double | operator() (size_t x, size_t y, size_t z, size_t u, size_t v) const |
double & | at (const zvec &p) |
Return a reference to the internal array element at point p. | |
const double & | at (const zvec &p) const |
const size_t * | getStrides () const |
Get the strides array. |
Protected Attributes | |
std::vector< double > | Z |
double * | datap |
size_t | muls [LIBFBM_MAX_DIM] |
Base class for Field and PLFPSField.
Definition at line 722 of file libfbm.hpp.
|
inline |
Definition at line 725 of file libfbm.hpp.
|
virtual |
|
inline |
Return a reference to the internal array element at point p.
Reimplemented in libfbm::Field.
Definition at line 761 of file libfbm.hpp.
|
inline |
Reimplemented in libfbm::Field.
Definition at line 769 of file libfbm.hpp.
|
pure virtual |
Release all memory this object holds.
Implemented in libfbm::PLFPSField, and libfbm::Field.
|
pure virtual |
Generate the field.
Implemented in libfbm::PLFPSField, and libfbm::Field.
|
pure virtual |
Generate the field using random generator rng.
The random generator should produce normally distributed numbers.
Implemented in libfbm::PLFPSField, and libfbm::Field.
|
pure virtual |
Get the usable dimensions of this field.
Implemented in libfbm::PLFPSField, and libfbm::Field.
|
inline |
Get the strides array.
Internally, the data is kept in a huge single array of doubles. You can get addresses into this array using the at() member functions. If you want to quickly move to the next or previous element in a given dimension d, you can add or substract the strides[d] value to the address.
Reimplemented in libfbm::Field.
Definition at line 782 of file libfbm.hpp.
|
inline |
Get field value at the given point.
Note that you are responsible for correct point indices. No checking is done internally and invalid values can lead to crashes.
Reimplemented in libfbm::Field.
Definition at line 742 of file libfbm.hpp.
|
inline |
Reimplemented in libfbm::Field.
Definition at line 749 of file libfbm.hpp.
|
inline |
Reimplemented in libfbm::Field.
Definition at line 751 of file libfbm.hpp.
|
inline |
Reimplemented in libfbm::Field.
Definition at line 753 of file libfbm.hpp.
|
inline |
Reimplemented in libfbm::Field.
Definition at line 755 of file libfbm.hpp.
|
inline |
Reimplemented in libfbm::Field.
Definition at line 757 of file libfbm.hpp.
|
protected |
Definition at line 786 of file libfbm.hpp.
|
protected |
Definition at line 787 of file libfbm.hpp.
|
protected |
Definition at line 785 of file libfbm.hpp.