Example 1:
> isevaluable(sin(pi * log(x)), 0.5);
true
> print(evaluate(sin(pi * log(x)), 0.5));
-0.82148283122563882875872566228649962370813607461095
Example 2:
> isevaluable(sin(pi * log(x)), 0);
true
> print(evaluate(sin(pi * log(x)), 0));
[-1;1]
Example 3:
> isevaluable(sin(pi * 1/x), 0.5);
true
> print(evaluate(sin(pi * 1/x), 0.5));
[-3.100365765139897619749121887390789523854170596558e-13490;5.3002401585857127605350842426029223241500776302528e-13489]
Example 4:
> procedure isEvaluableEmulation(f, c) {
return match evaluate(f, c) with
NaN : (false)
[NaN;NaN] : (false)
default : (true);
};
> isEvaluableEmulation(sin(pi * log(x)), 0.5);
true
> isEvaluableEmulation(sin(pi * log(x)), 0);
true
> isEvaluableEmulation(sin(pi * log(x)), -1);
false