Категории
Самые читаемые

Справочник по PHP - white cat

Читать онлайн Справочник по PHP - white cat

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 2 3 4 5 6 7 8 9 10 ... 55
Перейти на страницу:

bcsqrt

Получение квадратного корня числа произвольной точности.

Синтаксис:

string bcsqrt(string operand [,int scale]);

Возвращает квадратный корень аргумента operand. Параметр scale устанавливает количество цифр после десятичной отметки в результате.

bcsub

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

Синтаксис:

string bcsub(string left_operand, right_operand [, int scale]);

Возвращает разность двух переменных, указанных в параметрах функции (left_operand - right_operand) с точностью, указанной в необязательном параметре scale.

Функции GMP

Подразделы

Функции

Введение

Функции этого вида позволяют работать с целыми числами повышенной точности определенного формата используя библиотеку GNU MP.Эта библиотека не входит в стандартный пакет PHP. Загрузить коды библиотеки и документацию по ней можно на сайте http://www.swox.com/gmp/.

Функции, приведенные в этой библиотеке, могут также работать с обычными целочисленными аргументами. В этом случае они будут автоматически преобразовываться в формат GMP. Но для увеличения производительности рекомендуется все же использовать числа формата GMP.

Значения функции GMP

gmp_init

Создает число GMP.

Синтаксис:

resource gmp_init(mixed number)

Число GMP создается из целочисленного или строкового аргумента.

В строке может быть указано число десятеричного или шестнадцатеричного формата. Если это шестнадцатеричный формат, то перед числом должен стоять префикс 0x.

$x = gmp_init(45);

$y = gmp_init("46");

$z = gmp_init("0xfa4b");

Данная функция не обязательна (аргументы автоматически конвертируются в формат GMP), но желательна (при использовании функции gmp_init() повышается быстродействие).

gmp_intval

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

Синтаксис:

int gmp_intval(resource gmpnumber)

Эта функция конвертирует 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 (по умолчанию).

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

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

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

Синтаксис:

1 2 3 4 5 6 7 8 9 10 ... 55
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Справочник по PHP - white cat.
Комментарии