Macaulay2 Engine
Loading...
Searching...
No Matches

◆ evaluate() [2/2]

template<typename RT>
bool SLEvaluatorConcrete< RT >::evaluate ( const MutableMatrix * inputs,
MutableMatrix * outputs )
virtual

Implements SLEvaluator.

Definition at line 227 of file SLP-imp.hpp.

229{
230 auto inp = dynamic_cast<const MutableMat<DMat<RT> >*>(inputs);
231 auto out = dynamic_cast<MutableMat<DMat<RT> >*>(outputs);
232 if (inp == nullptr)
233 {
234 ERROR("inputs: expected a dense mutable matrix");
235 return false;
236 }
237 if (out == nullptr)
238 {
239 ERROR("outputs: expected a dense mutable matrix");
240 return false;
241 }
242 if (&ring() != &inp->getMat().ring())
243 {
244 ERROR("inputs are in a different ring");
245 return false;
246 }
247 if (&ring() != &out->getMat().ring())
248 {
249 ERROR("outputs are in a different ring");
250 return false;
251 }
252 return evaluate(inp->getMat(), out->getMat());
253}
const RT & ring() const
Definition SLP-defs.hpp:319
bool evaluate(const MutableMatrix *inputs, MutableMatrix *outputs)
Definition SLP-imp.hpp:227
const int ERROR
Definition m2-mem.cpp:55

References ERROR, evaluate(), MutableMat< Mat >::getMat(), and ring().

Referenced by evaluate().