mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-20 01:08:15 +01:00
35 lines
772 B
C++
35 lines
772 B
C++
#ifndef PROBABILITE_CALCULATION_H
|
|
#define PROBABILITE_CALCULATION_H
|
|
|
|
#include "../law/law.h"
|
|
|
|
namespace Probability {
|
|
|
|
class Calculation {
|
|
public:
|
|
enum class Type : uint8_t{
|
|
LeftIntegral,
|
|
FiniteIntegral,
|
|
RightIntegral,
|
|
Discrete,
|
|
};
|
|
Calculation();
|
|
virtual ~Calculation() = default;
|
|
virtual Type type() = 0;
|
|
void setLaw(Law * law);
|
|
virtual int numberOfParameters() = 0;
|
|
virtual int numberOfEditableParameters();
|
|
virtual I18n::Message legendForParameterAtIndex(int index) = 0;
|
|
virtual void setParameterAtIndex(double f, int index) = 0;
|
|
virtual double parameterAtIndex(int index) = 0;
|
|
virtual double lowerBound();
|
|
virtual double upperBound();
|
|
protected:
|
|
virtual void compute(int indexKnownElement) = 0;
|
|
Law * m_law;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|