26 Triangle(
const Real a = 0.,
const Real b = 0.5,
const Real c = 1.)
27 :
a_(std::min(a,std::min(b,c))),
28 b_(std::max(std::min(a,b),std::min(std::max(a,b),c))),
29 c_(std::max(a,std::max(b,c))) {}
32 Real a = parlist.sublist(
"SOL").sublist(
"Distribution").sublist(
"Triangle").get(
"Lower Bound",0.);
33 Real b = parlist.sublist(
"SOL").sublist(
"Distribution").sublist(
"Triangle").get(
"Peak Location",0.5);
34 Real c = parlist.sublist(
"SOL").sublist(
"Distribution").sublist(
"Triangle").get(
"Upper Bound",1.);
35 a_ = std::min(a,std::min(b,c));
36 b_ = std::max(std::min(a,b),std::min(std::max(a,b),c));
37 c_ = std::max(a,std::max(b,c));
90 void test(std::ostream &outStream = std::cout )
const {
92 std::vector<Real> X(size,0.);
93 std::vector<int> T(size,0);
94 X[0] =
a_-4.*(Real)rand()/(Real)RAND_MAX;
98 X[2] = (
b_-
a_)*(Real)rand()/(Real)RAND_MAX +
a_;
102 X[4] = (
c_-
b_)*(Real)rand()/(Real)RAND_MAX +
b_;
106 X[6] =
c_+4.*(Real)rand()/(Real)RAND_MAX;