php-src/ext/gmp/gmp.stub.php
Niels Dossche 4ea85d4044
Implement GMP::__construct()
Implements a proper constructor for GMP as discussed in both GH-10158 and https://externals.io/message/119216.
Fixes GH-10155

Closes GH-10225

Signed-off-by: George Peter Banyard <girgias@php.net>
2023-01-19 14:13:34 +00:00

187 lines
4.7 KiB
PHP

<?php
/** @generate-class-entries */
/**
* @var int
* @cvalue GMP_ROUND_ZERO
*/
const GMP_ROUND_ZERO = UNKNOWN;
/**
* @var int
* @cvalue GMP_ROUND_PLUSINF
*/
const GMP_ROUND_PLUSINF = UNKNOWN;
/**
* @var int
* @cvalue GMP_ROUND_MINUSINF
*/
const GMP_ROUND_MINUSINF = UNKNOWN;
#ifdef mpir_version
/**
* @var string
* @cvalue GMP_MPIR_VERSION_STRING
*/
const GMP_MPIR_VERSION = UNKNOWN;
#endif
/**
* @var string
* @cvalue GMP_VERSION_STRING
*/
const GMP_VERSION = UNKNOWN;
/**
* @var int
* @cvalue GMP_MSW_FIRST
*/
const GMP_MSW_FIRST = UNKNOWN;
/**
* @var int
* @cvalue GMP_LSW_FIRST
*/
const GMP_LSW_FIRST = UNKNOWN;
/**
* @var int
* @cvalue GMP_LITTLE_ENDIAN
*/
const GMP_LITTLE_ENDIAN = UNKNOWN;
/**
* @var int
* @cvalue GMP_BIG_ENDIAN
*/
const GMP_BIG_ENDIAN = UNKNOWN;
/**
* @var int
* @cvalue GMP_NATIVE_ENDIAN
*/
const GMP_NATIVE_ENDIAN = UNKNOWN;
class GMP
{
public function __construct(int|string $num = 0, int $base = 0) {}
public function __serialize(): array {}
public function __unserialize(array $data): void {}
}
function gmp_init(int|string $num, int $base = 0): GMP {}
function gmp_import(string $data, int $word_size = 1, int $flags = GMP_MSW_FIRST | GMP_NATIVE_ENDIAN): GMP {}
function gmp_export(GMP|int|string $num, int $word_size = 1, int $flags = GMP_MSW_FIRST | GMP_NATIVE_ENDIAN): string {}
function gmp_intval(GMP|int|string $num): int {}
function gmp_strval(GMP|int|string $num, int $base = 10): string {}
function gmp_add(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_sub(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_mul(GMP|int|string $num1, GMP|int|string $num2): GMP {}
/**
* @return array<int, GMP>
* @refcount 1
*/
function gmp_div_qr(GMP|int|string $num1, GMP|int|string $num2, int $rounding_mode = GMP_ROUND_ZERO): array {}
function gmp_div_q(GMP|int|string $num1, GMP|int|string $num2, int $rounding_mode = GMP_ROUND_ZERO): GMP {}
function gmp_div_r(GMP|int|string $num1, GMP|int|string $num2, int $rounding_mode = GMP_ROUND_ZERO): GMP {}
/** @alias gmp_div_q */
function gmp_div(GMP|int|string $num1, GMP|int|string $num2, int $rounding_mode = GMP_ROUND_ZERO): GMP {}
function gmp_mod(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_divexact(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_neg(GMP|int|string $num): GMP {}
function gmp_abs(GMP|int|string $num): GMP {}
function gmp_fact(GMP|int|string $num): GMP {}
function gmp_sqrt(GMP|int|string $num): GMP {}
/**
* @return array<int, GMP>
* @refcount 1
*/
function gmp_sqrtrem(GMP|int|string $num): array {}
function gmp_root(GMP|int|string $num, int $nth): GMP {}
/**
* @return array<int, GMP>
* @refcount 1
*/
function gmp_rootrem(GMP|int|string $num, int $nth): array {}
function gmp_pow(GMP|int|string $num, int $exponent): GMP {}
function gmp_powm(GMP|int|string $num, GMP|int|string $exponent, GMP|int|string $modulus): GMP {}
function gmp_perfect_square(GMP|int|string $num): bool {}
function gmp_perfect_power(GMP|int|string $num): bool {}
function gmp_prob_prime(GMP|int|string $num, int $repetitions = 10): int {}
function gmp_gcd(GMP|int|string $num1, GMP|int|string $num2): GMP {}
/**
* @return array<string, GMP>
* @refcount 1
*/
function gmp_gcdext(GMP|int|string $num1, GMP|int|string $num2): array {}
function gmp_lcm(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_invert(GMP|int|string $num1, GMP|int|string $num2): GMP|false {}
function gmp_jacobi(GMP|int|string $num1, GMP|int|string $num2): int {}
function gmp_legendre(GMP|int|string $num1, GMP|int|string $num2): int {}
function gmp_kronecker(GMP|int|string $num1, GMP|int|string $num2): int {}
function gmp_cmp(GMP|int|string $num1, GMP|int|string $num2): int {}
function gmp_sign(GMP|int|string $num): int {}
function gmp_random_seed(GMP|int|string $seed): void {}
function gmp_random_bits(int $bits): GMP {}
function gmp_random_range(GMP|int|string $min, GMP|int|string $max): GMP {}
function gmp_and(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_or(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_com(GMP|int|string $num): GMP {}
function gmp_xor(GMP|int|string $num1, GMP|int|string $num2): GMP {}
function gmp_setbit(GMP $num, int $index, bool $value = true): void {}
function gmp_clrbit(GMP $num, int $index): void {}
function gmp_testbit(GMP|int|string $num, int $index): bool {}
function gmp_scan0(GMP|int|string $num1, int $start): int {}
function gmp_scan1(GMP|int|string $num1, int $start): int {}
function gmp_popcount(GMP|int|string $num): int {}
function gmp_hamdist(GMP|int|string $num1, GMP|int|string $num2): int {}
function gmp_nextprime(GMP|int|string $num): GMP {}
function gmp_binomial(GMP|int|string $n, int $k): GMP {}