55 template <
typename OrdinalType,
typename ValueType>
64 Stokhos::OrthogPolyApprox<OrdinalType,ValueType> x,
y,
u,
u2,
cx,
cu,
cu2,
sx,
su,
su2;
73 const OrdinalType d = 2;
74 const OrdinalType p = 7;
78 for (OrdinalType i=0; i<d; i++)
112 for (OrdinalType i=0; i<d; i++) {
117 for (OrdinalType i=0; i<d; i++)
121 template <
class Func>
131 OrdinalType nqp = weights.
size();
134 for (OrdinalType i=0; i<c.
size(); i++)
139 for (OrdinalType k=0; k<nqp; k++) {
140 ValueType
val =
a.evaluate(points[k], values[k]);
142 for (
int i=0; i<c.
size(); i++)
147 template <
class Func>
158 OrdinalType nqp = weights.
size();
161 for (OrdinalType i=0; i<c.
size(); i++)
166 for (OrdinalType k=0; k<nqp; k++) {
167 ValueType val1 =
a.evaluate(points[k], values[k]);
168 ValueType val2 = b.
evaluate(points[k], values[k]);
169 ValueType
val = func(val1, val2);
170 for (
int i=0; i<c.
size(); i++)
175 template <
class Func>
187 OrdinalType nqp = weights.
size();
190 for (OrdinalType i=0; i<c.
size(); i++)
195 for (OrdinalType k=0; k<nqp; k++) {
196 ValueType val2 = b.
evaluate(points[k], values[k]);
197 ValueType
val = func(
a, val2);
198 for (
int i=0; i<c.
size(); i++)
203 template <
class Func>
215 OrdinalType nqp = weights.
size();
218 for (OrdinalType i=0; i<c.
size(); i++)
223 for (OrdinalType k=0; k<nqp; k++) {
224 ValueType val1 =
a.evaluate(points[k], values[k]);
225 ValueType
val = func(val1, b);
226 for (
int i=0; i<c.
size(); i++)
292 return 0.5*
std::log((1.0+a)/(1.0-a));
297 double operator() (
double a,
double b)
const {
return a + b; }
300 double operator() (
double a,
double b)
const {
return a - b; }
303 double operator() (
double a,
double b)
const {
return a * b; }
306 double operator() (
double a,
double b)
const {
return a / b; }
699 setup.exp->plus(ru, v, w);
815 setup.exp->minus(ru, v, w);
931 setup.exp->times(ru, v, w);
1063 setup.exp->divide(ru, v, w);
1248 setup.exp->plusEqual(ru, v);
1301 setup.exp->minusEqual(ru, v);
1302 setup.exp->unaryMinus(v, v);