Функции GMP. Арифметика

gmp_add
Сложение двух чисел.

Синтаксис:
recource gmp_add(resource x, recource y)

Функция возвратит GMP-число, равное сумме аргументов x и y.

gmp_sub
Вычитание двух чисел.

Синтаксис:
recource gmp_sub(resource x, recource y)

Функция возвратит GMP-число, равное разности аргументов x и y.

gmp_mul
Умножение двух чисел.

Синтаксис:
recource gmp_mul(resource x, recource y)

Функция возвратит GMP-число, равное произведению аргументов x и y.

gmp_div
Деление двух чисел.

Синтаксис:
recource gmp_div(resource x, recource y [, int round])

Функция возвратит GMP-число, равное делению аргументов x на y. В зависимости от необязательного параметра round, результат деления будет округляться следующим образом:

· GMP_ROUND_ZERO - цифры после точки отбрасываются

· GMP_ROUND_PLUSINF - результат деления округляется в большую сторону

· GMP_ROUND_MINUSINF - результат деления округляется в меньшую сторону

Эта функция - синоним gmp_div_q().

gmp_div_q
Деление двух чисел.

Синтаксис:
recource gmp_div_q(resource x, recource y [, int round])

Функция возвратит GMP-число, равное делению аргументов x на y. В зависимости от необязательного параметра round, результат деления будет округляться следующим образом:

· GMP_ROUND_ZERO - цифры после точки отбрасываются

· GMP_ROUND_PLUSINF - результат деления округляется в большую сторону

· GMP_ROUND_MINUSINF - результат деления округляется в меньшую сторону

У этой функции есть синоним - gmp_div().

gmp_div_r
Возвращате остаток от целочисленного деления.

Синтаксис:
recource gmp_div_r(resource x, recource y [, int round])

Функция возвращает остаток от деления x на y. Знак будет наследован от аргумента x.

gmp_div_qr
Производит деление с остатком.

Синтаксис:
array gmp_div_qr(resource x, recource y [, int round])

Данная функция комбинирует в себе действие двух предыдущих функций gmp_div_q() и gmp_div_r(). Она возвращает массив, состоящий из двух элементов: под индексом [0] - целое частное, под индексом [1] - остаток деления.

$x=gmp_init("0xf3c3b5");$result=gmp_div_qr($x, "0xb1");echo "Целое: ".gmp[strval($result[0]);echo "Остаток: ".gmp[strval($result[1]);

gmp_mod
Возвращает модуль остатка деления.

Синтаксис:
resource gmp_mod(resource x, recource y)

Данная функция эквивалентна gmp_div_r(), за исключением того, что она возвращает абсолютное значение.

gmp_divexact
Производит безостаточное деление.

Синтаксис:
resource gmp_divexact(resource x, recource y)

Данная функция использует алгоритм "точного" деления. Результат будет достоверным, только если x будет нацело делим y.

gmp_cmp
Производит сравнение двух чисел.

Синтаксис:
int gmp_cmp(resource x, recource y)

Функция возвратит положительное значение, если x > y; ноль, елси x = y; отрицательное значени, если x < y.

 





















Функции GMP. Математика

gmp_fact
Вычисляет факториал.

Синтаксис:
resource gmp_fact(resourse x)

Возвращает факториал числа, заданного в параметре x.

gmp_sqrt
Вычисляет квадратный корень.

Синтаксис:
resource gmp_sqrt(resourse x)

Возвращает квадратный корень числа, заданного в параметре x.

gmp_sqrtrm
Вычисляет квадратный корень с остатком.

Синтаксис:
array gmp_sqrtrm(resourse x)

Данная функция возвращает массив, в котором элемент с индексом [0] - это квадратный корень аргумента, элемент с индексом [1] - разность между аргументом и элементом [0] в квадрате.

gmp_perfect_square
Определяет, является ли число полным квадратом.

Синтаксис:
bool gmp_perfect_square(resourse x)

Функция gmp_perfect_square() возвратит true, если x является квадратом целого числа. В противном случае вернет false.

gmp_pow
Возведение в степень.

Синтаксис:
resource gmp_pow(resourse x, int y)

Эта функция возвращает результат, равный возведения аргумента x в степень y, при условии, что y не отрицательный.

echo gmp_pow(2,3); // Выведет 8echo gmp_pow(0,0); // Выведет 1

gmp_powm
Возвращает остаток деления степени числа.

Синтаксис:
resource gmp_powm(resourse x, resource y, resource mod)

Возвращает остаток от деления (x в степени y) на mod, в случае, если y положетелен.

gmp_prob_prime
Проверка "вероятно" простого числа.

Синтаксис:
int gmp_prob_prime(resourse x [, int reps])

Эта функция возвратит 0, в случае если x сложное число, т.е. имеющее более двух целых делителей. Возвратит 1, если x, возможно, простое число. Если возвращает 2, то тогда x - наверняка простое число.
Аргумент reps определяет качество проверки. Чем большее это число, тем точнее результат. Может принимать занчения от 5 до 10 (по умолчанию).

Эта функция использует алгоритм вероятностного теста Миллера-Рабина.

gmp_gcd
Находит наибольший общий делитель.

Синтаксис:
resource gmp_gcd(resourse x, resource y)

Всегда возвращает положительный результат.

gmp_gcdext
Нахождение наибольшего общего делителя со множителями.

Синтаксис:
array gmp_gcdext(resourse x, resource y)

Функция gmp_gcdext() возвращает массив со значениями g,s,t, такими, что x*s+y*t=g=НОД(x,y), гдн НОД - наибольший общий делитель.

gmp_invert
Производит инверсию по модулю.

Синтаксис:
resource gmp_invert(resourse x, resource y)

Функция возвращает дополнение x до значения, делящегося нацело на y.Вслучае, если результат не может быть найден, возвращает false.

gmp_legendre
Возвращает число Легранжа.


Синтаксис:
int gmp_legendre(resourse x, resource p)

Функция возвращает число Легранжа. p должен быть четным положительным.

gmp_jacobi
Возвращает число Якоби.


Синтаксис:
int gmp_jacobi(resourse x, resource p)

Функция возвращает число Якоби. p должен быть четным положительным.

gmp_random
Производит генерацию случайного числа.

Синтаксис:
resource gmp_random(int limited)

limited задает длину генерируемого числа. В случае, если значение limited отрицательно, генерируется отрицательное число.

gmp_popcount
Получение популяции.

Синтаксис:
int gmp_popcount(resource x)

Функция возвращает числитель популяции.

gmp_hamdist
Вычисление дистанции.

Синтаксис:
int gmp_hamdist(resource x, resource y)

Функция возвращает дистанцию между числами x и y. Аргументы x и y должны быть неотрицательными.

 



































Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: