Математические функции — это инструменты для выполнения различных арифметических и числовых операций. Они поддерживают высокую точность вычислений и включают как базовые операции, так и более специализированные. Рассмотрим их подробнее.
math.add
Выполняет сложение двух чисел. Эквивалент операции +
.
Сигнатура: math.add(num1: float, num2: float, precision: int = 12) -> float
Аргументы:
num1
— первое слагаемое.num2
— второе слагаемое.precision
— точность вычислений, количество знаков после запятой. По умолчанию: 12.Результат: Сумма чисел с заданной точностью.
Пример использования:
$a = math.add(1.5, 3.5) // $a равно 5
$a = 1.5 + 3.5 // То же самое
$a = math.add(1.000006, 2.1, 5) // $a равно 3.10001
math.sub
Выполняет вычитание двух чисел. Эквивалент операции -
.
Сигнатура: math.sub(num1: float, num2: float, precision: int = 12) -> float
Аргументы:
num1
— уменьшаемое.num2
— вычитаемое.precision
— точность вычислений, количество знаков после запятой. По умолчанию: 12.Результат: Разность чисел с заданной точностью.
Пример использования:
$a = math.sub(1.5, 3.5) // $a равно -2
$a = 1.5 - 3.5 // То же самое
$a = math.sub(2.100006, 1.1, 5) // $a равно 1.00001
math.mul
Выполняет умножение двух чисел. Эквивалент операции *
.
Сигнатура: math.mul(num1: float, num2: float, precision: int = 12) -> float
Аргументы:
num1
— первый множитель.num2
— второй множитель.precision
— точность вычислений, количество знаков после запятой. По умолчанию: 12.Результат: Произведение чисел с заданной точностью.
Пример использования:
$a = math.mul(1.5, 3.5) // $a равно 5.25
$a = 1.5 * 3.5 // То же самое
$a = math.mul(1.2345, 1.234, 5) // $a равно 1.52337
math.div
Выполняет деление двух чисел. Эквивалент операции /
.
Сигнатура: math.div(num1: float, num2: float, precision: int = 12) -> float
Аргументы:
num1
— делимое.num2
— делитель.precision
— точность вычислений, количество знаков после запятой. По умолчанию: 12.Результат: Частное двух чисел с заданной точностью.
Пример использования:
$a = math.div(1.5, 3.5) // $a равно 0.428571428571
$a = 1.5 / 3.5 // То же самое
$a = math.div(1, 3, 5) // $a равно 0.33333
math.idiv
Выполняет целочисленное деление двух чисел. Эквивалент операции \
.
Сигнатура: math.idiv(num1: float, num2: float) -> int
Аргументы:
num1
— делимое.num2
— делитель.Результат: Целая часть частного.
Пример использования:
$a = math.idiv(2.5, 0.3) // $a равно 8
$a = 2.5 \ 0.3 // То же самое
math.mod
Вычисляет остаток от деления двух чисел. Эквивалент операции %
.
Сигнатура: math.mod(num1: float, num2: float, precision: int = 12) -> float
Аргументы:
num1
— делимое.num2
— делитель.precision
— точность вычислений, количество знаков после запятой. По умолчанию: 12.Результат: Остаток от деления.
Пример использования:
$a = math.mod(3.5, 1.5) // $a равно 0.5
$a = 3.5 % 1.5 // То же самое
$a = math.mod(1/3, 2/7, 5) // $a равно 0.04762
math.pow
Возводит число в указанную степень. Эквивалент операции **
.
Сигнатура: math.pow(base: float, power: float, precision: int = 12) -> float
Аргументы:
base
— основание.power
— показатель степени.precision
— точность вычислений. По умолчанию: 12.Результат: Число, возведенное в степень.
Пример использования:
$a = math.pow(1.5, 3.5) // $a равно 4.133513940947
$a = 1.5 ** 3.5 // То же самое
$a = math.pow(1.3, 7.1, 5) // $a равно 0.44166
math.sqrt
Извлекает квадратный корень из числа. Возвращает ошибку, если число отрицательное.
Сигнатура: math.sqrt(num: float, precision: int = 12) -> float
Аргументы:
num
— число для извлечения корня.precision
— точность вычислений. По умолчанию: 12.Результат: Квадратный корень числа.
Пример использования:
$a = math.sqrt(3.14) // $a равно 1.772004514667
$a = math.sqrt(1.7, 5) // $a равно 0.30384
math.round
Округляет число до указанного знака после запятой.
Сигнатура: math.round(num: float, precision: int) -> float
Аргументы:
num
— число для округления.precision
— точность округления.Результат: Округленное число.
Пример использования:
$a = math.round(3.141592653589793, 2) // $a равно 3.14
$a = math.round(3.141592653589793, 0) // $a равно 3
math.rand
Генерирует псевдослучайное число в заданном диапазоне.
Сигнатура: math.rand(min: int, max: int) -> int
Аргументы:
min
— минимальное значение.max
— максимальное значение.Результат: Случайное число в диапазоне.
Пример использования:
$r = math.rand(-10, 10)
math.eq
и math.neq
Описание:
math.eq
проверяет, равны ли числа с заданной точностью.math.neq
проверяет, не равны ли числа с заданной точностью.Сигнатура:
math.eq(a: float, b: float, epsilon: float = 1e-12) -> bool
math.neq(a: float, b: float, epsilon: float = 1e-12) -> bool
Пример использования:
$equals = math.eq(0.1, 0.1 + 1e-13) // true
$notEquals = math.neq(0.1, 0.1 + 1e-11) // false