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.cos(argEval);
}
if (type == EvaluationType.VECTOR) {
//TODO apply function to all vector elements
}
if (type == EvaluationType.INTERVAL) {
// TODO evaluate endpoints and critical points (n * pi)
// or just return [-1, 1] if half a period is in the given interval
}
throw new UnimplementedError('Can not evaluate cos on ${type} yet.');
}