#include <tabulation.h>
A class for storing a one-dimensional lookup table of floating-point values.
Definition at line 35 of file tabulation.h.
Public Member Functions | |
| Tabulation () | |
| Construct an empty tabulation object.  More... | |
| Tabulation (double x_min, double range, size_t num, std::function< double(double)> f) | |
| Construct a new tabulation object.  More... | |
| bool | is_empty () const | 
| double | get_value_step (double x) const | 
| Look up a value from the tabulation (without any interpolation, simply using the closest tabulated value).  More... | |
| double | get_value_linear (double x, Extrapolation extrapolation=Extrapolation::Linear) const | 
| Look up a value from the tabulation using linear interpolation.  More... | |
| void | write (std::ofstream &stream, sha256::Hash hash) const | 
| Write a binary representation of the tabulation to a stream.  More... | |
Static Public Member Functions | |
| static Tabulation | from_file (std::ifstream &stream, sha256::Hash hash) | 
| Construct a tabulation object by reading binary data from a stream.  More... | |
Protected Attributes | |
| std::vector< double > | values_ | 
| vector for storing tabulated values  More... | |
| double | x_min_ | 
| lower bound for tabulation  More... | |
| double | x_max_ | 
| upper bound for tabulation  More... | |
| double | inv_dx_ | 
| inverse step size 1/dx  More... | |
      
  | 
  inline | 
| smash::Tabulation::Tabulation | ( | double | x_min, | 
| double | range, | ||
| size_t | num, | ||
| std::function< double(double)> | f | ||
| ) | 
Construct a new tabulation object.
| x_min | lower bound of tabulation domain | 
| range | range (x_max-x_min) of tabulation domain | 
| num | number of intervals (the number of tabulated points is actually num+1) | 
| f | one-dimensional function f(x) which is supposed to be tabulated | 
| if | less than two values are tabulated. | 
Definition at line 12 of file tabulation.cc.
      
  | 
  inline | 
      
  | 
  static | 
Construct a tabulation object by reading binary data from a stream.
| stream | Stream containing the binary representation of the tabulation. | 
| hash | Hash corresponding to the particle properties for which the tabulation was created. | 
Definition at line 167 of file tabulation.cc.
| double smash::Tabulation::get_value_step | ( | double | x | ) | const | 
Look up a value from the tabulation (without any interpolation, simply using the closest tabulated value).
If
| x | Argument to tabulated function. | 
Definition at line 25 of file tabulation.cc.
| double smash::Tabulation::get_value_linear | ( | double | x, | 
| Extrapolation | extrapolation = Extrapolation::Linear  | 
        ||
| ) | const | 
Look up a value from the tabulation using linear interpolation.
If
| x | Argument to tabulated function. | 
| extrapolation | Extrapolation that should be used for values outside the tabulation. | 
Definition at line 38 of file tabulation.cc.
| void smash::Tabulation::write | ( | std::ofstream & | stream, | 
| sha256::Hash | hash | ||
| ) | const | 
Write a binary representation of the tabulation to a stream.
| stream | Stream to which the binary representation is written. | 
| hash | Hash corresponding to the particle properties for which the tabulation was created. | 
Definition at line 159 of file tabulation.cc.
      
  | 
  protected | 
vector for storing tabulated values
Definition at line 110 of file tabulation.h.
      
  | 
  protected | 
lower bound for tabulation
Definition at line 113 of file tabulation.h.
      
  | 
  protected | 
upper bound for tabulation
Definition at line 116 of file tabulation.h.
      
  | 
  protected | 
inverse step size 1/dx
Definition at line 119 of file tabulation.h.