PHP-Nuke по-русски    Главная
Начальная
страница
 Клуб
Русский
клуб
 Разделы
Тематические
разделы
 Ссылки
Каталог
сайтов
 Файлы
Каталог
программ
 Школа
Практические
занятия
 Форум
Форумы
поддержки
Учебник РНР
Назад Вперёд

XXXVI. Функции GMP

Введение

Эти функции позволяют работать целыми числами произвольной точности с использованием библиотеки GNU MP.

Эти функции были введены в PHP 4.0.4.

Примечание: в основном функции GMP принимают GMP-количество аргументов, определённое далее как resource. Однако большая часть этих функций принимает также числовые и строковые аргументы, которые можно конвертировать в числа. Также, если если имеется более быстрая функция, работающая с целочисленными аргументами, она может использоваться вместо более медленной функции, если предоставляемые аргументы являются целыми числами. Это делается прозрачно, так что вы можете использовать целые числа в каждой функции, ожидающей GMP-числа. См. также функцию gmp_init().

Предупреждение!

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

Требования

Вы можете загрузить библиотеку GMP с http://www.swox.com/gmp/. Этот сайт содержит также учебник по GMP.

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

Установка

Чтобы эти функции работали, вы обязаны скомпилировать PHP с поддержкой GMP, используя опцию
--with-gmp
.

Конфигурация

Это расширение не определяет никаких директив конфигурации.

Типы ресурсов

Это расширение не определяет никакие типы ресурсов.

Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

GMP_ROUND_ZERO (integer)
GMP_ROUND_PLUSINF (integer)
GMP_ROUND_MINUSINF (integer)

Примеры

Пример 1. Функция вычисления факториала с использованием GMP
<?php
function fact ($x) {
    if ($x <= 1) 
  return 1;
    else
  return gmp_mul ($x, fact ($x-1));
}

print gmp_strval (fact (1000)) . "\n";
?>

Факториал 1000 будет вычислен (довольно большое число) весьма быстро.

См. также

Математические функции можно найти найти также в разделах Математические функции BCMath произвольной точности и Математические функции.

Содержание
gmp_abs - абсолютное значение
gmp_add - складывает числа
gmp_and - логическое AND
gmp_clrbit - очищает бит
gmp_cmp - сравнивает числа
gmp_com - высчитывает дополнение/complement a
gmp_div_q - делит числа
gmp_div_qr - делит числа и получает частное и остаток
gmp_div_r - остаток от деления чисел
gmp_div - делит числа
gmp_divexact - точное деление чисел
gmp_fact - факториал
gmp_gcd - вычисляет GCD
gmp_gcdext - вычисляет GCD и множители
gmp_hamdist - Hamming distance (математики, переводите...)
gmp_init - создаёт GMP-число
gmp_intval - конвертирует GMP-число в целое/integer
gmp_invert - инвертирует по modulo
gmp_jacobi - символ Jacobi
gmp_legendre - символ Legendre
gmp_mod - операция Modulo
gmp_mul - умножает числа
gmp_neg - отрицает число
gmp_or - логическое OR
gmp_perfect_square - проверка точности квадрата
gmp_popcount - счёт заполнения
gmp_pow - возводит число в степень
gmp_powm - возводит число в степень с modulo
gmp_prob_prime - проверяет, является ли число "probably prime"
gmp_random - случайное число
gmp_scan0 - сканирует 0
gmp_scan1 - сканирует 1
gmp_setbit - устанавливает бит
gmp_sign - знак числа
gmp_sqrt - квадратный корень
gmp_sqrtrm - квадратный корень с остатком
gmp_strval - конвертирует GMP-число в строку
gmp_sub - вычитает числа
gmp_xor - логическое XOR

НазадОглавление Вперёд
textdomainВверх gmp_abs

© RigaNet - Internet studio
For Web site issues, contact the Web master.

Rambler's Top100 Рейтинг@Mail.ru RigaNet