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 Math.log(argEval);
}
if (type == EvaluationType.INTERVAL) {
// Expect argument of type interval
return new Interval(Math.log(argEval.min), Math.log(argEval.max));
}
throw new UnimplementedError('Can not evaluate ln on ${type} yet.');
}