Выражения

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

Все числа являются действительными (с плавающей точкой), числовые константы используют стандартную нотацию. Примеры правильных чисел: 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функция арктангенс
expфункция экспонента по основанию e
lnфункция логарифм по основанию e
logфункция логарифм по основанию e
pow10степенная функция по основанию 10
log10функция логарифм по основанию 10
sinhфункция гиперболический синус
coshфункция гиперболический косинус
tanhфункция гиперболический тангенс
asinhинверсия функции гиперболического синуса
acoshинверсия функции гиперболического косинуса
atanhинверсия функции гиперболического тангенса
powфункция степени, pow(x,y) соответствует x^y
minминимум двух значений
maxмаксимум двух значений
modостаток от деления с плавающей точкой, mod(x,y) эквивалентен x % y
hypotЭвклидова функция расстояния, hypot(x,y) соответствует sqrt(x^2+y^2)
atan2функция арктангенса двух переменных

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

Если сомневаетесь. всегда записывайте выражение в полной форме.