Выражения

Выражения, используемые в модуле «арифметика над данными», формулах величин зёрен и в аппроксимирующих функциях графиков, имеют синтаксис подобный многим языкам программирования.

Все числа являются действительными (с плавающей точкой), числовые константы используют стандартную нотацию. Примеры правильных чисел: 1, .707, 2.661, 8.2e-34.

Имена функций, постоянных и переменных начинаются с буквы и продолжаются нулём или более букв, цифр и знаков подчёркивания. Примеры правильных идентификаторов: pow10 (функция), Pi (постоянная), d2_2 (переменная).

Приоритет операций сведён в нижеприведённую таблицу.

ОперацияАссоциативностьПримеры
скобкинедоступно(x)
вызовы функций и унарные операторысправа налево-sqrt 3
оператор степенисправа налево2^16
операторы умножения, деления, остатка от деления слева направо9/2 * 8
операторы сложения и вычитанияслева направо3 - 4 + 5

Следует заметить, что -3^2 равно 9, и равносильно (-3)^2, как в bc, но в отличие от Perl или Python.

Доступные операторы и функции сведены в нижеследующую таблицу.

ОператорСмысл
+ (унарный)нет операции
- (унарный)отрицательное значение
~отрицательное значение (эквивалентно -)
+ (бинарный)сложение
- (бинарный)вычитание
*умножение
/деление
%остаток с плавающей точкой
^степень
absмодуль
floorокругление вниз к ближайшему целому (отбрасывание дробной части)
ceilокругление вверх до ближайшего целого (следующего после вещественного)
sqrtквадратный корень
cbrtкорень кубический
sinфункция синуса
cosфункция косинуса
tanфункция тангенса
asinфункция арксинуса
acosфункция арккосинуса
atanфункция арктангенса
sincфункция "кардинальный синус", синус делённый на значение
expфункция экспоненты по основанию e
lnфункция логарифма по основанию e
logфункция логарифма по основанию e
pow10степенная функция по основанию 10
log10функция логарифма по основанию 10
pow2функция экспоненты по основанию 2
log2функция логарифма по основанию 2
spowфункция степени со знаком; результат будет иметь тот же знак, что и аргумент
sinhфункция гиперболического синуса
coshфункция гиперболического косинуса
tanhфункция гиперболического тангенса
asinhинверсия функции гиперболического синуса
acoshинверсия функции гиперболического косинуса
atanhинверсия функции гиперболического тангенса
powфункция степени, pow(x,y) соответствует x^y
minминимум двух значений
maxмаксимум двух значений
stepнуль для отрицательных чисел или нуля, один для положительных значений
modостаток от деления с плавающей точкой, mod(x,y) эквивалентен x % y
hypotЭвклидова функция расстояния, hypot(x,y) соответствует sqrt(x^2+y^2)
atan2функция арктангенса двух переменных

Следующие функции будут доступны если системная математическая библиотека их содержит:

ОператорСмысл
erfфункция ошибки (интеграл гауссовой функции от нуля)
erfcдополнительная функция ошибки (интеграл гауссовой функции до бесконечности)
lGammaлогарифм функции Γ
Gammaфункция Γ
J0функция Бесселя первого рода порядка 0
J1функция Бесселя первого рода порядка 1
Y0функция Бесселя второго рода порядка 0
Y1функция Бесселя второго рода порядка 1

Помимо этого, есть несколько особенностей, которые упрощают набор простых выражений:

Если сомневаетесь, то пишите выражения в их полной форме.