Функция eval
eval('выражение') преобразует аналитическое выражение в числовую запись.
SMath использует символьный движок, и большинство функций можно получить как в аналитической, так и в числовой форме. Их можно вычислить либо символьным оператором «→», либо числовым «=». При использовании числового «=» результат представляется в виде числа с плавающей точкой, но сначала выражение вычисляется символьно. Иногда это может занимать много времени и значительно снижать скорость вычислений. Если нужны только числовые значения, можно использовать eval(), чтобы пропустить символьное вычисление и заметно увеличить скорость вычислений.
Пример:
Рассмотрим пример с использованием eval() (обратите внимание на время вычисления).

Если навести указатель на выражение, вы также увидите результат символьного вычисления во всплывающей подсказке. Сравните символьную (подсказка) и числовую («=») записи.
Теперь сравните время вычисления того же примера без eval(). При наведении на выражение также появится подсказка о том, что оно слишком велико для отображения.

Наконец, чтобы это стало нагляднее, упростим приведённый выше расчёт — так видно, насколько сложным может быть символьное вычисление.

Эта страница основана на статье из старой вики, автор — Radovan Omorjan.