1 #ifndef NPSTAT_QUANTILETABLE1D_HH_
2 #define NPSTAT_QUANTILETABLE1D_HH_
38 template <
typename Real>
40 const Real* data,
const unsigned long dataLen)
42 qtable_(data, data+dataLen)
44 if (!(data && dataLen))
45 throw std::invalid_argument(
46 "In npstat::QuantileTable1D constructor: no data");
48 throw std::invalid_argument(
49 "In npstat::QuantileTable1D constructor: invalid table");
50 for (
unsigned long i=0; i<dataLen; ++i)
51 if (qtable_[i] < 0.0 || qtable_[i] > 1.0)
52 throw std::invalid_argument(
53 "In npstat::QuantileTable1D constructor: "
54 "out of range table value");
66 virtual gs::ClassId
classId()
const {
return gs::ClassId(*
this);}
67 virtual bool write(std::ostream& os)
const;
69 static inline const char* classname() {
return "npstat::QuantileTable1D";}
70 static inline unsigned version() {
return 1;}
80 const std::vector<double>& params);
81 inline static int nParameters() {
return -1;}
83 double unscaledDensity(
double x)
const;
84 double unscaledCdf(
double x)
const;
85 double unscaledQuantile(
double x)
const;
87 inline double unscaledExceedance(
const double x)
const
88 {
return 1.0 - unscaledCdf(x);}
90 std::vector<double> qtable_;
Factories for 1-d distributions for use in interpretive language environments.
Definition: AbsDistribution1D.hh:165
double scale() const
Definition: AbsDistribution1D.hh:183
double location() const
Definition: AbsDistribution1D.hh:180
Definition: QuantileTable1D.hh:22
QuantileTable1D(const double location, const double scale, const Real *data, const unsigned long dataLen)
Definition: QuantileTable1D.hh:39
std::vector< double > quantileTable() const
virtual bool isEqual(const AbsDistribution1D &r) const
virtual gs::ClassId classId() const
Definition: QuantileTable1D.hh:66
virtual QuantileTable1D * clone() const
Definition: QuantileTable1D.hh:57
Definition: Distribution1DFactory.hh:35
A few simple template functions for checking monotonicity of container values.
Definition: AbsArrayProjector.hh:14
bool isNonDecreasing(Iter begin, Iter const end)
Definition: isMonotonous.hh:54
Definition: AbsDistribution1D.hh:31