Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
- Учебник по PHP (2004).pdf
Скачиваний:
132
Добавлен:
12.04.2015
Размер:
2 Мб
Скачать
☆

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

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. Арифметика

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

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