39 #ifndef __has_c2_factory_hh 
   40 #define __has_c2_factory_hh 1 
  118         bool auto_center, float_type y1)
 
  123         float_type x0, float_type y0, float_type yp0, float_type ypp0,  
 
  124         float_type x2, float_type y2, float_type yp2, float_type ypp2,  
 
  125         bool auto_center, float_type y1)
 
  127                 x0, y0, yp0, ypp0, x2, y2, yp2, ypp2, auto_center, y1); }
 
  151        &
linear(float_type x0, float_type y0, float_type slope) 
 
  155              float_type x0, float_type y0, float_type xcoef, float_type x2coef) 
 
  166 template <
template <
typename f_t> 
class Final > 
 
  170     & inverse_integrated_density_bins(
const std::vector<float_type> &bincenters,
 
  171                 const std::vector<float_type> &binheights)
 
  174         return ::inverse_integrated_density_bins<float_type, Final<float_type> >
 
  175                         (bincenters, binheights);
 
  179 template <
template <
typename f_t> 
class Final > 
 
  181     & inverse_integrated_density_function(
 
  182                 const std::vector<float_type> &bincenters,
 
  186         return ::inverse_integrated_density_function<float_type,
 
  188                         (bincenters, binheights);
 
static c2_classic_function_p< float_type > & classic_function(float_type(*c_func)(float_type))
make a *new object 
 
static lin_log_interpolating_function_p< float_type > & lin_log_interpolating_function()
make a *new object 
 
a container into which any conventional c-style function can be dropped, to create a degenerate c2_fu...
 
compute tan(x) with its derivatives.The factory function c2_factory::tan() creates *new c2_tan_p ...
 
create the formal inverse function of another functionfor example, given a c2_function f ...
 
create a linear mapping of another functionfor example, given a c2_function f 
 
static c2_const_plugin_function_p< float_type > & const_plugin_function()
make a *new object 
 
A spline with X in reciprocal space and Y transformed in log space.Most useful for thermodynamic type...
 
static c2_power_law_p< float_type > & power_law(float_type scale, float_type power)
make a *new object 
 
static arrhenius_interpolating_function_p< float_type > & arrhenius_interpolating_function()
make a *new object 
 
static c2_tan_p< float_type > & tan()
make a *new object 
 
compute cos(x) with its derivatives.The factory function c2_factory::cos() creates *new c2_cos_p ...
 
compute exp(x) with its derivatives.The factory function c2_factory::exp() creates *new c2_exp_p ...
 
static c2_plugin_function_p< float_type > & plugin_function()
make a *new object 
 
Provides the headers for the general c2_function algebra which fast, flexible operations on piecewise...
 
A spline with X and Y transformed into log space.Most useful for functions looking like y=x^n or any ...
 
compute scale/x with its derivatives.The factory function c2_factory::recip() creates *new c2_recip_p...
 
static c2_connector_function_p< float_type > & connector_function(float_type x0, float_type y0, float_type yp0, float_type ypp0, float_type x2, float_type y2, float_type yp2, float_type ypp2, bool auto_center, float_type y1)
make a *new object 
 
create a cubic spline interpolation of a set of (x,y) pairsThis is one of the main reasons for c2_fun...
 
A spline with X transformed into log space. 
 
static c2_connector_function_p< float_type > & connector_function(float_type x0, const c2_function< float_type > &f0, float_type x2, const c2_function< float_type > &f2, bool auto_center, float_type y1)
make a *new object 
 
A container into which any other c2_function can be dropped.It allows a function to be pre-evaluated ...
 
structure used to hold evaluated function data at a point. 
 
compute x with its derivatives.The factory function c2_factory::identity() creates *new c2_identity_p...
 
static c2_plugin_function_p< float_type > & plugin_function(c2_function< float_type > &f)
make a *new object 
 
static c2_const_plugin_function_p< float_type > & const_plugin_function(const c2_function< float_type > &f)
make a *new object 
 
static c2_constant_p< float_type > & constant(float_type x)
make a *new object 
 
static c2_recip_p< float_type > & recip(float_type scale=1)
make a *new object 
 
static c2_identity_p< float_type > & identity()
make a *new object 
 
the exception class for c2_function operations. 
 
static log_lin_interpolating_function_p< float_type > & log_lin_interpolating_function()
make a *new object 
 
create a c2_function which smoothly connects two other c2_functions.This takes two points and generat...
 
static log_log_interpolating_function_p< float_type > & log_log_interpolating_function()
make a *new object 
 
the parent class for all c2_functions.c2_functions know their value, first, and second derivative at ...
 
static c2_log_p< float_type > & log()
make a *new object 
 
static c2_linear_p< float_type > & linear(float_type x0, float_type y0, float_type slope)
make a *new object 
 
A spline with Y transformed into log space.Most useful for functions looking like y=exp(x) ...
 
a factory of pre-templated c2_function generators 
 
static c2_inverse_function_p< float_type > & inverse_function(const c2_function< float_type > &source)
make a *new object 
 
static c2_sqrt_p< float_type > & sqrt()
make a *new object 
 
static c2_connector_function_p< float_type > & connector_function(const c2_fblock< float_type > &fb0, const c2_fblock< float_type > &fb2, bool auto_center, float_type y1)
make a *new object 
 
static c2_cached_function_p< float_type > & cached_function(const c2_function< float_type > &func)
make a *new object 
 
static c2_quadratic_p< float_type > & quadratic(float_type x0, float_type y0, float_type xcoef, float_type x2coef)
make a *new object 
 
compute sqrt(x) with its derivatives.The factory function c2_factory::sqrt() creates *new c2_sqrt_p()...
 
static c2_scaled_function_p< float_type > & scaled_function(const c2_function< float_type > &outer, float_type scale)
make a *new object 
 
static c2_cos_p< float_type > & cos()
make a *new object 
 
create a quadratic mapping of another functionfor example, given a c2_function f 
 
compute sin(x) with its derivatives.The factory function c2_factory::sin() creates *new c2_sin_p ...
 
static interpolating_function_p< float_type > & interpolating_function()
make a *new object 
 
create a c2_function which is a piecewise assembly of other c2_functions.The functions must have incr...
 
create a power law mapping of another functionfor example, given a c2_function f 
 
static c2_sin_p< float_type > & sin()
make a *new object 
 
a c2_function which is constantThe factory function c2_factory::constant() creates *new c2_constant_p...
 
static c2_exp_p< float_type > & exp()
make a *new object 
 
compute log(x) with its derivatives.The factory function c2_factory::log() creates *new c2_log_p ...
 
static c2_piecewise_function_p< float_type > & piecewise_function()
make a *new object