Выбрать главу

Эта функция конвертирует GMP-число в целое в том случае, если получаемое число не превышает своего максимально допустимого размера.

gmp_strval

Преобразование GMP-числа в строку.

Синтаксис:

string gmp_strval(resource gmpnumber [, int base])

Функция возвращает число gmpnumber в строковом формате в системе счисления, заданной в необязательном параметре base. По умолчанию возвращает в десятичной системе счисления).

Параметр base может принимать значения от 2 до 36.

$x = gmp_init("0xf1a5");

echo "В десятичной : ".gmp_strval($x);

echo "В base-36: ".gmp_strval($x,36);

gmp_abs

Вычисляет модуль GMP-числа.

Синтаксис:

resource gmp_abs(resourse x)

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

gmp_sign

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

Синтаксис:

int gmp_sign(resource x)

Функция gmp_sign() возвратит 1, если x - положительное число, и 0 - если отрицательное.

gmp_neg

Возвращает отрицательное значение числа.

Синтаксис:

recource gmp_neg(resource x)

Возвратит -x.

Арифметика

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_div_q().

gmp_div_q

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

Синтаксис:

recource gmp_div_q(resource x, recource y [, int round])

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

У этой функции есть синоним - 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(). Она возвращает массив, состоящий из двух элементов:

$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_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); // Выведет 8

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

gmp_powm

gmp_prob_prime

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

Синтаксис:

int gmp_prob_prime(resourse x [, int reps])

Эта функция возвратит 0, в случае если x сложное число, т.е. имеющее более двух целых делителей. Возвратит 1, если x, возможно, простое число. Если возвращает 2, то тогда x - наверняка простое число.

Аргумент reps определяет качество проверки. Чем большее это число, тем точнее результат. Может принимать значения от 5 до 10 (по умолчанию).

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