44 #ifndef ROL_PLUSFUNCTION_HPP 45 #define ROL_PLUSFUNCTION_HPP 57 Teuchos::RCP<Distribution<Real> >
dist_;
62 param_ = ((param <= 0) ? 1.e-2 : param);
66 Real param = parlist.get(
"Smoothing Parameter",1.);
67 param_ = ((param <= 0) ? 1. : param);
68 dist_ = DistributionFactory<Real>(parlist);
74 case 0: val = param_*dist_->integrateCDF(input/param_);
break;
75 case 1: val = dist_->evaluateCDF(input/param_);
break;
76 case 2: val = dist_->evaluatePDF(input/param_)/
param_;
break;
89 std::cout << std::right << std::setw(20) <<
"CHECK PLUS FUNCTION: p'(x) with x = " 90 << x <<
" is correct?\n";
91 std::cout << std::right << std::setw(20) <<
"t" 92 << std::setw(20) <<
"p'(x)" 93 << std::setw(20) <<
"(p(x+t)-p(x))/t" 94 << std::setw(20) <<
"Error" 96 for (
int i = 0; i < 13; i++) {
99 err = std::abs(diff-dv);
100 std::cout << std::scientific << std::setprecision(11) << std::right
101 << std::setw(20) << t
102 << std::setw(20) << dv
103 << std::setw(20) << diff
104 << std::setw(20) << err
116 std::cout << std::right << std::setw(20) <<
"CHECK PLUS FUNCTION: p''(x) with x = " 117 << x <<
" is correct?\n";
118 std::cout << std::right << std::setw(20) <<
"t" 119 << std::setw(20) <<
"p''(x)" 120 << std::setw(20) <<
"(p'(x+t)-p'(x))/t" 121 << std::setw(20) <<
"Error" 123 for (
int i = 0; i < 13; i++) {
126 err = std::abs(diff-dv);
127 std::cout << std::scientific << std::setprecision(11) << std::right
128 << std::setw(20) << t
129 << std::setw(20) << dv
130 << std::setw(20) << diff
131 << std::setw(20) << err
Contains definitions of custom data types in ROL.
Teuchos::RCP< Distribution< Real > > dist_
PlusFunction(Teuchos::ParameterList &parlist)
PlusFunction(Teuchos::RCP< Distribution< Real > > &dist, Real param=1.)
Real evaluate(Real input, int deriv)