Joomla CMS  4.2.2
Documentation des API du CMS Joomla en version 4.2.2
Référence de la classe GMP
+ Graphe d'héritage de GMP:

Fonctions membres publiques

 __construct ($x=0, $base=10)
 
 toString ()
 
 toBits ($twos_compliment=false)
 
 toBytes ($twos_compliment=false)
 
 add (GMP $y)
 
 subtract (GMP $y)
 
 multiply (GMP $x)
 
 divide (GMP $y)
 
 compare (GMP $y)
 
 equals (GMP $x)
 
 modInverse (GMP $n)
 
 extendedGCD (GMP $n)
 
 gcd (GMP $n)
 
 abs ()
 
 bitwise_and (GMP $x)
 
 bitwise_or (GMP $x)
 
 bitwise_xor (GMP $x)
 
 bitwise_rightShift ($shift)
 
 bitwise_leftShift ($shift)
 
 modPow (GMP $e, GMP $n)
 
 powMod (GMP $e, GMP $n)
 
 pow (GMP $n)
 
 between (GMP $min, GMP $max)
 
 createRecurringModuloFunction ()
 
 isOdd ()
 
 testBit ($x)
 
 isNegative ()
 
 negate ()
 
- Fonctions membres publiques hérités de Engine
 __construct ($x=0, $base=10)
 
 toHex ($twos_compliment=false)
 
 toBits ($twos_compliment=false)
 
 __sleep ()
 
 __wakeup ()
 
 jsonSerialize ()
 
 __toString ()
 
 __debugInfo ()
 
 setPrecision ($bits)
 
 getPrecision ()
 
 bitwise_not ()
 
 bitwise_leftRotate ($shift)
 
 bitwise_rightRotate ($shift)
 
 getLength ()
 
 getLengthInBytes ()
 
 isPrime ($t=false)
 
 root ($n=2)
 
 createRecurringModuloFunction ()
 
 bitwise_split ($split)
 

Fonctions membres publiques statiques

static isValidEngine ()
 
static randomRangePrime (GMP $min, GMP $max)
 
static randomRange (GMP $min, GMP $max)
 
static min (GMP ... $nums)
 
static max (GMP ... $nums)
 
static scan1divide (GMP $r)
 
- Fonctions membres publiques statiques hérités de Engine
static setModExpEngine ($engine)
 
static minMaxBits ($bits)
 

Champs de données

const FAST_BITWISE = true
 
const ENGINE_DIR = 'GMP'
 
- Champs de données hérités de Engine
const PRIMES
 

Fonctions membres protégées

 initialize ($base)
 
 powModInner (GMP $e, GMP $n)
 
 normalize (GMP $result)
 
 make_odd ()
 
 testPrimality ($t)
 
 rootInner ($n)
 
- Fonctions membres protégées hérités de Engine
 toBytesHelper ()
 
 powModOuter (Engine $e, Engine $n)
 
 setupIsPrime ()
 
 testPrimality ($t)
 
 rootHelper ($n)
 
 rootInner ($n)
 
 extendedGCDHelper (Engine $n)
 
 bitwiseAndHelper (Engine $x)
 
 bitwiseOrHelper (Engine $x)
 
 bitwiseXorHelper (Engine $x)
 

Fonctions membres protégées statiques

static randomRangePrimeInner (Engine $x, Engine $min, Engine $max)
 
- Fonctions membres protégées statiques hérités de Engine
static setBitmask ($bits)
 
static base256_lshift (&$x, $shift)
 
static slidingWindow (Engine $x, Engine $e, Engine $n, $class)
 
static randomRangePrimeOuter (Engine $min, Engine $max)
 
static randomRangeHelper (Engine $min, Engine $max)
 
static randomRangePrimeInner (Engine $x, Engine $min, Engine $max)
 
static minHelper (array $nums)
 
static maxHelper (array $nums)
 

Membres hérités additionnels

- Attributs protégés hérités de Engine
 $value
 
 $is_negative
 
 $precision = -1
 
 $bitmask = false
 
 $reduce
 
 $hex
 
- Attributs protégés statiques hérités de Engine
static $zero = []
 
static $one = []
 
static $two = []
 
static $modexpEngine
 
static $isValidEngine
 

Documentation des constructeurs et destructeur

◆ __construct()

__construct (   $x = 0,
  $base = 10 
)

Default constructor

Paramètres
mixed$xinteger Base-10 number or base-$base number if $base set.
int$base
Voir également
parent::__construct()

Références $base, Symfony\Contracts\Service\__construct(), class, et value.

Documentation des fonctions membres

◆ abs()

abs ( )

Absolute value.

Renvoie
GMP public

Références $temp, et value.

Référencé par GMP\initialize().

◆ add()

add ( GMP  $y)

Adds two BigIntegers.

Paramètres
GMP$y
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ between()

between ( GMP  $min,
GMP  $max 
)

Tests BigInteger to see if it is between two integers, inclusive

Paramètres
GMP$min
GMP$max
Renvoie
bool

Références GMP\compare().

◆ bitwise_and()

bitwise_and ( GMP  $x)

Logical And

Paramètres
GMP$x
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ bitwise_leftShift()

bitwise_leftShift (   $shift)

Logical Left Shift

Shifts BigInteger's by $shift bits, effectively multiplying by 2**$shift.

Paramètres
int$shift
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ bitwise_or()

bitwise_or ( GMP  $x)

Logical Or

Paramètres
GMP$x
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ bitwise_rightShift()

bitwise_rightShift (   $shift)

Logical Right Shift

Shifts BigInteger's by $shift bits, effectively dividing by 2**$shift.

Paramètres
int$shift
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ bitwise_xor()

bitwise_xor ( GMP  $x)

Logical Exclusive Or

Paramètres
GMP$x
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ compare()

compare ( GMP  $y)

Compares two numbers.

Although one might think !$x->compare($y) means $x != $y, it, in fact, means the opposite. The reason for this is demonstrated thusly:

$x >

y

x->compare($y) > 0 $x <

y

x->compare($y) < 0 $x ==

y

x->compare($y) == 0

Note how the same comparison operator is used. If you want to test for equality, use $x->equals($y).

{

Références $r, et value.

Référencé par GMP\between(), et GMP\toBits().

◆ createRecurringModuloFunction()

createRecurringModuloFunction ( )

Create Recurring Modulo Function

Sometimes it may be desirable to do repeated modulos with the same number outside of modular exponentiation

Renvoie
callable

Références $temp, et Engine\$value.

◆ divide()

divide ( GMP  $y)

Divides two BigIntegers.

Returns an array whose first element contains the quotient and whose second element contains the "common residue". If the remainder would be positive, the "common residue" and the remainder are the same. If the remainder would be negative, the "common residue" is equal to the sum of the remainder and the divisor (basically, the "common residue" is the first positive modulo).

Paramètres
GMP$y
Renvoie
array{GMP, GMP}

Références GMP\normalize(), et value.

◆ equals()

equals ( GMP  $x)

Tests the equality of two numbers.

If you need to see if one number is greater than or less than another number, use BigInteger::compare()

Paramètres
GMP$x
Renvoie
bool

Références value.

◆ extendedGCD()

extendedGCD ( GMP  $n)

Calculates the greatest common divisor and Bezout's identity.

Say you have 693 and 609. The GCD is 21. Bezout's identity states that there exist integers x and y such that 693*x + 609*y == 21. In point of fact, there are actually an infinite number of x and y combinations and which combination is returned is dependent upon which mode is in use. See Bezout's identity - Wikipedia for more information.

Paramètres
GMP$n
Renvoie
GMP[]

Références $g, GMP\normalize(), et value.

◆ gcd()

gcd ( GMP  $n)

Calculates the greatest common divisor

Say you have 693 and 609. The GCD is 21.

Paramètres
GMP$n
Renvoie
GMP

Références $r, GMP\normalize(), et value.

◆ initialize()

initialize (   $base)
protected

Initialize a GMP BigInteger Engine instance

Paramètres
int$base
Voir également
parent::__construct()

Références $base, $temp, Engine\$value, GMP\abs(), et value.

◆ isNegative()

isNegative ( )

Is Negative?

Renvoie
bool

Références value.

◆ isOdd()

isOdd ( )

Is Odd?

Renvoie
bool

Références value.

◆ isValidEngine()

static isValidEngine ( )
static

Test for engine validity

Renvoie
bool
Voir également
parent::__construct()

◆ make_odd()

make_odd ( )
protected

Make the current number odd

If the current number is odd it'll be unchanged. If it's even, one will be added to it.

Voir également
self::randomPrime()

Références value.

◆ max()

static max ( GMP ...  $nums)
static

Return the maximum BigInteger between an arbitrary number of BigIntegers.

Paramètres
GMP...$nums
Renvoie
GMP

◆ min()

static min ( GMP ...  $nums)
static

Return the minimum BigInteger between an arbitrary number of BigIntegers.

Paramètres
GMP...$nums
Renvoie
GMP

◆ modInverse()

modInverse ( GMP  $n)

Calculates modular inverses.

Say you have (30 mod 17 * x mod 17) mod 17 == 1. x can be found using modular inverses.

Paramètres
GMP$n
Renvoie
false|GMP

Références $temp, false, GMP\normalize(), et value.

◆ modPow()

modPow ( GMP  $e,
GMP  $n 
)

Performs modular exponentiation.

Paramètres
GMP$e
GMP$n
Renvoie
GMP

Références $n, et Engine\powModOuter().

◆ multiply()

multiply ( GMP  $x)

Multiplies two BigIntegers.

Paramètres
GMP$x
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ negate()

negate ( )

Negate

Given $k, returns -$k

Renvoie
GMP

Références $temp, $this, et Engine\$value.

◆ normalize()

normalize ( GMP  $result)
protected

Normalize

Removes leading zeros and truncates (if necessary) to maintain the appropriate precision

Paramètres
GMP$result
Renvoie
GMP

Références Engine\$bitmask, Engine\$precision, et $result.

Référencé par GMP\add(), GMP\bitwise_and(), GMP\bitwise_leftShift(), GMP\bitwise_or(), GMP\bitwise_rightShift(), GMP\bitwise_xor(), GMP\divide(), GMP\extendedGCD(), GMP\gcd(), GMP\modInverse(), GMP\multiply(), GMP\pow(), DefaultEngine\powModHelper(), GMP\rootInner(), et GMP\subtract().

◆ pow()

pow ( GMP  $n)

Performs exponentiation.

Paramètres
GMP$n
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ powMod()

powMod ( GMP  $e,
GMP  $n 
)

Performs modular exponentiation.

Alias for modPow().

Paramètres
GMP$e
GMP$n
Renvoie
GMP

Références $n, et Engine\powModOuter().

◆ powModInner()

powModInner ( GMP  $e,
GMP  $n 
)
protected

Performs modular exponentiation.

Paramètres
GMP$e
GMP$n
Renvoie
GMP

Références $class, $n, $this, et class.

◆ randomRange()

static randomRange ( GMP  $min,
GMP  $max 
)
static

Generate a random number between a range

Returns a random number between $min and $max where $min and $max can be defined using one of the two methods:

BigInteger::randomRange($min, $max) BigInteger::randomRange($max, $min)

Paramètres
GMP$min
GMP$max
Renvoie
GMP

◆ randomRangePrime()

static randomRangePrime ( GMP  $min,
GMP  $max 
)
static

Generate a random prime number between a range

If there's not a prime within the given range, false will be returned.

Paramètres
GMP$min
GMP$max
Renvoie
false|GMP

◆ randomRangePrimeInner()

static randomRangePrimeInner ( Engine  $x,
Engine  $min,
Engine  $max 
)
staticprotected

Performs some post-processing for randomRangePrime

Paramètres
Engine$x
Engine$min
Engine$max
Renvoie
GMP

Références value.

◆ rootInner()

rootInner (   $n)
protected

Calculates the nth root of a biginteger.

Returns the nth root of a positive biginteger, where n defaults to 2

Paramètres
int$n
Renvoie
GMP

Références $n, $root, GMP\normalize(), et value.

◆ scan1divide()

static scan1divide ( GMP  $r)
static

Scan for 1 and right shift by that amount

ie. $s = gmp_scan1($n, 0) and $r = gmp_div_q($n, gmp_pow(gmp_init('2'), $s));

Paramètres
GMP$r
Renvoie
int

Références $r.

◆ subtract()

subtract ( GMP  $y)

Subtracts two BigIntegers.

Paramètres
GMP$y
Renvoie
GMP

Références $temp, GMP\normalize(), et value.

◆ testBit()

testBit (   $x)

Tests if a bit is set

Renvoie
bool

Références value.

◆ testPrimality()

testPrimality (   $t)
protected

Tests Primality

Paramètres
int$t
Renvoie
bool

Références value.

◆ toBits()

toBits (   $twos_compliment = false)

Converts a BigInteger to a bit string (eg. base-2).

Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're saved as two's compliment.

Paramètres
bool$twos_compliment
Renvoie
string

Références Engine\$hex, GMP\compare(), et Engine\toHex().

◆ toBytes()

toBytes (   $twos_compliment = false)

Converts a BigInteger to a byte string (eg. base-256).

Paramètres
bool$twos_compliment
Renvoie
string

Références $temp, Engine\toBytesHelper(), et value.

◆ toString()

toString ( )

Converts a BigInteger to a base-10 number.

Renvoie
string

Références Engine\$value.

Documentation des champs

◆ ENGINE_DIR

const ENGINE_DIR = 'GMP'

Engine Directory

Voir également
parent::setModExpEngine protected

◆ FAST_BITWISE

const FAST_BITWISE = true

Can Bitwise operations be done fast?

Voir également
parent::bitwise_leftRotate()
parent::bitwise_rightRotate() protected

La documentation de cette classe a été générée à partir du fichier suivant :