dynamic evaluate(EvaluationType type, ContextModel context)

Evaluates this expression according to given type and context.

Source

evaluate(EvaluationType type, ContextModel context) {
  var argEval = arg.evaluate(type, context);

  if (type == EvaluationType.REAL) {
    return argEval.abs();
  }

  if (type == EvaluationType.VECTOR) {
    //TODO apply function to all vector elements
  }

  throw new UnimplementedError('Can not evaluate abs on ${type} yet.');
}