File indexing completed on 2026-06-02 08:48:23
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef SCALINGFUNCTION_H_
0009 #define SCALINGFUNCTION_H_
0010
0011 #include <string>
0012 #include <utility>
0013 #include <vector>
0014
0015 #include "../beans/ScalingModeType.h"
0016
0017 namespace NumA {
0018
0019 class ScalingFunction {
0020
0021 public:
0022
0023 ScalingFunction();
0024 ScalingFunction(const std::string& name);
0025 virtual ~ScalingFunction();
0026 virtual ScalingFunction* clone() const;
0027
0028 virtual double evaluate(ScalingModeType::Type mode, double input,
0029 const std::pair<double, double>& parameters) const;
0030 virtual double evaluateFirstDerivative(ScalingModeType::Type mode,
0031 double input, const std::pair<double, double>& parameters) const;
0032 virtual std::pair<double, double> evaluateParameters(
0033 const std::vector<double>& input) const;
0034
0035 protected:
0036
0037 ScalingFunction(const ScalingFunction& other);
0038 };
0039
0040 }
0041
0042 #endif