[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/ -> EvalBarrett.php (summary)

PHP Dynamic Barrett Modular Exponentiation Engine PHP version 5 and 7

Author: Jim Wigginton <[email protected]>
Copyright: 2017 Jim Wigginton
License: http://www.opensource.org/licenses/mit-license.html MIT License
File Size: 488 lines (16 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 9 functions

  reduce()
  generateCustomReduction()
  generateInlineTrim()
  generateInlineMultiply()
  generateInlineAdd()
  generateInlineSubtract2()
  generateInlineSubtract1()
  generateInlineCompare()
  float2string()

Functions
Functions that are not part of a class:

reduce(array $n, array $m, $class)   X-Ref
Barrett Modular Reduction

This calls a dynamically generated loop unrolled function that's specific to a given modulo.
Array lookups are avoided as are if statements testing for how many bits the host OS supports, etc.

param: array $n
param: array $m
param: string $class
return: array

generateCustomReduction(PHP $m, $class)   X-Ref
Generate Custom Reduction

param: PHP $m
param: string $class
return: callable

generateInlineTrim($name)   X-Ref
Inline Trim

Removes leading zeros

param: string $name
return: string

generateInlineMultiply($input, array $arr, $output, $class)   X-Ref
Inline Multiply (unknown, known)

param: string $input
param: array $arr
param: string $output
param: string $class
return: string

generateInlineAdd($x, $y, $result, $class)   X-Ref
Inline Addition

param: string $x
param: string $y
param: string $result
param: string $class
return: string

generateInlineSubtract2($known, $unknown, $result, $class)   X-Ref
Inline Subtraction 2

For when $known is more digits than $unknown. This is the harder use case to optimize for.

param: string $known
param: string $unknown
param: string $result
param: string $class
return: string

generateInlineSubtract1($unknown, array $known, $result, $class)   X-Ref
Inline Subtraction 1

For when $unknown is more digits than $known. This is the easier use case to optimize for.

param: string $unknown
param: array $known
param: string $result
param: string $class
return: string

generateInlineCompare(array $known, $unknown, $subcode)   X-Ref
Inline Comparison

If $unknown >= $known then loop

param: array $known
param: string $unknown
param: string $subcode
return: string

float2string($num)   X-Ref
Convert a float to a string

If you do echo floatval(pow(2, 52)) you'll get 4.6116860184274E+18. It /can/ be displayed without a loss of
precision but displayed in this way there will be precision loss, hence the need for this method.

param: int|float $num
return: string



Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer