ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


ru:functions:math

This is an old revision of the document!


Математические функции

Список всех математических функций ACSUtils.

Константы

  • fixed MATH_E – число е
  • fixed PI – число π (пи)
  • fixed SQRT_2 – квадратный корень из 2

Общие математические функции

abs

num abs(num x)

Возвращает модуль (|x|) числа x.

Пример

abs(2.0) == 2.0;
abs(-123) == 123;

clamp

num clamp(num x, num a, num b)

Заключает число x в промежуток [a; b]. Если число входит в промежуток, то возвращается x. Если x меньше a, возвращается a. Если число x больше b, возвращается b.

Пример

clamp(7, 6, 8) == 7;
clamp(0.1, 0.2, 0.3) == 0.2;

cmp

int cmp(num a, num b)

Сравнивает два числа и возвращает результат:

  • 1 – a > b
  • -1 – a < b
  • 0 – a = b

dist

num dist(num a, num b)

Возвращает абсолютное расстояние между числами.

Пример

dist(5.0, 8.0) == 3.0;
dist(8.0, 5.0) == 3.0;
dist(3.0, -2.0) == 5.0;

max

num max(num a, num b)

Возвращает большее из двух чисел.

Пример

max(3, 5) == 5;
max(8.0, 7.5) == 8.0;

min

num min(num a, num b)

Возвращает меньшее из двух чисел.

Пример

min(3, 5) == 3;
min(8.0, 7.5) == 7.5;

sign

int sign(num x)

Возвращает знак числа x.

  • 1 – x > 0 (положительное)
  • -1 – x < 0 (отрицательное)
  • 0 – x = 0

Пример

sign(12.3) == 1;
sign(0) == 0;
sign(-7) == -1;

Округления

Есть четыре вида округления:

  • trunc – вообще отбрасывается дробная часть
  • floor – округление вниз (до наименьшего ближайшего целого числа)
  • ceil – округление вверх (до наибольшего ближайшего целого числа)
  • round – округляет до ближайшего целого числа

Для каждого вида округления существует две функции. Те, что начинаются с “i” возвращают целое число. Другие, без “i” возвращают значение с типом данных fixed.

ceil

fixed ceil(fixed x)

int iceil(fixed x)

Возвращает число x, округленное вверх (до наибольшего ближайшего целого числа).

floor

fixed floor(fixed x)

int ifloor(fixed x)

Возвращает число x, округленное вниз (до наименьшего ближайшего целого числа).

round

fixed round(fixed x)

int iround(fixed x)

Округляет число x до ближайшего целого числа.

trunc

fixed trunc(fixed x)

int itrunc(fixed x)

Возвращает число x без дробной части.

ru/functions/math.1461693776.txt.gz · Last modified: 2016/04/26 21:02 by djskaarj