evaluate method
For real numbers this method performs a double divison and returns double.infinity if a divide by zero is encountered.
Implementation
@override
dynamic evaluate(EvaluationType type, ContextModel context) {
final dynamic firstEval = first.evaluate(type, context);
final dynamic secondEval = second.evaluate(type, context);
if (type == EvaluationType.VECTOR) {
if (secondEval is double) {
// scale - nothing special to do
} else {
// divide
final dynamic eval = firstEval.clone()..divide(secondEval);
return eval;
}
}
return firstEval / secondEval;
}