本文整理汇总了C++中EvalContext::setupVerbosity方法的典型用法代码示例。如果您正苦于以下问题:C++ EvalContext::setupVerbosity方法的具体用法?C++ EvalContext::setupVerbosity怎么用?C++ EvalContext::setupVerbosity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EvalContext
的用法示例。
在下文中一共展示了EvalContext::setupVerbosity方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tabs
Set<MultipleDeriv> DiffOp::internalFindW(int order, const EvalContext& context) const
{
Tabs tabs(0);
int verb = context.setupVerbosity();
SUNDANCE_MSG2(verb, tabs << "DiffOp::internalFindW(order="
<< order << ") for " << toString());
Set<MultipleDeriv> rtn ;
if (order <= 2)
{
Tabs tab1;
const Set<MultipleDeriv>& W1 = evaluatableArg()->findW(1, context);
const Set<MultipleDeriv>& WArg = evaluatableArg()->findW(order, context);
const Set<MultipleDeriv>& WArgPlus = evaluatableArg()->findW(order+1, context);
SUNDANCE_MSG5(verb, tab1 << "W1 = " << W1);
SUNDANCE_MSG5(verb, tab1 << "WArg = " << WArg);
SUNDANCE_MSG5(verb, tab1 << "WArgPlus = " << WArgPlus);
Set<MultipleDeriv> Tx = applyTx(WArg, mi_);
Set<MultipleDeriv> ZXx = applyZx(W1, mi_).setUnion(Xx(mi_));
SUNDANCE_MSG5(verb, tab1 << "Tx(Warg) = " << Tx);
SUNDANCE_MSG5(verb, tab1 << "ZXx(W1) = " << ZXx);
Set<MultipleDeriv> WargPlusOslashZXx = setDivision(WArgPlus, ZXx);
SUNDANCE_MSG5(verb, tab1 << "WArgPlus / ZXx = "
<< WargPlusOslashZXx);
rtn = WargPlusOslashZXx.setUnion(Tx);
}
SUNDANCE_MSG3(verb, tabs << "W[" << order << "]=" << rtn);
SUNDANCE_MSG3(verb, tabs << "done with DiffOp::internalFindW(" << order << ") for "
<< toString());
return rtn;
}
示例2: tabs
Set<MultipleDeriv> ExplicitFunctionalDerivativeElement
::internalFindC(int order, const EvalContext& context) const
{
Tabs tabs(0);
int verb = context.setupVerbosity();
SUNDANCE_MSG2(verb, tabs << "ExplicitFunctionalDerivativeElement::internalFindC() for "
<< toString());
Set<MultipleDeriv> rtn ;
if (order < 3)
{
Tabs tab1;
SUNDANCE_MSG5(verb, tab1 << "finding R");
const Set<MultipleDeriv>& R = findR(order, context);
SUNDANCE_MSG5(verb, tab1 << "R=" << R);
SUNDANCE_MSG5(verb, tab1 << "finding C for arg");
const Set<MultipleDeriv>& argC
= evaluatableArg()->findC(order+1, context);
SUNDANCE_MSG5(verb, tab1 << "argC=" << argC);
MultipleDeriv me(fd_);
Set<MultipleDeriv> tmp = setDivision(argC, makeSet(me));
rtn = tmp.intersection(R);
}
SUNDANCE_MSG2(verb, tabs << "C[" << order << "]=" << rtn);
SUNDANCE_MSG2(verb, tabs << "done with ExplicitFunctionalDerivativeElement::internalFindC for "
<< toString());
return rtn;
}
示例3: me
Set<MultipleDeriv> ExplicitFunctionalDerivativeElement
::internalFindW(int order, const EvalContext& context) const
{
Tabs tab0(0);
int verb = context.setupVerbosity();
SUNDANCE_MSG2(verb, tab0
<< "ExplicitFunctionalDerivativeElement::internalFindW(order="
<< order << ") for " << toString());
Set<MultipleDeriv> rtn ;
if (order < 3)
{
Tabs tab1;
const Set<MultipleDeriv>& WArgPlus
= evaluatableArg()->findW(order+1, context);
SUNDANCE_MSG5(verb, tab1 << "WArgPlus = " << WArgPlus);
MultipleDeriv me(fd_);
Set<MultipleDeriv> WargPlusOslashFD = setDivision(WArgPlus, makeSet(me));
SUNDANCE_MSG5(verb, tab1 << "WArgPlus / fd = "
<< WargPlusOslashFD);
rtn = WargPlusOslashFD;
}
SUNDANCE_MSG2(verb, tab0 << "W[" << order << "]=" << rtn);
SUNDANCE_MSG2(verb, tab0 << "done with ExplicitFunctionalDerivativeElement::internalFindW(" << order << ") for "
<< toString());
return rtn;
}
示例4: requestMultiIndexAtEvalPoint
void DiffOp::requestMultiIndexAtEvalPoint(const MultiIndex& mi,
const MultipleDeriv& u,
const EvalContext& context) const
{
int verb = context.setupVerbosity();
Tabs tab0(0);
SUNDANCE_MSG3(verb, tab0 << "DiffOp::requestMultiIndexAtEvalPoint() for=" << toString());
TEUCHOS_TEST_FOR_EXCEPT(u.size() != 1);
const Deriv& d = *(u.begin());
if (d.isFunctionalDeriv())
{
const SpatialDerivSpecifier& sds = d.opOnFunc();
TEUCHOS_TEST_FOR_EXCEPTION(sds.isDivergence(), std::logic_error,
"divergence operators not possible within DiffOp");
TEUCHOS_TEST_FOR_EXCEPTION(sds.isNormal(), std::logic_error,
"normal deriv operators not possible within DiffOp");
const MultiIndex& newMi = sds.mi();
const SymbolicFuncElement* sfe = d.symbFuncElem();
TEUCHOS_TEST_FOR_EXCEPT(sfe == 0);
const EvaluatableExpr* evalPt = sfe->evalPt();
const ZeroExpr* z = dynamic_cast<const ZeroExpr*>(evalPt);
if (z != 0) return;
const DiscreteFuncElement* df
= dynamic_cast<const DiscreteFuncElement*>(evalPt);
df->addMultiIndex(newMi);
df->findW(1, context);
df->findV(1, context);
df->findC(1, context);
}
}
示例5: leftEvaluatable
Set<MultiSet<int> > ProductExpr::internalFindQ_V(int order, const EvalContext& context) const
{
Tabs tab0(0);
int verb = context.setupVerbosity();
SUNDANCE_MSG2(verb, tab0 << "ProdExpr::internalFindQ_V(" << order << ")");
Set<MultiSet<int> > rtn;
if (order > 1) return rtn;
const Set<MultipleDeriv>& vLeft
= leftEvaluatable()->findV(0, context);
const Set<MultipleDeriv>& vRight
= rightEvaluatable()->findV(0, context);
if (order==0)
{
if (vLeft.size() > 0)
{
rtn.put(makeMultiSet<int>(0));
}
if (vRight.size() > 0)
{
rtn.put(makeMultiSet<int>(1));
}
}
if (order==1)
{
if (vLeft.size() > 0) rtn.put(makeMultiSet<int>(1));
if (vRight.size() > 0) rtn.put(makeMultiSet<int>(0));
}
SUNDANCE_MSG2(verb, tab0 << "Q_V[" << order << "]=" << rtn);
return rtn;
}
示例6: findR
Set<MultipleDeriv>
ConstantExpr::internalFindC(int order, const EvalContext& context) const
{
Tabs tab;
SUNDANCE_MSG2(context.setupVerbosity(),
tab << "ConstantExpr::internalFindC is forwarding to findR()");
return findR(order, context);
}
示例7:
Set<MultipleDeriv>
ConstantExpr::internalFindV(int order, const EvalContext& context) const
{
Set<MultipleDeriv> rtn;
Tabs tab;
SUNDANCE_MSG2(context.setupVerbosity(),
tab << "ConstantExpr::internalFindV is a no-op");
return rtn;
}
示例8:
Set<MultipleDeriv>
UnknownParameterElement::internalFindV(int order, const EvalContext& context) const
{
Tabs tab;
SUNDANCE_MSG2(context.setupVerbosity(),
tab << "UPE::internalFindV is a no-op");
Set<MultipleDeriv> rtn;
return rtn;
}
示例9:
Set<MultipleDeriv>
ZeroExpr::internalFindC(int order, const EvalContext& context) const
{
Set<MultipleDeriv> rtn;
Tabs tab;
SUNDANCE_MSG2(context.setupVerbosity(),
tab << "ZeroExpr::internalFindC found" << rtn << " for order="
<< order);
return rtn;
}
示例10: toString
RCP<SparsitySuperset>
EvaluatableExpr::sparsitySuperset(const EvalContext& context) const
{
Tabs tab;
SUNDANCE_MSG2(context.setupVerbosity(),
tab << "getting sparsity superset for " << toString());
RCP<SparsitySuperset> rtn;
if (sparsity_.containsKey(context))
{
Tabs tab1;
SUNDANCE_MSG2(context.setupVerbosity(),
tab1 << "reusing previously computed data...");
rtn = sparsity_.get(context);
}
else
{
Tabs tab1;
SUNDANCE_MSG2(context.setupVerbosity(),
tab1 << "computing from scratch...");
const Set<MultipleDeriv>& R = findR(context);
const Set<MultipleDeriv>& C = findC(context);
const Set<MultipleDeriv>& V = findV(context);
if (context.setupVerbosity() > 4)
{
Out::os() << tab1 << "R=" << R << endl;
Out::os() << tab1 << "C=" << C << endl;
Out::os() << tab1 << "V=" << V << endl;
}
rtn = rcp(new SparsitySuperset(C.intersection(R), V.intersection(R)));
sparsity_.put(context, rtn);
}
return rtn;
}
示例11: findW
Set<MultiSet<int> > ProductExpr::internalFindQ_W(int order, const EvalContext& context) const
{
Tabs tab0(0);
int verb = context.setupVerbosity();
SUNDANCE_MSG2(verb, tab0 << "ProdExpr::internalFindQ_W(" << order << ")");
Set<MultiSet<int> > rtn;
if (order > 2) return rtn;
if (order==2)
{
rtn.put(makeMultiSet<int>(0,1));
return rtn;
}
Tabs tab1;
SUNDANCE_MSG3(verb, tab1 << "calling findW(0) for left");
const Set<MultipleDeriv>& wLeft
= leftEvaluatable()->findW(0, context);
SUNDANCE_MSG3(verb, tab1 << "found wLeft(0)=" << wLeft);
SUNDANCE_MSG3(verb, tab1 << "calling findW(0) for right");
const Set<MultipleDeriv>& wRight
= rightEvaluatable()->findW(0, context);
SUNDANCE_MSG3(verb, tab1 << "found wRight(0)=" << wRight);
if (order==0)
{
if (wLeft.size() > 0)
{
rtn.put(makeMultiSet<int>(0));
}
if (wRight.size() > 0)
{
rtn.put(makeMultiSet<int>(1));
}
}
if (order==1)
{
if (wLeft.size() > 0) rtn.put(makeMultiSet<int>(1));
if (wRight.size() > 0) rtn.put(makeMultiSet<int>(0));
}
SUNDANCE_MSG2(verb, tab0 << "Q_W[" << order << "]=" << rtn);
return rtn;
}
示例12: if
Set<MultipleDeriv>
UnknownParameterElement::internalFindW(int order, const EvalContext& context) const
{
Tabs tab;
SUNDANCE_MSG2(context.setupVerbosity(),
tab << "in UPE::internalFindW, order=" << order);
Set<MultipleDeriv> rtn;
if (order==0)
{
if (!evalPtIsZero()) rtn.put(MultipleDeriv());
}
else if (order==1)
{
MultipleDeriv md = makeMultiDeriv(funcDeriv(this));
rtn.put(md);
}
return rtn;
}
示例13: tabs
Array<Set<MultipleDeriv> > EvaluatableExpr
::computeInputR(const EvalContext& context,
const Array<Set<MultiSet<int> > >& funcIDCombinations,
const Array<Set<MultiIndex> >& spatialDerivs) const
{
int verb = context.setupVerbosity();
Tabs tabs(0);
SUNDANCE_MSG2(verb, tabs << "in EE::computeInputR()");
Array<Set<MultipleDeriv> > rtn(funcIDCombinations.size());
for (int order=0; order<funcIDCombinations.size(); order++)
{
Tabs tabs1;
SUNDANCE_MSG2(verb, tabs << "order=" << order);
SUNDANCE_MSG2(verb, tabs1 << "funcID combs="
<< funcIDCombinations[order]);
const Set<MultipleDeriv>& W = findW(order, context);
SUNDANCE_MSG2(verb, tabs1 << "W[order=" << order << "]=" << W);
for (Set<MultipleDeriv>::const_iterator i=W.begin(); i!=W.end(); i++)
{
Tabs tab2;
const MultipleDeriv& nonzeroDeriv = *i;
if (nonzeroDeriv.isInRequiredSet(funcIDCombinations[order],
spatialDerivs[order]))
{
SUNDANCE_MSG2(verb, tab2 << "md=" << nonzeroDeriv
<< " added to inputR");
rtn[order].put(nonzeroDeriv);
}
else
{
SUNDANCE_MSG2(verb, tab2 << "md=" << nonzeroDeriv << " not needed");
}
}
}
SUNDANCE_MSG2(verb, tabs << "inputR=" << rtn);
return rtn;
}
示例14: addVectorIndex
CellDiameterExprEvaluator::CellDiameterExprEvaluator(
const CellDiameterExpr* expr,
const EvalContext& context)
: SubtypeEvaluator<CellDiameterExpr>(expr, context),
stringRep_(expr->toString())
{
Tabs tabs;
int verb = context.setupVerbosity();
SUNDANCE_MSG1(verb, tabs << "initializing cell diameter expr evaluator for "
<< expr->toString());
SUNDANCE_MSG2(verb, tabs << "return sparsity " << std::endl << *(this->sparsity)());
TEUCHOS_TEST_FOR_EXCEPTION(this->sparsity()->numDerivs() > 1, std::logic_error,
"CellDiameterExprEvaluator ctor found a sparsity table "
"with more than one entry. The bad sparsity table is "
<< *(this->sparsity)());
/*
* There is only one possible entry in the nozeros table for a
* cell diameter expression: a zeroth derivative.
*/
for (int i=0; i<this->sparsity()->numDerivs(); i++)
{
const MultipleDeriv& d = this->sparsity()->deriv(i);
TEUCHOS_TEST_FOR_EXCEPTION(d.order()!=0, std::logic_error,
"CellDiameterExprEvaluator ctor found an entry in the "
"sparsity superset that is not a zeroth-order derivative. "
"The bad entry is " << this->sparsity()->deriv(i)
<< ". The superset is "
<< *(this->sparsity)());
addVectorIndex(i, 0);
}
}
示例15: rcp
RCP<Array<Set<MultipleDeriv> > > EvaluatableExpr
::internalDetermineR(const EvalContext& context,
const Array<Set<MultipleDeriv> >& RInput) const
{
Tabs tab0(0);
int verb = context.setupVerbosity();
RCP<Array<Set<MultipleDeriv> > > rtn
= rcp(new Array<Set<MultipleDeriv> >(RInput.size()));
SUNDANCE_MSG2(verb, tab0 << "EE::internalDetermineR() for " << toString() );
SUNDANCE_MSG2(verb, tab0 << "RInput = " << RInput );
for (int i=0; i<RInput.size(); i++)
{
Tabs tab1;
if (RInput[i].size()==0) continue;
const Set<MultipleDeriv>& Wi = findW(i, context);
SUNDANCE_MSG3(verb, tab1 << "W[" << i << "] = " << Wi );
(*rtn)[i] = RInput[i].intersection(Wi);
}
printR(verb, rtn);
return rtn;
}