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

Fonctions membres publiques

 __construct ($x=0, $base=10)
 
 toString ()
 
 toBytes ($twos_compliment=false)
 
 abs ()
 
 bitwise_rightShift ($shift)
 
 bitwise_leftShift ($shift)
 
 isOdd ()
 
 testBit ($x)
 
 isNegative ()
 
 negate ()
 
 bitwise_split ($split)
 
- 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 subtractHelper (array $x_value, $x_negative, array $y_value, $y_negative)
 
static scan1divide (PHP $r)
 
- Fonctions membres publiques statiques hérités de Engine
static setModExpEngine ($engine)
 
static minMaxBits ($bits)
 

Champs de données

const VALUE = 0
 
const SIGN = 1
 
const KARATSUBA_CUTOFF = 25
 
const FAST_BITWISE = true
 
const ENGINE_DIR = 'PHP'
 
- Champs de données hérités de Engine
const PRIMES
 

Fonctions membres protégées

 initialize ($base)
 
 pad ($str)
 
 divideHelper (PHP $y)
 
 convertToObj (array $arr)
 
 normalize (PHP $result)
 
 lshift ($shift)
 
 rshift ($shift)
 
 powModInner (PHP $e, PHP $n)
 
 make_odd ()
 
 testSmallPrimes ()
 
 powHelper (PHP $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 addHelper (array $x_value, $x_negative, array $y_value, $y_negative)
 
static multiplyHelper (array $x_value, $x_negative, array $y_value, $y_negative)
 
static regularMultiply (array $x_value, array $y_value)
 
static compareHelper (array $x_value, $x_negative, array $y_value, $y_negative)
 
static trim (array $value)
 
static array_repeat ($input, $multiplier)
 
static square (array $x)
 
static baseSquare (array $value)
 
static karatsubaSquare (array $value)
 
- 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)
 

Fonctions membres privées

 bitwise_small_split ($split)
 

Fonctions membres privées statiques

static karatsuba (array $x_value, array $y_value)
 
static divide_digit (array $dividend, $divisor)
 
static int2bytes ($x)
 

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
Renvoie
PHP
Voir également
parent::__construct()

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

Documentation des fonctions membres

◆ abs()

abs ( )

Absolute value.

Renvoie
PHP

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

Référencé par EvalBarrett\float2string(), et PHP\initialize().

◆ addHelper()

static addHelper ( array  $x_value,
  $x_negative,
array  $y_value,
  $y_negative 
)
staticprotected

Performs addition.

Paramètres
array$x_value
bool$x_negative
array$y_value
bool$y_negative
Renvoie
array

Références $i, $size, $temp, Engine\$value, elseif, et false.

◆ array_repeat()

static array_repeat (   $input,
  $multiplier 
)
staticprotected

Array Repeat

Paramètres
int$input
int$multiplier
Renvoie
array

Références $input.

◆ baseSquare()

static baseSquare ( array  $value)
staticprotected

Performs traditional squaring on two BigIntegers

Squaring can be done faster than multiplying a number by itself can be. See HAC 14.2.4 / MPM 5.3 for more information.

Paramètres
array$value
Renvoie
array

Références $i, $temp, et Engine\$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
PHP

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

◆ bitwise_rightShift()

bitwise_rightShift (   $shift)

Logical Right Shift

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

Paramètres
int$shift
Renvoie
PHP

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

◆ bitwise_small_split()

bitwise_small_split (   $split)
private

Bitwise Split where $split < static::BASE

Paramètres
int$split
Renvoie
list<int>

Références $i, $val, Engine\$value, et elseif.

Référencé par PHP\bitwise_split(), et PHP\toBytes().

◆ bitwise_split()

bitwise_split (   $split)

Bitwise Split

Splits BigInteger's into chunks of $split bits

Paramètres
int$split
Renvoie
list<static>

Références $i, $temp, $val, Engine\$value, $width, et PHP\bitwise_small_split().

◆ compareHelper()

static compareHelper ( array  $x_value,
  $x_negative,
array  $y_value,
  $y_negative 
)
staticprotected

Compares two numbers.

Paramètres
array$x_value
bool$x_negative
array$y_value
bool$y_negative
Renvoie
int
Voir également
static::compare()

Références $i, $result, $size, et BigInteger\max().

Référencé par PHP32\compare().

◆ convertToObj()

convertToObj ( array  $arr)
protected

Convert an array / boolean to a PHP BigInteger object

Paramètres
array$arr
Renvoie
static

Références $result, et PHP\normalize().

Référencé par PHP32\add(), PHP64\add(), PHP32\multiply(), PHP64\multiply(), PHP32\subtract(), et PHP64\subtract().

◆ divide_digit()

static divide_digit ( array  $dividend,
  $divisor 
)
staticprivate

Divides a BigInteger by a regular integer

abc / x = a00 / x + b0 / x + c / x

Paramètres
array$dividend
int$divisor
Renvoie
array

Références $i, $result, et $temp.

Référencé par PHP\divideHelper().

◆ divideHelper()

divideHelper ( PHP  $y)
protected

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).

Renvoie
array{static, static}

Références $i, $r, $temp, $this, class, PHP\divide_digit(), PHP\normalize(), et value.

Référencé par PHP32\divide(), et PHP64\divide().

◆ initialize()

initialize (   $base)
protected

Initialize a PHP BigInteger Engine instance

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

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

◆ int2bytes()

static int2bytes (   $x)
staticprivate

Converts 32-bit integers to bytes.

Paramètres
int$x
Renvoie
string

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

◆ isNegative()

isNegative ( )

Is Negative?

Renvoie
bool

Références Engine\$is_negative.

◆ isOdd()

isOdd ( )

Is Odd?

Renvoie
bool

Références value.

◆ karatsuba()

static karatsuba ( array  $x_value,
array  $y_value 
)
staticprivate

Performs Karatsuba multiplication on two BigIntegers

See Karatsuba algorithm and MPM 5.2.3.

Paramètres
array$x_value
array$y_value
Renvoie
array

Références $temp, et BigInteger\min().

◆ karatsubaSquare()

static karatsubaSquare ( array  $value)
staticprotected

Performs Karatsuba "squaring" on two BigIntegers

See Karatsuba algorithm and MPM 5.3.4.

Paramètres
array$value
Renvoie
array

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

◆ lshift()

lshift (   $shift)
protected

Logical Left Shift

Shifts BigInteger's by $shift bits.

Paramètres
int$shift

Références $i, $temp, et value.

◆ 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.

◆ multiplyHelper()

static multiplyHelper ( array  $x_value,
  $x_negative,
array  $y_value,
  $y_negative 
)
staticprotected

Performs multiplication.

Paramètres
array$x_value
bool$x_negative
array$y_value
bool$y_negative
Renvoie
array

Références false, et BigInteger\min().

◆ negate()

negate ( )

Negate

Given $k, returns -$k

Renvoie
static

Références $temp, et $this.

◆ normalize()

normalize ( PHP  $result)
protected

Normalize

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

Paramètres
PHP$result
Renvoie
static

Références Engine\$bitmask, $i, Engine\$precision, $result, Engine\$value, et BigInteger\min().

Référencé par PHP\bitwise_leftShift(), PHP\bitwise_rightShift(), PHP\convertToObj(), PHP\divideHelper(), et Base\powModHelper().

◆ pad()

pad (   $str)
protected

Pads strings so that unpack may be used on them

Paramètres
string$str
Renvoie
string

◆ powHelper()

powHelper ( PHP  $n)
protected

Performs exponentiation.

Paramètres
PHP$n
Renvoie
PHP

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

Référencé par PHP32\pow(), et PHP64\pow().

◆ powModInner()

powModInner ( PHP  $e,
PHP  $n 
)
protected

Performs modular exponentiation.

Paramètres
PHP$e
PHP$n
Renvoie
PHP

Références $class, $n, $this, class, et Base\powModHelper().

◆ regularMultiply()

static regularMultiply ( array  $x_value,
array  $y_value 
)
staticprotected

Performs long multiplication on two BigIntegers

Modeled after 'multiply' in MutableBigInteger.java.

Paramètres
array$x_value
array$y_value
Renvoie
array

Références $i, et $temp.

◆ rshift()

rshift (   $shift)
protected

Logical Right Shift

Shifts BigInteger's by $shift bits.

Paramètres
int$shift

Références $i, $temp, et value.

◆ scan1divide()

static scan1divide ( PHP  $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
PHP$r
Renvoie
int
Voir également
self::isPrime()

Références $i, $r, et $temp.

◆ square()

static square ( array  $x)
staticprotected

Performs squaring

Paramètres
list<static>$x
Renvoie
list<static>

◆ subtractHelper()

static subtractHelper ( array  $x_value,
  $x_negative,
array  $y_value,
  $y_negative 
)
static

Performs subtraction.

Paramètres
array$x_value
bool$x_negative
array$y_value
bool$y_negative
Renvoie
array

Références $i, $temp, elseif, et false.

◆ testBit()

testBit (   $x)

Tests if a bit is set

Renvoie
bool

Références value.

◆ testSmallPrimes()

testSmallPrimes ( )
protected

Test the number against small primes.

Voir également
self::isPrime()

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

◆ 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 $result, PHP\bitwise_small_split(), Engine\toBytesHelper(), et value.

◆ toString()

toString ( )

Converts a BigInteger to a base-10 number.

Renvoie
string

Références $mod, $result, $temp, $this, et value.

Référencé par PSS\load().

◆ trim()

static trim ( array  $value)
staticprotected

Trim

Removes leading zeros

Paramètres
list<static>$value
Renvoie
list<static>

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

Documentation des champs

◆ ENGINE_DIR

const ENGINE_DIR = 'PHP'

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

◆ KARATSUBA_CUTOFF

const KARATSUBA_CUTOFF = 25

#- Karatsuba Cutoff

At what point do we switch between Karatsuba multiplication and schoolbook long multiplication?

private

◆ SIGN

const SIGN = 1

$result[self::SIGN] contains the sign.

◆ VALUE

const VALUE = 0

#+ Array constants

Rather than create a thousands and thousands of new BigInteger objects in repeated function calls to add() and multiply() or whatever, we'll just work directly on arrays, taking them in as parameters and returning them.

protected $result[self::VALUE] contains the value.


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