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

Fonctions membres publiques

 __construct ($x=0, $base=10)
 
 toString ()
 
 toBytes ($twos_compliment=false)
 
 add (BCMath $y)
 
 subtract (BCMath $y)
 
 multiply (BCMath $x)
 
 divide (BCMath $y)
 
 modInverse (BCMath $n)
 
 extendedGCD (BCMath $n)
 
 abs ()
 
 bitwise_and (BCMath $x)
 
 bitwise_or (BCMath $x)
 
 bitwise_xor (BCMath $x)
 
 bitwise_rightShift ($shift)
 
 bitwise_leftShift ($shift)
 
 compare (BCMath $y)
 
 equals (BCMath $x)
 
 modPow (BCMath $e, BCMath $n)
 
 powMod (BCMath $e, BCMath $n)
 
 pow (BCMath $n)
 
 between (BCMath $min, BCMath $max)
 
 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 (BCMath $min, BCMath $max)
 
static randomRange (BCMath $min, BCMath $max)
 
static scan1divide (BCMath $r)
 
static min (BCMath ... $nums)
 
static max (BCMath ... $nums)
 
- Fonctions membres publiques statiques hérités de Engine
static setModExpEngine ($engine)
 
static minMaxBits ($bits)
 

Champs de données

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

Fonctions membres protégées

 initialize ($base)
 
 powModInner (BCMath $e, BCMath $n)
 
 normalize (BCMath $result)
 
 make_odd ()
 
 testSmallPrimes ()
 
- 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 setBitmask ($bits)
 
- 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
BCMath

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

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

◆ add()

add ( BCMath  $y)

Adds two BigIntegers.

Paramètres
BCMath$y
Renvoie
BCMath

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

◆ between()

between ( BCMath  $min,
BCMath  $max 
)

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

Paramètres
BCMath$min
BCMath$max
Renvoie
bool

Références BCMath\compare().

◆ bitwise_and()

bitwise_and ( BCMath  $x)

Logical And

Paramètres
BCMath$x
Renvoie
BCMath

Références Engine\bitwiseAndHelper().

◆ bitwise_leftShift()

bitwise_leftShift (   $shift)

Logical Left Shift

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

Paramètres
int$shift
Renvoie
BCMath

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

◆ bitwise_or()

bitwise_or ( BCMath  $x)

Logical Or

Paramètres
BCMath$x
Renvoie
BCMath

Références Engine\bitwiseXorHelper().

◆ bitwise_rightShift()

bitwise_rightShift (   $shift)

Logical Right Shift

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

Paramètres
int$shift
Renvoie
BCMath

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

◆ bitwise_xor()

bitwise_xor ( BCMath  $x)

Logical Exclusive Or

Paramètres
BCMath$x
Renvoie
BCMath

Références Engine\bitwiseXorHelper().

◆ compare()

compare ( BCMath  $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 value.

Référencé par BCMath\between().

◆ divide()

divide ( BCMath  $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
BCMath$y
Renvoie
array{static, static}

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

◆ equals()

equals ( BCMath  $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
BCMath$x
Renvoie
bool

Références value.

◆ extendedGCD()

extendedGCD ( BCMath  $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
BCMath$n
Renvoie
array{gcd: static, x: static, y: static}

Références $b, $c, $n, $temp, Engine\$value, et BCMath\normalize().

◆ initialize()

initialize (   $base)
protected

Initialize a BCMath BigInteger Engine instance

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

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

◆ isNegative()

isNegative ( )

Is Negative?

Renvoie
bool

Références value.

◆ isOdd()

isOdd ( )

Is Odd?

Renvoie
bool

Références value.

Référencé par BCMath\make_odd().

◆ 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 BCMath\isOdd(), et value.

◆ max()

static max ( BCMath ...  $nums)
static

Return the maximum BigInteger between an arbitrary number of BigIntegers.

Paramètres
BCMath...$nums
Renvoie
BCMath

◆ min()

static min ( BCMath ...  $nums)
static

Return the minimum BigInteger between an arbitrary number of BigIntegers.

Paramètres
BCMath...$nums
Renvoie
BCMath

◆ modInverse()

modInverse ( BCMath  $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
BCMath$n
Renvoie
false|BCMath

Références $n.

◆ modPow()

modPow ( BCMath  $e,
BCMath  $n 
)

Performs modular exponentiation.

Paramètres
BCMath$e
BCMath$n
Renvoie
BCMath

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

◆ multiply()

multiply ( BCMath  $x)

Multiplies two BigIntegers.

Paramètres
BCMath$x
Renvoie
BCMath

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

◆ negate()

negate ( )

Negate

Given $k, returns -$k

Renvoie
BCMath

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

◆ normalize()

normalize ( BCMath  $result)
protected

Normalize

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

Paramètres
BCMath$result
Renvoie
BCMath

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

Référencé par BCMath\add(), BCMath\bitwise_leftShift(), BCMath\bitwise_rightShift(), BCMath\divide(), BCMath\extendedGCD(), BCMath\multiply(), BCMath\pow(), BuiltIn\powModHelper(), Base\powModHelper(), et BCMath\subtract().

◆ pow()

pow ( BCMath  $n)

Performs exponentiation.

Paramètres
BCMath$n
Renvoie
BCMath

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

◆ powMod()

powMod ( BCMath  $e,
BCMath  $n 
)

Performs modular exponentiation.

Alias for modPow().

Paramètres
BCMath$e
BCMath$n
Renvoie
BCMath

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

◆ powModInner()

powModInner ( BCMath  $e,
BCMath  $n 
)
protected

Performs modular exponentiation.

Paramètres
BCMath$e
BCMath$n
Renvoie
BCMath

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

◆ randomRange()

static randomRange ( BCMath  $min,
BCMath  $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
BCMath$min
BCMath$max
Renvoie
BCMath

◆ randomRangePrime()

static randomRangePrime ( BCMath  $min,
BCMath  $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
BCMath$min
BCMath$max
Renvoie
false|BCMath

◆ scan1divide()

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

Références $r.

◆ setBitmask()

static setBitmask (   $bits)
staticprotected

Set Bitmask

Paramètres
int$bits
Renvoie
Engine
Voir également
self::setPrecision()

Références $temp, et class.

◆ subtract()

subtract ( BCMath  $y)

Subtracts two BigIntegers.

Paramètres
BCMath$y
Renvoie
BCMath

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

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

◆ toString()

toString ( )

Converts a BigInteger to a base-10 number.

Renvoie
string

Références value.

Documentation des champs

◆ ENGINE_DIR

const ENGINE_DIR = 'BCMath'

Engine Directory

Voir également
parent::setModExpEngine protected

◆ FAST_BITWISE

const FAST_BITWISE = false

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 :