55 template <
typename OrdinalType,
typename ValueType>
66 Stokhos::OrthogPolyApprox<OrdinalType,ValueType> x,
y,
u,
u2,
cx,
cu,
cu2,
sx,
su,
su2;
75 const OrdinalType d = 1;
76 const OrdinalType p = 7;
80 for (OrdinalType i=0; i<d; i++)
113 for (OrdinalType i=0; i<d; i++) {
118 for (OrdinalType i=0; i<d; i++)
122 template <
class Func>
132 OrdinalType nqp = weights.
size();
135 for (OrdinalType i=0; i<c.
size(); i++)
140 for (OrdinalType k=0; k<nqp; k++) {
141 ValueType
val =
a.evaluate(points[k], values[k]);
143 for (
int i=0; i<c.
size(); i++)
148 template <
class Func>
159 OrdinalType nqp = weights.
size();
162 for (OrdinalType i=0; i<c.
size(); i++)
167 for (OrdinalType k=0; k<nqp; k++) {
168 ValueType val1 =
a.evaluate(points[k], values[k]);
169 ValueType val2 = b.
evaluate(points[k], values[k]);
170 ValueType
val = func(val1, val2);
171 for (
int i=0; i<c.
size(); i++)
176 template <
class Func>
188 OrdinalType nqp = weights.
size();
191 for (OrdinalType i=0; i<c.
size(); i++)
196 for (OrdinalType k=0; k<nqp; k++) {
197 ValueType val2 = b.
evaluate(points[k], values[k]);
198 ValueType
val = func(
a, val2);
199 for (
int i=0; i<c.
size(); i++)
204 template <
class Func>
216 OrdinalType nqp = weights.
size();
219 for (OrdinalType i=0; i<c.
size(); i++)
224 for (OrdinalType k=0; k<nqp; k++) {
225 ValueType val1 =
a.evaluate(points[k], values[k]);
226 ValueType
val = func(val1, b);
227 for (
int i=0; i<c.
size(); i++)
293 return 0.5*
std::log((1.0+a)/(1.0-a));
298 double operator() (
double a,
double b)
const {
return a + b; }
301 double operator() (
double a,
double b)
const {
return a - b; }
304 double operator() (
double a,
double b)
const {
return a * b; }
307 double operator() (
double a,
double b)
const {
return a / b; }
700 setup.exp->plus(ru, v, w);
816 setup.exp->minus(ru, v, w);
932 setup.exp->times(ru, v, w);
1048 setup.exp->divide(ru, v, w);
1233 setup.exp->plusEqual(ru, v);
1286 setup.exp->minusEqual(ru, v);
1287 setup.exp->unaryMinus(v, v);