15 #ifndef BORNAGAIN_CORE_RESIDUAL_VARIANCEFUNCTIONS_H
16 #define BORNAGAIN_CORE_RESIDUAL_VARIANCEFUNCTIONS_H
31 virtual double variance(
double real_value,
double simulated_value)
const = 0;
41 double variance(
double,
double)
const override;
51 double variance(
double exp,
double sim)
const override;
Variance function interface.
IVarianceFunction(const IVarianceFunction &)=delete
IVarianceFunction()=default
virtual IVarianceFunction * clone() const =0
IVarianceFunction & operator=(const IVarianceFunction &)=delete
virtual ~IVarianceFunction()=default
virtual double variance(double real_value, double simulated_value) const =0
Returns 1.0 as variance value.
double variance(double, double) const override
VarianceConstantFunction * clone() const override
Returns max(sim, epsilon)
double variance(double exp, double sim) const override
VarianceSimFunction * clone() const override
VarianceSimFunction(double epsilon=1.0)