1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#include "nevaluate.hh"
#include "NEvaluator.hh"
using namespace cadabra;
nevaluate::nevaluate(const Kernel& k, Ex& tr, const std::vector<std::pair<Ex, NTensor>>& values_)
: Algorithm(k, tr), values(values_)
{
}
bool nevaluate::can_apply(iterator it)
{
return true;
}
Algorithm::result_t nevaluate::apply(iterator& it)
{
result_t res = result_t::l_no_action;
NEvaluator evaluator(*it);
for(const auto& var: values) {
evaluator.set_variable(var.first, var.second);
}
return res;
}
|