Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
A linear combination function. More...
#include <bayeux/mygsl/linear_combination_function.h>
Public Member Functions | |
linear_combination_function () | |
Default constructor. More... | |
linear_combination_function (double w1_, const const_unary_function_handle_type &f1_, double w2_, const const_unary_function_handle_type &f2_) | |
Constructor. More... | |
virtual | ~linear_combination_function () |
Destructor. More... | |
virtual bool | is_initialized () const |
Check initialization status. More... | |
virtual void | initialize (const datatools::properties &config_, const unary_function_dict_type &functors_) |
Initialization from a container of parameters and a dictionary of functors. More... | |
void | reset () |
Reset the composite function. More... | |
std::size_t | add (double weight_, const i_unary_function &) |
Add a weighted term. More... | |
std::size_t | add (double weight_, const const_unary_function_handle_type &) |
Add a weighted term. More... | |
void | change_weight (int term_index_, double weight_) |
Change weight. More... | |
virtual bool | has_explicit_domain_of_definition () const |
Check if the function has an explicit domain of definition (default: false) More... | |
virtual bool | is_in_domain_of_definition (double x_) const |
Check if a value is in the explicit domain of definition (default: true) More... | |
virtual double | get_non_zero_domain_min () const |
The minimum bound of the non-zero domain (default is minus infinity) More... | |
virtual double | get_non_zero_domain_max () const |
The maximum bound of the non-zero domain (default is plus infinity) More... | |
virtual void | tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const |
Smart printing. More... | |
Public Member Functions inherited from mygsl::i_unary_function | |
i_unary_function (double epsilon_=0.0) | |
Constructor. More... | |
virtual | ~i_unary_function () |
Destructor. More... | |
virtual double | eval (double x_) const |
The function evaluation method. More... | |
double | evaluate (double x_) const |
The function evaluation method. More... | |
virtual double | eval_no_check (double x_) const |
The function evaluation method with any value check. More... | |
bool | has_non_zero_domain_min () const |
Check the minimum bound of the non-zero domain. More... | |
bool | has_non_zero_domain_max () const |
Check the maximum bound of the non-zero domain. More... | |
bool | is_in_non_zero_domain (double x_) const |
Check if a value is in the non-zero domain. More... | |
bool | is_in_zero_domain (double x_) const |
Check if a value is in the zero domain. More... | |
bool | has_zero_domain () const |
Check if the functor has an explicit zero domain. More... | |
double | operator() (double x_) const |
Standard C++ functor interface. More... | |
void | write_ascii (std::ostream &fout_, double min_, double max_, unsigned int nsamples_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const |
Write the (x,y=f(x)) value pairs in an ASCII stream : More... | |
void | write_ascii_with_units (std::ostream &fout_, double min_, double max_, unsigned int nsamples_, double x_unit_, double fx_unit_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const |
Write the (x,y=f(x)) value pairs in an ASCII stream : More... | |
void | write_ascii_file (const std::string &filename_, double min_, double max_, unsigned int nsamples_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const |
Write the (x,y=f(x)) value pairs in an ASCII file (typical Gnuplot input) : More... | |
void | write_ascii_file_with_units (const std::string &filename_, double min_, double max_, unsigned int nsamples_, const std::string &x_unit_label_, const std::string &fx_unit_label_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const |
Write the (x,y=f(x)) value pairs in an ASCII file (typical Gnuplot input) : More... | |
void | set_epsilon (double) |
Set the precision. More... | |
double | get_epsilon () const |
Return the precision. More... | |
void | initialize_simple () |
Simple initialization. More... | |
void | initialize_standalone (const datatools::properties &config_) |
Initialization from a container of parameters. More... | |
Public Member Functions inherited from datatools::i_tree_dumpable | |
i_tree_dumpable () | |
Constructor. More... | |
virtual | ~i_tree_dumpable () |
Destructor. More... | |
virtual void | print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const |
Main new interface method for printing. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const |
Printing with jsonized options. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const |
Printing with jsonized options. More... | |
void | tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const |
void | tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const |
void | smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const |
Protected Member Functions | |
double | _eval (double x_) const |
Evaluation. More... | |
void | _set_defaults () |
Set default attributes values. More... | |
Protected Member Functions inherited from mygsl::i_unary_function | |
void | _base_initialize (const datatools::properties &config_, const unary_function_dict_type &functors_) |
void | _base_reset () |
void | _compute_auto_epsilon () |
void | _set_defaults () |
Set defaults attributes. More... | |
Additional Inherited Members | |
Public Types inherited from mygsl::i_unary_function | |
enum | write_options_type { wo_none = 0, wo_data_index = 0x1, wo_skip_nan = 0x2, wo_skip_inf = 0x4, wo_skip_onzd = 0x8, wo_skip_odod = 0x10, wo_append = 0x20, wo_default = wo_none } |
Options for writing sampled function in an ASCII stream. More... | |
Public Types inherited from datatools::i_tree_dumpable | |
enum | ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 } |
Enumeration for standard output streams. More... | |
Static Public Member Functions inherited from mygsl::i_unary_function | |
static double | g_function (double x_, void *functor_) |
A generic static function to feed the GSL gsl_function interface: More... | |
Static Public Member Functions inherited from datatools::i_tree_dumpable | |
static const boost::property_tree::ptree & | empty_options () |
static boost::property_tree::ptree | make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false) |
static std::ostream & | last_skip_tag (std::ostream &out_) |
static std::ostream & | skip_tag (std::ostream &out_) |
static std::ostream & | last_tag (std::ostream &out_) |
static std::ostream & | tag (std::ostream &out_) |
Static Public Attributes inherited from mygsl::i_unary_function | |
static const double | DEFAULT_EPSILON |
Default error. More... | |
static const double | AUTO_EPSILON |
Value for automatic computation of the error. More... | |
A linear combination function.
h(x) = a * f(x) + b * g(x) + ... + c * j(x)
where f(x), g(x)... j(x) are functors and a, b... c are weighting factors.
mygsl::linear_combination_function::linear_combination_function | ( | ) |
Default constructor.
mygsl::linear_combination_function::linear_combination_function | ( | double | w1_, |
const const_unary_function_handle_type & | f1_, | ||
double | w2_, | ||
const const_unary_function_handle_type & | f2_ | ||
) |
Constructor.
|
virtual |
Destructor.
|
protectedvirtual |
Evaluation.
Implements mygsl::i_unary_function.
|
protected |
Set default attributes values.
std::size_t mygsl::linear_combination_function::add | ( | double | weight_, |
const i_unary_function & | |||
) |
Add a weighted term.
std::size_t mygsl::linear_combination_function::add | ( | double | weight_, |
const const_unary_function_handle_type & | |||
) |
Add a weighted term.
void mygsl::linear_combination_function::change_weight | ( | int | term_index_, |
double | weight_ | ||
) |
Change weight.
|
virtual |
The maximum bound of the non-zero domain (default is plus infinity)
Reimplemented from mygsl::i_unary_function.
|
virtual |
The minimum bound of the non-zero domain (default is minus infinity)
Reimplemented from mygsl::i_unary_function.
|
virtual |
Check if the function has an explicit domain of definition (default: false)
Reimplemented from mygsl::i_unary_function.
|
virtual |
Initialization from a container of parameters and a dictionary of functors.
Reimplemented from mygsl::i_unary_function.
|
virtual |
Check if a value is in the explicit domain of definition (default: true)
Reimplemented from mygsl::i_unary_function.
|
virtual |
Check initialization status.
Reimplemented from mygsl::i_unary_function.
|
virtual |
Reset the composite function.
Reimplemented from mygsl::i_unary_function.
|
virtual |
Smart printing.
Reimplemented from mygsl::i_unary_function.