RTable

class RTable : public virtual feasst::Table

Subclassed by feasst::RecursiveTable1D, feasst::RecursiveTable2D, feasst::RecursiveTable3D, feasst::RecursiveTable5D, feasst::RecursiveTable6D

class RecursiveTable1D : public feasst::Table1D, public feasst::RTable

One-dimensional nested table.

The bounds within a nested table are repeated, so it is inefficient if nested tables are small.

Public Functions

RecursiveTable1D(argtype args = argtype())

args:

void insert(const int bin, const RTable &nested)

Insert a nested table.

void insert(const std::vector<int> &bins, const RTable &nested)

Insert a nested table.

double percent_nested() const

Return the percentage of table that is nested.

double linear_interpolation(const double value0) const

Return linear interpolation of data given normalized values.

double linear_interpolation(const std::vector<double> &values) const

Return the linear interpolation from a list of values.

double forward_difference_interpolation(const double value0) const

Return the Newton-Gregory forward difference interpolation. See Allen and Tildesley, 5.2.2, Booth 1972

RecursiveTable1D combine(const std::vector<const RecursiveTable1D*> &tables) const

Combine independently-generated tables into one (from parallel build).

bool is_equal(const RecursiveTable1D &table) const

Return true if equal to the given table.

class RecursiveTable2D : public feasst::Table2D, public feasst::RTable

Two-dimensional nested table.

Public Functions

RecursiveTable2D(argtype args = argtype())

args:

void insert(const std::vector<int> &bins, const RTable &nested)

Insert a nested table.

double linear_interpolation(const double value0, const double value1) const

Return linear interpolation of data given normalized values for each dimension that range from 0 to 1, inclusive.

double linear_interpolation(const std::vector<double> &values) const

Return the linear interpolation from a list of values.

RecursiveTable2D combine(const std::vector<const RecursiveTable2D*> &tables) const

Combine independently-generated tables into one (from parallel build).

int num_data() const

Return the total number of data points.

double percent_nested() const

Return the percentage of table that is nested.

bool is_equal(const RecursiveTable2D &table) const

Return true if equal to the given table.

class RecursiveTable3D : public feasst::Table3D, public feasst::RTable

Three-dimensional nested table.

Public Functions

RecursiveTable3D(argtype args = argtype())

args:

void insert(const std::vector<int> &bins, const RTable &nested)

Insert a nested table.

double percent_nested() const

Return the percentage of table that is nested.

double linear_interpolation(const double value0, const double value1, const double value2) const

Return linear interpolation of data given normalized values for each dimension that range from 0 to 1, inclusive.

double linear_interpolation(const std::vector<double> &values) const

Return the linear interpolation from a list of values.

RecursiveTable3D combine(const std::vector<const RecursiveTable3D*> &tables) const

Combine independently-generated tables into one (from parallel build).

bool is_equal(const RecursiveTable3D &table) const

Return true if equal to the given table.

class RecursiveTable5D : public feasst::Table5D, public feasst::RTable

Five-dimensional nested table.

Public Functions

RecursiveTable5D(argtype args = argtype())

args:

void insert(const std::vector<int> &bins, const RTable &nested)

Insert a nested table.

double percent_nested() const

Return the percentage of table that is nested.

double linear_interpolation(const double value0, const double value1, const double value2, const double value3, const double value4) const

Return linear interpolation of data given normalized values for each dimension that range from 0 to 1, inclusive.

double linear_interpolation(const std::vector<double> &values) const

Return the linear interpolation from a list of values.

RecursiveTable5D combine(const std::vector<const RecursiveTable5D*> &tables) const

Combine independently-generated tables into one (from parallel build).

const RecursiveTable5D &nested(const std::vector<int> &bins)

Read-only access to nested tables.

bool is_equal(const RecursiveTable5D &table) const

Return true if equal to the given table.

class RecursiveTable6D : public feasst::Table6D, public feasst::RTable

Six-dimensional nested table.

Public Functions

RecursiveTable6D(argtype args = argtype())

args:

void insert(const std::vector<int> &bins, const RTable &nested)

Insert a nested table.

double percent_nested() const

Return the percentage of table that is nested.

double linear_interpolation(const double value0, const double value1, const double value2, const double value3, const double value4, const double value5) const

Return linear interpolation of data given normalized values for each dimension that range from 0 to 1, inclusive.

double linear_interpolation(const std::vector<double> &values) const

Return the linear interpolation from a list of values.

RecursiveTable6D combine(const std::vector<const RecursiveTable6D*> &tables) const

Combine independently-generated tables into one (from parallel build).

bool is_equal(const RecursiveTable6D &table) const

Return true if equal to the given table.