Public Member Functions | |
| SparsitySuperset (const Set< MultipleDeriv > &C, const Set< MultipleDeriv > &V) | |
| void | print (std::ostream &os) const |
| void | print (std::ostream &os, const Array< RCP< EvalVector > > &vecResults, const Array< double > &constantResults) const |
| std::string | toString () const |
| DerivSet | derivSet () const |
Access to information about individual derivatives | |
| bool | containsDeriv (const MultipleDeriv &d) const |
| int | getIndex (const MultipleDeriv &d) const |
| const MultipleDeriv & | deriv (int i) const |
| const DerivState & | state (int i) const |
| int | numDerivs () const |
| int | numConstantDerivs () const |
| int | numVectorDerivs () const |
| int | maxOrder () const |
| bool | isConstant (int i) const |
| bool | isSpatialDeriv (int i) const |
| const MultiIndex & | multiIndex (int i) const |
Private Member Functions | |
| void | addDeriv (const MultipleDeriv &d, const DerivState &state) |
| void | addDeriv (const Deriv &d, const DerivState &state) |
Private Attributes | |
| int | maxOrder_ |
| Sundance::Map< MultipleDeriv, int > | derivToIndexMap_ |
| Array< MultipleDeriv > | derivs_ |
| Array< DerivState > | states_ |
| Array< MultiIndex > | multiIndex_ |
| int | numConstantDerivs_ |
| int | numVectorDerivs_ |
Definition at line 79 of file SundanceSparsitySuperset.hpp.
| SparsitySuperset::SparsitySuperset | ( | const Set< MultipleDeriv > & | C, |
| const Set< MultipleDeriv > & | V | ||
| ) |
Create a sparsity set
Definition at line 60 of file SundanceSparsitySuperset.cpp.
References addDeriv(), Sundance::Set< Key, Compare >::begin(), Sundance::ConstantDeriv, Sundance::Set< Key, Compare >::end(), and Sundance::VectorDeriv.
| void SparsitySuperset::addDeriv | ( | const MultipleDeriv & | d, |
| const DerivState & | state | ||
| ) | [private] |
Add a derivative to the set. Called by the subset's addDeriv() method.
Definition at line 83 of file SundanceSparsitySuperset.cpp.
References Sundance::ConstantDeriv, containsDeriv(), derivs_, derivToIndexMap_, getIndex(), Playa::max(), maxOrder_, multiIndex_, numConstantDerivs_, numVectorDerivs_, Sundance::MultipleDeriv::order(), Sundance::Map< Key, Value, Compare >::put(), state(), and states_.
Referenced by addDeriv(), and SparsitySuperset().
| void SparsitySuperset::addDeriv | ( | const Deriv & | d, |
| const DerivState & | state | ||
| ) | [private] |
Add a derivative to the set. Called by the subset's addDeriv() method.
Definition at line 123 of file SundanceSparsitySuperset.cpp.
References addDeriv(), and Sundance::MultiSet< Key >::put().
| bool SparsitySuperset::containsDeriv | ( | const MultipleDeriv & | d | ) | const |
Detect whether a given derivative exists in this set
Definition at line 133 of file SundanceSparsitySuperset.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), and derivToIndexMap_.
Referenced by addDeriv(), and getIndex().
| const MultipleDeriv& Sundance::SparsitySuperset::deriv | ( | int | i | ) | const [inline] |
Return the results stored at index i
Definition at line 98 of file SundanceSparsitySuperset.hpp.
References derivs_.
Referenced by derivSet(), Sundance::EvalVectorArray::print(), Sundance::UserDefOpCommonEvaluator::UserDefOpCommonEvaluator(), and Sundance::UserDefOpEvaluator::UserDefOpEvaluator().
| DerivSet SparsitySuperset::derivSet | ( | ) | const |
Definition at line 240 of file SundanceSparsitySuperset.cpp.
References deriv(), numDerivs(), Sundance::Set< Key, Compare >::put(), state(), and Sundance::ZeroDeriv.
| int SparsitySuperset::getIndex | ( | const MultipleDeriv & | d | ) | const |
Find the index at which the results for the given functional derivative are stored in the results array
Definition at line 138 of file SundanceSparsitySuperset.cpp.
References containsDeriv(), derivToIndexMap_, and Sundance::Map< Key, Value, Compare >::get().
Referenced by addDeriv().
| bool Sundance::SparsitySuperset::isConstant | ( | int | i | ) | const [inline] |
Indicate whether the specified derivative is spatially constant at this node
Definition at line 122 of file SundanceSparsitySuperset.hpp.
References Sundance::ConstantDeriv, and states_.
| bool Sundance::SparsitySuperset::isSpatialDeriv | ( | int | i | ) | const [inline] |
Indicate whether the specified multiple derivative contains at least one order of spatial differentiation
Definition at line 126 of file SundanceSparsitySuperset.hpp.
References multiIndex_.
| int Sundance::SparsitySuperset::maxOrder | ( | ) | const [inline] |
Definition at line 117 of file SundanceSparsitySuperset.hpp.
References maxOrder_.
| const MultiIndex& Sundance::SparsitySuperset::multiIndex | ( | int | i | ) | const [inline] |
Return the spatial multi index for the i-th derivative
Definition at line 132 of file SundanceSparsitySuperset.hpp.
References multiIndex_.
| int Sundance::SparsitySuperset::numConstantDerivs | ( | ) | const [inline] |
Definition at line 109 of file SundanceSparsitySuperset.hpp.
References numConstantDerivs_.
| int Sundance::SparsitySuperset::numDerivs | ( | ) | const [inline] |
Definition at line 106 of file SundanceSparsitySuperset.hpp.
References derivs_.
Referenced by derivSet(), Sundance::EvalVectorArray::print(), Sundance::UserDefOpCommonEvaluator::UserDefOpCommonEvaluator(), and Sundance::UserDefOpEvaluator::UserDefOpEvaluator().
| int Sundance::SparsitySuperset::numVectorDerivs | ( | ) | const [inline] |
Definition at line 112 of file SundanceSparsitySuperset.hpp.
References numVectorDerivs_.
| void SparsitySuperset::print | ( | std::ostream & | os | ) | const |
Definition at line 197 of file SundanceSparsitySuperset.cpp.
References Sundance::ConstantDeriv, derivs_, states_, Sundance::VectorDeriv, and Sundance::ZeroDeriv.
Referenced by toString().
| void SparsitySuperset::print | ( | std::ostream & | os, |
| const Array< RCP< EvalVector > > & | vecResults, | ||
| const Array< double > & | constantResults | ||
| ) | const |
Definition at line 146 of file SundanceSparsitySuperset.cpp.
References Sundance::ConstantDeriv, derivs_, states_, Sundance::VectorDeriv, and Sundance::ZeroDeriv.
| const DerivState& Sundance::SparsitySuperset::state | ( | int | i | ) | const [inline] |
Return the constancy state of deriv i
Definition at line 102 of file SundanceSparsitySuperset.hpp.
References states_.
Referenced by addDeriv(), derivSet(), Sundance::UserDefOpCommonEvaluator::UserDefOpCommonEvaluator(), and Sundance::UserDefOpEvaluator::UserDefOpEvaluator().
| string SparsitySuperset::toString | ( | ) | const |
Definition at line 233 of file SundanceSparsitySuperset.cpp.
References print().
Array<MultipleDeriv> Sundance::SparsitySuperset::derivs_ [private] |
The list of functional derivatives whose values are stored in this results set
Definition at line 170 of file SundanceSparsitySuperset.hpp.
Referenced by addDeriv(), deriv(), numDerivs(), and print().
Sundance::Map<MultipleDeriv, int> Sundance::SparsitySuperset::derivToIndexMap_ [private] |
Map from deriv to position of the derivative's value in the results array
Definition at line 166 of file SundanceSparsitySuperset.hpp.
Referenced by addDeriv(), containsDeriv(), and getIndex().
int Sundance::SparsitySuperset::maxOrder_ [private] |
Definition at line 162 of file SundanceSparsitySuperset.hpp.
Referenced by addDeriv(), and maxOrder().
Array<MultiIndex> Sundance::SparsitySuperset::multiIndex_ [private] |
Multiindices
Definition at line 176 of file SundanceSparsitySuperset.hpp.
Referenced by addDeriv(), isSpatialDeriv(), and multiIndex().
int Sundance::SparsitySuperset::numConstantDerivs_ [private] |
Definition at line 179 of file SundanceSparsitySuperset.hpp.
Referenced by addDeriv(), and numConstantDerivs().
int Sundance::SparsitySuperset::numVectorDerivs_ [private] |
Definition at line 182 of file SundanceSparsitySuperset.hpp.
Referenced by addDeriv(), and numVectorDerivs().
Array<DerivState> Sundance::SparsitySuperset::states_ [private] |
The state of each derivative at this node in the expression
Definition at line 173 of file SundanceSparsitySuperset.hpp.
Referenced by addDeriv(), isConstant(), print(), and state().