![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Вычислитель выражений с повторно используемыми скомпилированными инструкциями. Подробнее...
#include <pievaluator.h>
Открытые члены | |
| PIEvaluator () | |
| Создает пустой вычислитель. | |
| ~PIEvaluator () | |
| Уничтожает вычислитель. | |
| void * | data () |
| Возвращает пользовательские данные, передаваемые в callback-функции. | |
| void | setData (void *_data) |
| Устанавливает пользовательские данные для callback-функций. | |
| bool | check (const PIString &string) |
| Проверяет и компилирует выражение. | |
| bool | isCorrect () const |
| Возвращает true, если последний вызов check() завершился успешно. | |
| int | setVariable (const PIString &name, complexd value=complexd(0.)) |
| Устанавливает именованную переменную и создает ее при необходимости. | |
| void | setVariable (int index, complexd value=0.) |
| Устанавливает переменную по индексу. | |
| complexd | evaluate () |
| Вычисляет последнее успешно скомпилированное выражение. | |
| void | clearCustomVariables () |
| Удаляет добавленные пользователем переменные и сохраняет встроенные константы. | |
| int | variableIndex (const PIString &name) const |
| Возвращает индекс переменной по имени или -1. | |
| const PIStringList & | unknownVariables () const |
| Возвращает неизвестные переменные, найденные при последнем check(). | |
| const PIStringList & | usedVariables () const |
| Возвращает переменные, использованные в последнем проверенном выражении. | |
| const PIString & | expression () const |
| Возвращает нормализованную форму последнего проверенного выражения. | |
| const PIString & | error () const |
| Возвращает последний статус или текст ошибки из check(). | |
| const complexd & | lastResult () const |
| Возвращает последний результат вычисления. | |
| PIByteArray | save () const |
| Сериализует состояние вычислителя. | |
| void | load (PIByteArray ba) |
| Восстанавливает состояние вычислителя из сериализованных данных. | |
Вычислитель выражений с повторно используемыми скомпилированными инструкциями.
This class provide mathematical evaluations of custom expression.
Вычислитель подготавливает выражение через check(), сохраняет обработанную форму и список инструкций, а затем повторно вычисляет его после обновления переменных. Встроенные константы: i, pi и e.
PIEvaluator developed for stream evaluations of once set expression. It`s create internal list of instructions on function check() and executes very fast on function evaluate(). Once given expression can be evaluated any times with different variable values. Evaluator supports many common mathematic functions described below. Also it`s automatic puts unnecessarily signs and bracets. Processed expression can be obtains with function expression(). If there is an error in expression you can get it with function error(). Last evaluated result you can get with function lastResult().
First you should set your variables with function setVariable(). Next give your expression with function check() and check for error with functions isCorrect() and error(). If expression is correct you can get processed expression with function expression() and evaluate it with function evaluate(). You can change variable values without rechecking expression.
PIEvaluator supports arithmetical operations with complex numbers, this is their list in priority order:
In addition there are compare and logical operations:
Compare and logical functions works with real operators part and returns 0 or 1.
Mathematical functions:
There are some built-in constans:
All trigonometric functions takes angle in radians.