mainwp.dev/deploy-test/source-code/child/classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html

6450 lines
375 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MainWP Child Documentation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<base href="../">
<link rel="icon" href="images/favicon.ico"/>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/base.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@100;200;300;400;600;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/template.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.min.css" integrity="sha256-ybRkN9dBjhcS2qrW1z+hfCxq+1aBdwyQM5wlQoQVt/0=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism-okaidia.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.css">
<script src="https://cdn.jsdelivr.net/npm/fuse.js@3.4.6"></script>
<script src="https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2"></script>
<script src="js/template.js"></script>
<script src="js/search.js"></script>
<script defer src="js/searchIndex.js"></script>
</head>
<body id="top">
<header class="phpdocumentor-header phpdocumentor-section">
<h1 class="phpdocumentor-title"><a href="" class="phpdocumentor-title__link">MainWP Child Documentation</a></h1>
<input class="phpdocumentor-header__menu-button" type="checkbox" id="menu-button" name="menu-button" />
<label class="phpdocumentor-header__menu-icon" for="menu-button">
<i class="fas fa-bars"></i>
</label>
<section data-search-form class="phpdocumentor-search">
<label>
<span class="visually-hidden">Search for</span>
<svg class="phpdocumentor-search__icon" width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="7.5" cy="7.5" r="6.5" stroke="currentColor" stroke-width="2"/>
<line x1="12.4892" y1="12.2727" x2="19.1559" y2="18.9393" stroke="currentColor" stroke-width="3"/>
</svg>
<input type="search" class="phpdocumentor-field phpdocumentor-search__field" placeholder="Loading .." disabled />
</label>
</section>
<nav class="phpdocumentor-topnav">
<ul class="phpdocumentor-topnav__menu">
</ul>
</nav>
</header>
<main class="phpdocumentor">
<div class="phpdocumentor-section">
<input class="phpdocumentor-sidebar__menu-button" type="checkbox" id="sidebar-button" name="sidebar-button" />
<label class="phpdocumentor-sidebar__menu-icon" for="sidebar-button">
Menu
</label>
<aside class="phpdocumentor-column -three phpdocumentor-sidebar">
<section class="phpdocumentor-sidebar__category -namespaces">
<h2 class="phpdocumentor-sidebar__category-header">Namespaces</h2>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/mainwp.html" class="">MainWP</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/mainwp-child.html" class="">Child</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/paragonie.html" class="">ParagonIE</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/paragonie-constanttime.html" class="">ConstantTime</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/phpseclib3.html" class="">phpseclib3</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/phpseclib3-common.html" class="">Common</a>
</li>
<li>
<a href="namespaces/phpseclib3-crypt.html" class="">Crypt</a>
</li>
<li>
<a href="namespaces/phpseclib3-exception.html" class="">Exception</a>
</li>
<li>
<a href="namespaces/phpseclib3-file.html" class="">File</a>
</li>
<li>
<a href="namespaces/phpseclib3-math.html" class="">Math</a>
</li>
<li>
<a href="namespaces/phpseclib3-net.html" class="">Net</a>
</li>
<li>
<a href="namespaces/phpseclib3-system.html" class="">System</a>
</li>
</ul>
</section>
<section class="phpdocumentor-sidebar__category -packages">
<h2 class="phpdocumentor-sidebar__category-header">Packages</h2>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWP.html" class="">MainWP</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWP-Child.html" class="">Child</a>
</li>
<li>
<a href="packages/MainWP-ChildCreditsPlugin.html" class="">ChildCreditsPlugin</a>
</li>
<li>
<a href="packages/MainWP-Dashboard.html" class="">Dashboard</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPChild.html" class="">MainWPChild</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/ParagonIE.html" class="">ParagonIE</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/ParagonIE-ConstantTime.html" class="">ConstantTime</a>
</li>
</ul>
</section>
<section class="phpdocumentor-sidebar__category -reports">
<h2 class="phpdocumentor-sidebar__category-header">Reports</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="graphs/classes.html">Class Diagram</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/deprecated.html">Deprecated</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/errors.html">Errors</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/markers.html">Markers</a></h3>
</section>
<section class="phpdocumentor-sidebar__category -indices">
<h2 class="phpdocumentor-sidebar__category-header">Indices</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="indices/files.html">Files</a></h3>
</section>
</aside>
<div class="phpdocumentor-column -nine phpdocumentor-content">
<section>
<ul class="phpdocumentor-breadcrumbs">
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3.html">phpseclib3</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3-math.html">Math</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3-math-biginteger.html">BigInteger</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3-math-biginteger-engines.html">Engines</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3-math-biginteger-engines-bcmath.html">BCMath</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3-math-biginteger-engines-bcmath-reductions.html">Reductions</a></li>
</ul>
<article class="phpdocumentor-element -class">
<h2 class="phpdocumentor-content__title">
EvalBarrett
<span class="phpdocumentor-element__extends">
extends <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath\Base">Base</abbr></a>
</span>
<div class="phpdocumentor-element__package">
in package
<ul class="phpdocumentor-breadcrumbs">
<li class="phpdocumentor-breadcrumb"><a href="packages/MainWP.html">MainWP</a></li>
<li class="phpdocumentor-breadcrumb"><a href="packages/MainWP-Child.html">Child</a></li>
</ul>
</div>
</h2>
<div class="phpdocumentor-label-line">
<div class="phpdocumentor-label phpdocumentor-label--success"><span>Abstract</span><span>Yes</span></div>
</div>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-reductions-evalbarrett.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php">EvalBarrett.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">24</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.24" class="phpdocumentor-element-found-in__source" data-line="24" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">PHP Barrett Modular Exponentiation Engine</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">author</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>Jim Wigginton <a href="mailto:terrafrost@php.net">terrafrost@php.net</a></p>
</section>
</dd>
</dl>
<h3 id="toc">
Table of Contents
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<h4 id="toc-constants">
Constants
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#toc-constants" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#constant_DATA">DATA</a>
<span>
&nbsp;= 1 </span>
</dt>
<dd>$cache[self::DATA] contains the cached data.</dd>
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_ENGINE_DIR">ENGINE_DIR</a>
<span>
&nbsp;= &#039;BCMath&#039; </span>
</dt>
<dd>Engine Directory</dd>
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_FAST_BITWISE">FAST_BITWISE</a>
<span>
&nbsp;= false </span>
</dt>
<dd>Can Bitwise operations be done fast?</dd>
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#constant_PRIMES">PRIMES</a>
<span>
&nbsp;= [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997] </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#constant_VARIABLE">VARIABLE</a>
<span>
&nbsp;= 0 </span>
</dt>
<dd>Cache constants</dd>
</dl>
<h4 id="toc-properties">
Properties
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#toc-properties" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_bitmask">$bitmask</a>
<span>
&nbsp;: static|false </span>
</dt>
<dd>Precision Bitmask</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_hex">$hex</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Mode independent value used for serialization.</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_is_negative">$is_negative</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Holds the BigInteger&#039;s sign</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_isValidEngine">$isValidEngine</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Engine Validity Flag</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_modexpEngine">$modexpEngine</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Modular Exponentiation Engine</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_one">$one</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>BigInteger(1)</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_precision">$precision</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Precision</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_reduce">$reduce</a>
<span>
&nbsp;: callable </span>
</dt>
<dd>Recurring Modulo Function</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_two">$two</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>BigInteger(2)</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_value">$value</a>
<span>
&nbsp;: <abbr title="\GMP">GMP</abbr>|string|array&lt;string|int, mixed&gt;|int </span>
</dt>
<dd>Holds the BigInteger&#039;s value</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_zero">$zero</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>BigInteger(0)</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#property_custom_reduction">$custom_reduction</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Custom Reduction Function</dd>
</dl>
<h4 id="toc-methods">
Methods
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#toc-methods" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method___construct">__construct()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Default constructor</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___debugInfo">__debugInfo()</a>
<span>
&nbsp;: array&lt;string|int, mixed&gt; </span>
</dt>
<dd>__debugInfo() magic method</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___sleep">__sleep()</a>
<span>
&nbsp;: array&lt;string|int, mixed&gt; </span>
</dt>
<dd>Serialize</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___toString">__toString()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Converts a BigInteger to a base-10 number.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___wakeup">__wakeup()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Serialize</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_abs">abs()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Absolute value.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_add">add()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Adds two BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_between">between()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Tests BigInteger to see if it is between two integers, inclusive</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_and">bitwise_and()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Logical And</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_leftRotate">bitwise_leftRotate()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Logical Left Rotate</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_leftShift">bitwise_leftShift()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Logical Left Shift</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_not">bitwise_not()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>|string </span>
</dt>
<dd>Logical Not</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_or">bitwise_or()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Logical Or</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_rightRotate">bitwise_rightRotate()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Logical Right Rotate</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_rightShift">bitwise_rightShift()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Logical Right Shift</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_split">bitwise_split()</a>
<span>
&nbsp;: array&lt;string|int, <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&gt; </span>
</dt>
<dd>Bitwise Split</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_xor">bitwise_xor()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Logical Exclusive Or</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_compare">compare()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Compares two numbers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_createRecurringModuloFunction">createRecurringModuloFunction()</a>
<span>
&nbsp;: callable </span>
</dt>
<dd>Create Recurring Modulo Function</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_divide">divide()</a>
<span>
&nbsp;: array{: static, : static} </span>
</dt>
<dd>Divides two BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_equals">equals()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Tests the equality of two numbers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_extendedGCD">extendedGCD()</a>
<span>
&nbsp;: array{gcd: static, x: static, y: static} </span>
</dt>
<dd>Calculates the greatest common divisor and Bezout&#039;s identity.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_gcd">gcd()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Calculates the greatest common divisor</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getLength">getLength()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Return the size of a BigInteger in bits</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getLengthInBytes">getLengthInBytes()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Return the size of a BigInteger in bytes</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getPrecision">getPrecision()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Get Precision</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_isNegative">isNegative()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Is Negative?</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_isOdd">isOdd()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Is Odd?</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_isPrime">isPrime()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Checks a numer to see if it&#039;s prime</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_isValidEngine">isValidEngine()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Test for engine validity</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_jsonSerialize">jsonSerialize()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>JSON Serialize</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_max">max()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Return the maximum BigInteger between an arbitrary number of BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_min">min()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Return the minimum BigInteger between an arbitrary number of BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_minMaxBits">minMaxBits()</a>
<span>
&nbsp;: array{min: static, max: static} </span>
</dt>
<dd>Returns the smallest and largest n-bit number</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_modInverse">modInverse()</a>
<span>
&nbsp;: false|<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Calculates modular inverses.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_modPow">modPow()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Performs modular exponentiation.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_multiply">multiply()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Multiplies two BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_negate">negate()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Negate</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_pow">pow()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Performs exponentiation.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_powMod">powMod()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Performs modular exponentiation.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_random">random()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Generates a random number of a certain size</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomPrime">randomPrime()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Generates a random prime number of a certain size</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_randomRange">randomRange()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Generate a random number between a range</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_randomRangePrime">randomRangePrime()</a>
<span>
&nbsp;: false|<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Generate a random prime number between a range</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_root">root()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Calculates the nth root of a biginteger.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_scan1divide">scan1divide()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Scan for 1 and right shift by that amount</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setModExpEngine">setModExpEngine()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Sets engine type.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setPrecision">setPrecision()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Set Precision</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_subtract">subtract()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Subtracts two BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_testBit">testBit()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Tests if a bit is set</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toBits">toBits()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Converts a BigInteger to a bit string (eg. base-2).</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_toBytes">toBytes()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Converts a BigInteger to a byte string (eg. base-256).</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toHex">toHex()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Converts a BigInteger to a hex string (eg. base-16).</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_toString">toString()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Converts a BigInteger to a base-10 number.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_base256_lshift">base256_lshift()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Logical Left Shift</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseAndHelper">bitwiseAndHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Logical And</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseOrHelper">bitwiseOrHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Logical Or</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseXorHelper">bitwiseXorHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Logical Exclusive Or</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_extendedGCDHelper">extendedGCDHelper()</a>
<span>
&nbsp;: <abbr title="array{gcd: \phpseclib3\Math\BigInteger\Engines\Engine, x: \phpseclib3\Math\BigInteger\Engines\Engine, y: \phpseclib3\Math\BigInteger\Engines\Engine}">Engine}</abbr> </span>
</dt>
<dd>Calculates the greatest common divisor and Bezout&#039;s identity.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#method_generateCustomReduction">generateCustomReduction()</a>
<span>
&nbsp;: callable|void </span>
</dt>
<dd>Generate Custom Reduction</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_initialize">initialize()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Initialize a BCMath BigInteger Engine instance</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_make_odd">make_odd()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Make the current number odd</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_maxHelper">maxHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Return the minimum BigInteger between an arbitrary number of BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_minHelper">minHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Return the minimum BigInteger between an arbitrary number of BigIntegers.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_modInverseHelper">modInverseHelper()</a>
<span>
&nbsp;: static|false </span>
</dt>
<dd>Calculates modular inverses.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_multiplyReduce">multiplyReduce()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Modular multiply</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_normalize">normalize()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Normalize</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_powModHelper">powModHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Performs modular exponentiation.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_powModInner">powModInner()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a> </span>
</dt>
<dd>Performs modular exponentiation.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_powModOuter">powModOuter()</a>
<span>
&nbsp;: static|false </span>
</dt>
<dd>Performs some pre-processing for powMod</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_prepareReduce">prepareReduce()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Modular reduction preparation</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangeHelper">randomRangeHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Generate a random number between a range</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangePrimeInner">randomRangePrimeInner()</a>
<span>
&nbsp;: static|false </span>
</dt>
<dd>Performs some post-processing for randomRangePrime</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangePrimeOuter">randomRangePrimeOuter()</a>
<span>
&nbsp;: static|false </span>
</dt>
<dd>Performs some pre-processing for randomRangePrime</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#method_reduce">reduce()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Barrett Modular Reduction</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_rootHelper">rootHelper()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Performs a few preliminary checks on root</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_rootInner">rootInner()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Calculates the nth root of a biginteger.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_setBitmask">setBitmask()</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a> </span>
</dt>
<dd>Set Bitmask</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setupIsPrime">setupIsPrime()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Sets the $t parameter for primality testing</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_slidingWindow">slidingWindow()</a>
<span>
&nbsp;: <abbr title="\phpseclib3\Math\BigInteger\Engines\T">T</abbr> </span>
</dt>
<dd>Sliding Window k-ary Modular Exponentiation</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_squareReduce">squareReduce()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Modular square</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_testPrimality">testPrimality()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Tests Primality</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_testSmallPrimes">testSmallPrimes()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Test the number against small primes.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -protected">
<a class="" href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toBytesHelper">toBytesHelper()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Converts a BigInteger to a byte string (eg. base-256).</dd>
</dl>
<section class="phpdocumentor-constants">
<h3 class="phpdocumentor-elements__header" id="constants">
Constants
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#constants" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_DATA">
DATA
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#constant_DATA" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-base.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php">Base.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">36</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.36" class="phpdocumentor-element-found-in__source" data-line="36" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">$cache[self::DATA] contains the cached data.</p>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">DATA</span>
= <span class="phpdocumentor-signature__default-value">1</span>
</code>
</article>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_ENGINE_DIR">
ENGINE_DIR
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_ENGINE_DIR" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">39</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.39" class="phpdocumentor-element-found-in__source" data-line="39" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Engine Directory</p>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">ENGINE_DIR</span>
= <span class="phpdocumentor-signature__default-value">&#039;BCMath&#039;</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_ENGINE_DIR#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\parent::setModExpEngine">parent::setModExpEngine</abbr></span>
</dd>
</dl>
</article>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_FAST_BITWISE">
FAST_BITWISE
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_FAST_BITWISE" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">32</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.32" class="phpdocumentor-element-found-in__source" data-line="32" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Can Bitwise operations be done fast?</p>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">FAST_BITWISE</span>
= <span class="phpdocumentor-signature__default-value">false</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_FAST_BITWISE#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\parent::bitwise_leftRotate()">parent::bitwise_leftRotate()</abbr></span>
</dd>
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\parent::bitwise_rightRotate()">parent::bitwise_rightRotate()</abbr></span>
</dd>
</dl>
</article>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_PRIMES">
PRIMES
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#constant_PRIMES" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">28</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.28" class="phpdocumentor-element-found-in__source" data-line="28" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">PRIMES</span>
= <span class="phpdocumentor-signature__default-value">[3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]</span>
</code>
</article>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_VARIABLE">
VARIABLE
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#constant_VARIABLE" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-base.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php">Base.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">31</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.31" class="phpdocumentor-element-found-in__source" data-line="31" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Cache constants</p>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">VARIABLE</span>
= <span class="phpdocumentor-signature__default-value">0</span>
</code>
<section class="phpdocumentor-description"><p>$cache[self::VARIABLE] tells us whether or not the cached data is still valid.</p>
</section>
</article>
</section>
<section class="phpdocumentor-properties">
<h3 class="phpdocumentor-elements__header" id="properties">
Properties
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article
class="
phpdocumentor-element
-property
-protected
"
>
<h4 class="phpdocumentor-element__name" id="property_bitmask">
$bitmask
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_bitmask" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">105</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.105" class="phpdocumentor-element-found-in__source" data-line="105" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Precision Bitmask</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__type">static|false</span>
<span class="phpdocumentor-signature__name">$bitmask</span>
= <span class="phpdocumentor-signature__default-value">false</span></code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_bitmask#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\static::setPrecision()">static::setPrecision()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-protected
"
>
<h4 class="phpdocumentor-element__name" id="property_hex">
$hex
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_hex" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">121</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.121" class="phpdocumentor-element-found-in__source" data-line="121" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Mode independent value used for serialization.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$hex</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_hex#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\self::__sleep()">self::__sleep()</abbr></span>
</dd>
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\self::__wakeup()">self::__wakeup()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-protected
"
>
<h4 class="phpdocumentor-element__name" id="property_is_negative">
$is_negative
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_is_negative" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">89</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.89" class="phpdocumentor-element-found-in__source" data-line="89" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Holds the BigInteger&#039;s sign</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__type">bool</span>
<span class="phpdocumentor-signature__name">$is_negative</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="property_isValidEngine">
$isValidEngine
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_isValidEngine" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">75</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.75" class="phpdocumentor-element-found-in__source" data-line="75" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Engine Validity Flag</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$isValidEngine</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="property_modexpEngine">
$modexpEngine
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_modexpEngine" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">68</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.68" class="phpdocumentor-element-found-in__source" data-line="68" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Modular Exponentiation Engine</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$modexpEngine</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="property_one">
$one
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_one" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">54</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.54" class="phpdocumentor-element-found-in__source" data-line="54" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">BigInteger(1)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$one</span>
= <span class="phpdocumentor-signature__default-value">[]</span></code>
</article>
<article
class="
phpdocumentor-element
-property
-protected
"
>
<h4 class="phpdocumentor-element__name" id="property_precision">
$precision
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_precision" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">97</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.97" class="phpdocumentor-element-found-in__source" data-line="97" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Precision</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__type">int</span>
<span class="phpdocumentor-signature__name">$precision</span>
= <span class="phpdocumentor-signature__default-value">-1</span></code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_precision#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\static::setPrecision()">static::setPrecision()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-protected
"
>
<h4 class="phpdocumentor-element__name" id="property_reduce">
$reduce
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_reduce" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">112</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.112" class="phpdocumentor-element-found-in__source" data-line="112" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Recurring Modulo Function</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__type">callable</span>
<span class="phpdocumentor-signature__name">$reduce</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="property_two">
$two
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_two" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">61</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.61" class="phpdocumentor-element-found-in__source" data-line="61" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">BigInteger(2)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$two</span>
= <span class="phpdocumentor-signature__default-value">[]</span></code>
</article>
<article
class="
phpdocumentor-element
-property
-protected
"
>
<h4 class="phpdocumentor-element__name" id="property_value">
$value
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_value" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">82</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.82" class="phpdocumentor-element-found-in__source" data-line="82" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Holds the BigInteger&#039;s value</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__type"><abbr title="\GMP">GMP</abbr>|string|array&lt;string|int, mixed&gt;|int</span>
<span class="phpdocumentor-signature__name">$value</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="property_zero">
$zero
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_zero" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">47</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.47" class="phpdocumentor-element-found-in__source" data-line="47" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">BigInteger(0)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$zero</span>
= <span class="phpdocumentor-signature__default-value">[]</span></code>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_custom_reduction">
$custom_reduction
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#property_custom_reduction" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-reductions-evalbarrett.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php">EvalBarrett.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">31</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.31" class="phpdocumentor-element-found-in__source" data-line="31" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Custom Reduction Function</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$custom_reduction</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#property_custom_reduction#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath\Reductions\self::generateCustomReduction">self::generateCustomReduction</abbr></span>
</dd>
</dl>
</article>
</section>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___construct">
__construct()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">59</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.59" class="phpdocumentor-element-found-in__source" data-line="59" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Default constructor</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">0</span><span> ]</span></span><span class="phpdocumentor-signature__argument"><span>[</span><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$base</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">10</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">mixed</span>
= <span class="phpdocumentor-signature__argument__default-value">0</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>integer Base-10 number or base-$base number if $base set.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$base</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
= <span class="phpdocumentor-signature__argument__default-value">10</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method___construct#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\parent::__construct()">parent::__construct()</abbr></span>
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___debugInfo">
__debugInfo()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___debugInfo" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">403</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.403" class="phpdocumentor-element-found-in__source" data-line="403" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">__debugInfo() magic method</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__debugInfo</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Will be called, automatically, when print_r() or var_dump() are called</p>
</section>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___sleep">
__sleep()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___sleep" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">341</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.341" class="phpdocumentor-element-found-in__source" data-line="341" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Serialize</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__sleep</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Will be called, automatically, when serialize() is called on a BigInteger object.</p>
</section>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___toString">
__toString()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___toString" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">391</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.391" class="phpdocumentor-element-found-in__source" data-line="391" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Converts a BigInteger to a base-10 number.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__toString</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___wakeup">
__wakeup()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___wakeup" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">358</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.358" class="phpdocumentor-element-found-in__source" data-line="358" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Serialize</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__wakeup</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">void</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Will be called, automatically, when unserialize() is called on a BigInteger object.</p>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_abs">
abs()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_abs" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">310</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.310" class="phpdocumentor-element-found-in__source" data-line="310" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Absolute value.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">abs</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_add">
add()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_add" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">167</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.167" class="phpdocumentor-element-found-in__source" data-line="167" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Adds two BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">add</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$y</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$y</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_between">
between()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_between" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">624</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.624" class="phpdocumentor-element-found-in__source" data-line="624" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Tests BigInteger to see if it is between two integers, inclusive</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">between</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$min</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$max</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$min</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$max</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_and">
bitwise_and()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_and" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">326</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.326" class="phpdocumentor-element-found-in__source" data-line="326" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical And</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_and</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_leftRotate">
bitwise_leftRotate()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_leftRotate" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">532</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.532" class="phpdocumentor-element-found-in__source" data-line="532" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Left Rotate</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_leftRotate</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$shift</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Instead of the top x bits being dropped they're appended to the shifted bit string.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$shift</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_leftShift">
bitwise_leftShift()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_leftShift" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">377</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.377" class="phpdocumentor-element-found-in__source" data-line="377" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Left Shift</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_leftShift</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$shift</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Shifts BigInteger's by $shift bits, effectively multiplying by 2**$shift.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$shift</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_not">
bitwise_not()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_not" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">463</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.463" class="phpdocumentor-element-found-in__source" data-line="463" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Not</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_not</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>|string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>|string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_or">
bitwise_or()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_or" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">337</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.337" class="phpdocumentor-element-found-in__source" data-line="337" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Or</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_or</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_rightRotate">
bitwise_rightRotate()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_rightRotate" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">576</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.576" class="phpdocumentor-element-found-in__source" data-line="576" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Right Rotate</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_rightRotate</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$shift</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Instead of the bottom x bits being dropped they're prepended to the shifted bit string.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$shift</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_rightShift">
bitwise_rightShift()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_rightShift" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">361</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.361" class="phpdocumentor-element-found-in__source" data-line="361" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Right Shift</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_rightShift</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$shift</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Shifts BigInteger's by $shift bits, effectively dividing by 2**$shift.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$shift</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_split">
bitwise_split()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_split" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1224</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1224" class="phpdocumentor-element-found-in__source" data-line="1224" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Bitwise Split</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_split</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$split</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array&lt;string|int, <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&gt;</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Splits BigInteger's into chunks of $split bits</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$split</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&gt;</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwise_xor">
bitwise_xor()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_xor" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">348</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.348" class="phpdocumentor-element-found-in__source" data-line="348" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Exclusive Or</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">bitwise_xor</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_compare">
compare()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_compare" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">403</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.403" class="phpdocumentor-element-found-in__source" data-line="403" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Compares two numbers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">compare</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$y</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Although one might think !$x-&gt;compare($y) means $x != $y, it, in fact, means the opposite. The reason for this
is demonstrated thusly:</p>
<p>$x &gt; $y: $x-&gt;compare($y) &gt; 0
$x &lt; $y: $x-&gt;compare($y) &lt; 0
$x == $y: $x-&gt;compare($y) == 0</p>
<p>Note how the same comparison operator is used. If you want to test for equality, use $x-&gt;equals($y).</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$y</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_compare#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\self::equals()">self::equals()</abbr></span>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
&mdash;
<section class="phpdocumentor-description"><p>in case &lt; 0 if $this is less than $y; &gt; 0 if $this is greater than $y, and 0 if they are equal.</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_createRecurringModuloFunction">
createRecurringModuloFunction()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_createRecurringModuloFunction" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1151</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1151" class="phpdocumentor-element-found-in__source" data-line="1151" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Create Recurring Modulo Function</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">createRecurringModuloFunction</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">callable</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Sometimes it may be desirable to do repeated modulos with the same number outside of
modular exponentiation</p>
</section>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">callable</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_divide">
divide()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_divide" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">214</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.214" class="phpdocumentor-element-found-in__source" data-line="214" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Divides two BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">divide</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$y</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array{: static, : static}</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Returns an array whose first element contains the quotient and whose second element contains the
&quot;common residue&quot;. If the remainder would be positive, the &quot;common residue&quot; and the remainder are the
same. If the remainder would be negative, the &quot;common residue&quot; is equal to the sum of the remainder
and the divisor (basically, the &quot;common residue&quot; is the first positive modulo).</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$y</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array{: static, : static}</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_equals">
equals()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_equals" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">416</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.416" class="phpdocumentor-element-found-in__source" data-line="416" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Tests the equality of two numbers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">equals</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>If you need to see if one number is greater than or less than another number, use BigInteger::compare()</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_extendedGCD">
extendedGCD()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_extendedGCD" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">253</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.253" class="phpdocumentor-element-found-in__source" data-line="253" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Calculates the greatest common divisor and Bezout&#039;s identity.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">extendedGCD</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array{gcd: static, x: static, y: static}</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Say you have 693 and 609. The GCD is 21. Bezout's identity states that there exist integers x and y such that
693<em>x + 609</em>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
<a href="http://en.wikipedia.org/wiki/B%C3%A9zout%27s_identity">Bezout's identity - Wikipedia</a> for more information.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array{gcd: static, x: static, y: static}</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_gcd">
gcd()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_gcd" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">298</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.298" class="phpdocumentor-element-found-in__source" data-line="298" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Calculates the greatest common divisor</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">gcd</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Say you have 693 and 609. The GCD is 21.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getLength">
getLength()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getLength" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">610</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.610" class="phpdocumentor-element-found-in__source" data-line="610" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Return the size of a BigInteger in bits</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getLength</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getLengthInBytes">
getLengthInBytes()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getLengthInBytes" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">620</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.620" class="phpdocumentor-element-found-in__source" data-line="620" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Return the size of a BigInteger in bytes</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getLengthInBytes</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getPrecision">
getPrecision()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getPrecision" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">442</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.442" class="phpdocumentor-element-found-in__source" data-line="442" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Get Precision</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getPrecision</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Returns the precision if it exists, -1 if it doesn't</p>
</section>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_isNegative">
isNegative()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_isNegative" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">671</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.671" class="phpdocumentor-element-found-in__source" data-line="671" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Is Negative?</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">isNegative</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_isOdd">
isOdd()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_isOdd" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">647</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.647" class="phpdocumentor-element-found-in__source" data-line="647" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Is Odd?</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">isOdd</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_isPrime">
isPrime()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_isPrime" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">996</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.996" class="phpdocumentor-element-found-in__source" data-line="996" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Checks a numer to see if it&#039;s prime</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">isPrime</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">int|bool&nbsp;</span><span class="phpdocumentor-signature__argument__name">$t</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">false</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Assuming the $t parameter is not set, this function has an error rate of 2**-80. The main motivation for the
$t parameter is distributability. BigInteger::randomPrime() can be distributed across multiple pageloads
on a website instead of just one.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$t</span>
: <span class="phpdocumentor-signature__argument__return-type">int|bool</span>
= <span class="phpdocumentor-signature__argument__default-value">false</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_isValidEngine">
isValidEngine()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_isValidEngine" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-base.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php">Base.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">43</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.43" class="phpdocumentor-element-found-in__source" data-line="43" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Test for engine validity</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">isValidEngine</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_jsonSerialize">
jsonSerialize()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_jsonSerialize" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">376</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.376" class="phpdocumentor-element-found-in__source" data-line="376" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">JSON Serialize</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">jsonSerialize</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Will be called, automatically, when json_encode() is called on a BigInteger object.</p>
</section>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_jsonSerialize#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">@return</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>array{hex: string, precision?: int]</p>
</section>
</dd>
</dl>
<section class="phpdocumentor-attributes">
<h5 class="phpdocumentor-elements__header" id="attributes">
Attributes <a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_jsonSerialize#attributes" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
#[<abbr title="\ReturnTypeWillChange">ReturnTypeWillChange</abbr>]
</dt>
</dl>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_max">
max()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_max" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">612</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.612" class="phpdocumentor-element-found-in__source" data-line="612" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Return the maximum BigInteger between an arbitrary number of BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">max</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__variadic-operator">...</span><span class="phpdocumentor-signature__argument__name">$nums</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$nums</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_min">
min()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_min" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">601</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.601" class="phpdocumentor-element-found-in__source" data-line="601" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Return the minimum BigInteger between an arbitrary number of BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">min</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__variadic-operator">...</span><span class="phpdocumentor-signature__argument__name">$nums</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$nums</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_minMaxBits">
minMaxBits()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_minMaxBits" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">587</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.587" class="phpdocumentor-element-found-in__source" data-line="587" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Returns the smallest and largest n-bit number</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">minMaxBits</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$bits</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array{min: static, max: static}</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$bits</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array{min: static, max: static}</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_modInverse">
modInverse()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_modInverse" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">237</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.237" class="phpdocumentor-element-found-in__source" data-line="237" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Calculates modular inverses.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">modInverse</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">false|<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Say you have (30 mod 17 * x mod 17) mod 17 == 1. x can be found using modular inverses.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">false|<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_modPow">
modPow()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_modPow" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">428</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.428" class="phpdocumentor-element-found-in__source" data-line="428" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs modular exponentiation.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">modPow</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$e</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$e</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_multiply">
multiply()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_multiply" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">195</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.195" class="phpdocumentor-element-found-in__source" data-line="195" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Multiplies two BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">multiply</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_negate">
negate()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_negate" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">683</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.683" class="phpdocumentor-element-found-in__source" data-line="683" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Negate</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">negate</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Given $k, returns -$k</p>
</section>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_pow">
pow()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_pow" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">587</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.587" class="phpdocumentor-element-found-in__source" data-line="587" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs exponentiation.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">pow</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_powMod">
powMod()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_powMod" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">442</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.442" class="phpdocumentor-element-found-in__source" data-line="442" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs modular exponentiation.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">powMod</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$e</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Alias for modPow().</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$e</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_random">
random()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_random" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">741</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.741" class="phpdocumentor-element-found-in__source" data-line="741" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Generates a random number of a certain size</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">random</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$size</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Bit length is equal to $size</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$size</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_randomPrime">
randomPrime()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomPrime" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">759</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.759" class="phpdocumentor-element-found-in__source" data-line="759" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Generates a random prime number of a certain size</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">randomPrime</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$size</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Bit length is equal to $size</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$size</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_randomRange">
randomRange()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_randomRange" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">511</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.511" class="phpdocumentor-element-found-in__source" data-line="511" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Generate a random number between a range</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">randomRange</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$min</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$max</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Returns a random number between $min and $max where $min and $max
can be defined using one of the two methods:</p>
<p>BigInteger::randomRange($min, $max)
BigInteger::randomRange($max, $min)</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$min</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$max</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_randomRangePrime">
randomRangePrime()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_randomRangePrime" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">493</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.493" class="phpdocumentor-element-found-in__source" data-line="493" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Generate a random prime number between a range</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">randomRangePrime</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$min</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$max</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">false|<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>If there's not a prime within the given range, false will be returned.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$min</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$max</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">false|<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_root">
root()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_root" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1102</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1102" class="phpdocumentor-element-found-in__source" data-line="1102" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Calculates the nth root of a biginteger.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">root</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">2</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
= <span class="phpdocumentor-signature__argument__default-value">2</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_scan1divide">
scan1divide()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_scan1divide" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">568</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.568" class="phpdocumentor-element-found-in__source" data-line="568" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Scan for 1 and right shift by that amount</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">scan1divide</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$r</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>ie. $s = gmp_scan1($n, 0) and $r = gmp_div_q($n, gmp_pow(gmp_init('2'), $s));</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$r</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_scan1divide#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\self::isPrime()">self::isPrime()</abbr></span>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
-static "
>
<h4 class="phpdocumentor-element__name" id="method_setModExpEngine">
setModExpEngine()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setModExpEngine" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">224</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.224" class="phpdocumentor-element-found-in__source" data-line="224" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Sets engine type.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">setModExpEngine</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><abbr title="class-string<\phpseclib3\Math\BigInteger\Engines\Engine>">Engine></abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$engine</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Throws an exception if the type is invalid</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$engine</span>
: <span class="phpdocumentor-signature__argument__return-type"><abbr title="class-string<\phpseclib3\Math\BigInteger\Engines\Engine>">Engine></abbr></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_setPrecision">
setPrecision()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setPrecision" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">420</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.420" class="phpdocumentor-element-found-in__source" data-line="420" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Set Precision</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">setPrecision</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$bits</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Some bitwise operations give different results depending on the precision being used. Examples include left
shift, not, and rotates.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$bits</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_subtract">
subtract()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_subtract" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">181</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.181" class="phpdocumentor-element-found-in__source" data-line="181" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Subtracts two BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">subtract</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$y</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$y</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_testBit">
testBit()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_testBit" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">657</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.657" class="phpdocumentor-element-found-in__source" data-line="657" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Tests if a bit is set</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">testBit</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">mixed</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_toBits">
toBits()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toBits" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">284</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.284" class="phpdocumentor-element-found-in__source" data-line="284" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Converts a BigInteger to a bit string (eg. base-2).</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">toBits</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">bool&nbsp;</span><span class="phpdocumentor-signature__argument__name">$twos_compliment</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">false</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're
saved as two's compliment.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$twos_compliment</span>
: <span class="phpdocumentor-signature__argument__return-type">bool</span>
= <span class="phpdocumentor-signature__argument__default-value">false</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_toBytes">
toBytes()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_toBytes" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">137</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.137" class="phpdocumentor-element-found-in__source" data-line="137" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Converts a BigInteger to a byte string (eg. base-256).</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">toBytes</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">bool&nbsp;</span><span class="phpdocumentor-signature__argument__name">$twos_compliment</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">false</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$twos_compliment</span>
: <span class="phpdocumentor-signature__argument__return-type">bool</span>
= <span class="phpdocumentor-signature__argument__default-value">false</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_toHex">
toHex()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toHex" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">270</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.270" class="phpdocumentor-element-found-in__source" data-line="270" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Converts a BigInteger to a hex string (eg. base-16).</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">toHex</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">bool&nbsp;</span><span class="phpdocumentor-signature__argument__name">$twos_compliment</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">false</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$twos_compliment</span>
: <span class="phpdocumentor-signature__argument__return-type">bool</span>
= <span class="phpdocumentor-signature__argument__default-value">false</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_toString">
toString()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_toString" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">122</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.122" class="phpdocumentor-element-found-in__source" data-line="122" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Converts a BigInteger to a base-10 number.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">toString</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_base256_lshift">
base256_lshift()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_base256_lshift" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">505</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.505" class="phpdocumentor-element-found-in__source" data-line="505" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Left Shift</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">base256_lshift</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__reference-operator">&amp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$shift</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">void</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Shifts binary strings $shift bits, essentially multiplying by 2**$shift.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$shift</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwiseAndHelper">
bitwiseAndHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseAndHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1249</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1249" class="phpdocumentor-element-found-in__source" data-line="1249" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical And</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">bitwiseAndHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwiseOrHelper">
bitwiseOrHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseOrHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1268</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1268" class="phpdocumentor-element-found-in__source" data-line="1268" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Or</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">bitwiseOrHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_bitwiseXorHelper">
bitwiseXorHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseXorHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1287</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1287" class="phpdocumentor-element-found-in__source" data-line="1287" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Logical Exclusive Or</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">bitwiseXorHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_extendedGCDHelper">
extendedGCDHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_extendedGCDHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1180</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1180" class="phpdocumentor-element-found-in__source" data-line="1180" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Calculates the greatest common divisor and Bezout&#039;s identity.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">extendedGCDHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><abbr title="array{gcd: \phpseclib3\Math\BigInteger\Engines\Engine, x: \phpseclib3\Math\BigInteger\Engines\Engine, y: \phpseclib3\Math\BigInteger\Engines\Engine}">Engine}</abbr></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="array{gcd: \phpseclib3\Math\BigInteger\Engines\Engine, x: \phpseclib3\Math\BigInteger\Engines\Engine, y: \phpseclib3\Math\BigInteger\Engines\Engine}">Engine}</abbr></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_generateCustomReduction">
generateCustomReduction()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#method_generateCustomReduction" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-reductions-evalbarrett.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php">EvalBarrett.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">56</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.56" class="phpdocumentor-element-found-in__source" data-line="56" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Generate Custom Reduction</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">generateCustomReduction</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$class</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">callable|void</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$class</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">callable|void</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_initialize">
initialize()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_initialize" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">79</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.79" class="phpdocumentor-element-found-in__source" data-line="79" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Initialize a BCMath BigInteger Engine instance</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">initialize</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$base</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$base</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_initialize#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\parent::__construct()">parent::__construct()</abbr></span>
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_make_odd">
make_odd()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_make_odd" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">523</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.523" class="phpdocumentor-element-found-in__source" data-line="523" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Make the current number odd</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">make_odd</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>If the current number is odd it'll be unchanged. If it's even, one will be added to it.</p>
</section>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_make_odd#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\self::randomPrime()">self::randomPrime()</abbr></span>
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_maxHelper">
maxHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_maxHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1131</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1131" class="phpdocumentor-element-found-in__source" data-line="1131" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Return the minimum BigInteger between an arbitrary number of BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">maxHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__name">$nums</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$nums</span>
: <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_minHelper">
minHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_minHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1113</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1113" class="phpdocumentor-element-found-in__source" data-line="1113" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Return the minimum BigInteger between an arbitrary number of BigIntegers.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">minHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__name">$nums</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$nums</span>
: <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_modInverseHelper">
modInverseHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_modInverseHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">308</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.308" class="phpdocumentor-element-found-in__source" data-line="308" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Calculates modular inverses.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">modInverseHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">static|false</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Say you have (30 mod 17 * x mod 17) mod 17 == 1. x can be found using modular inverses.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">static|false</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_multiplyReduce">
multiplyReduce()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_multiplyReduce" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-base.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php">Base.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">92</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.92" class="phpdocumentor-element-found-in__source" data-line="92" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Modular multiply</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">multiplyReduce</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$y</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$class</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$y</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$class</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_multiplyReduce#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath\self::slidingWindow()">self::slidingWindow()</abbr></span>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_normalize">
normalize()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_normalize" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">472</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.472" class="phpdocumentor-element-found-in__source" data-line="472" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Normalize</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">normalize</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$result</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Removes leading zeros and truncates (if necessary) to maintain the appropriate precision</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$result</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_powModHelper">
powModHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_powModHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-base.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php">Base.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">57</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.57" class="phpdocumentor-element-found-in__source" data-line="57" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs modular exponentiation.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">powModHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$e</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$class</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$e</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$class</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_powModInner">
powModInner()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_powModInner" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">454</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.454" class="phpdocumentor-element-found-in__source" data-line="454" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs modular exponentiation.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">powModInner</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$e</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$e</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath">BCMath</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_powModOuter">
powModOuter()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_powModOuter" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">632</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.632" class="phpdocumentor-element-found-in__source" data-line="632" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs some pre-processing for powMod</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">powModOuter</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$e</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">static|false</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$e</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">static|false</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_prepareReduce">
prepareReduce()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_prepareReduce" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-base.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php">Base.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">77</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.77" class="phpdocumentor-element-found-in__source" data-line="77" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Modular reduction preparation</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">prepareReduce</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$class</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$class</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_prepareReduce#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath\self::slidingWindow()">self::slidingWindow()</abbr></span>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_randomRangeHelper">
randomRangeHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangeHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">812</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.812" class="phpdocumentor-element-found-in__source" data-line="812" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Generate a random number between a range</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">randomRangeHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$min</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$max</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Returns a random number between $min and $max where $min and $max
can be defined using one of the two methods:</p>
<p>BigInteger::randomRange($min, $max)
BigInteger::randomRange($max, $min)</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$min</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$max</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_randomRangePrimeInner">
randomRangePrimeInner()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangePrimeInner" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">876</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.876" class="phpdocumentor-element-found-in__source" data-line="876" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs some post-processing for randomRangePrime</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">randomRangePrimeInner</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$min</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$max</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">static|false</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$min</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$max</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">static|false</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_randomRangePrimeOuter">
randomRangePrimeOuter()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangePrimeOuter" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">776</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.776" class="phpdocumentor-element-found-in__source" data-line="776" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs some pre-processing for randomRangePrime</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">randomRangePrimeOuter</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$min</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$max</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">static|false</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$min</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$max</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">static|false</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_reduce">
reduce()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#method_reduce" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-reductions-evalbarrett.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php">EvalBarrett.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">43</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.43" class="phpdocumentor-element-found-in__source" data-line="43" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Barrett Modular Reduction</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">reduce</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>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.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_rootHelper">
rootHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_rootHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1019</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1019" class="phpdocumentor-element-found-in__source" data-line="1019" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Performs a few preliminary checks on root</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">rootHelper</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_rootInner">
rootInner()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_rootInner" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1044</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.1044" class="phpdocumentor-element-found-in__source" data-line="1044" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Calculates the nth root of a biginteger.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">rootInner</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Returns the nth root of a positive biginteger, where n defaults to 2</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_setBitmask">
setBitmask()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_setBitmask" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">636</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.636" class="phpdocumentor-element-found-in__source" data-line="636" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Set Bitmask</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">setBitmask</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$bits</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$bits</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_setBitmask#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\self::setPrecision()">self::setPrecision()</abbr></span>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_setupIsPrime">
setupIsPrime()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setupIsPrime" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">920</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.920" class="phpdocumentor-element-found-in__source" data-line="920" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Sets the $t parameter for primality testing</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">setupIsPrime</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_slidingWindow">
slidingWindow()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_slidingWindow" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">670</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.670" class="phpdocumentor-element-found-in__source" data-line="670" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Sliding Window k-ary Modular Exponentiation</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">slidingWindow</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$e</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><abbr title="class-string<\phpseclib3\Math\BigInteger\Engines\T>">T></abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$class</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><abbr title="\phpseclib3\Math\BigInteger\Engines\T">T</abbr></span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Based on <a href="http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=27">HAC 14.85</a> /
<a href="http://math.libtomcrypt.com/files/tommath.pdf#page=210">MPM 7.7</a>. In a departure from those algorithims,
however, this function performs a modular reduction after every multiplication and squaring operation.
As such, this function has the same preconditions that the reductions being used do.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$e</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html"><abbr title="\phpseclib3\Math\BigInteger\Engines\Engine">Engine</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$class</span>
: <span class="phpdocumentor-signature__argument__return-type"><abbr title="class-string<\phpseclib3\Math\BigInteger\Engines\T>">T></abbr></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_slidingWindow#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">template</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\phpseclib3\Math\BigInteger\Engines\T">T</abbr></span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
-static "
>
<h4 class="phpdocumentor-element__name" id="method_squareReduce">
squareReduce()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_squareReduce" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath-base.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php">Base.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">106</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.106" class="phpdocumentor-element-found-in__source" data-line="106" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Modular square</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">squareReduce</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$n</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$class</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$n</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$class</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_squareReduce#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\BCMath\self::slidingWindow()">self::slidingWindow()</abbr></span>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_testPrimality">
testPrimality()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_testPrimality" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">952</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.952" class="phpdocumentor-element-found-in__source" data-line="952" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Tests Primality</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">testPrimality</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$t</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Uses the <a href="http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test">Miller-Rabin primality test</a>.
See <a href="http://www.cacr.math.uwaterloo.ca/hac/about/chap4.pdf#page=8">HAC 4.24</a> for more info.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$t</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_testSmallPrimes">
testSmallPrimes()
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_testSmallPrimes" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-bcmath.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php">BCMath.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">535</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.535" class="phpdocumentor-element-found-in__source" data-line="535" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Test the number against small primes.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">testSmallPrimes</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_testSmallPrimes#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Math\BigInteger\Engines\self::isPrime()">self::isPrime()</abbr></span>
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-protected
"
>
<h4 class="phpdocumentor-element__name" id="method_toBytesHelper">
toBytesHelper()
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toBytesHelper" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-math-biginteger-engines-engine.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php">Engine.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">243</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#source-view.243" class="phpdocumentor-element-found-in__source" data-line="243" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Converts a BigInteger to a byte string (eg. base-256).</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">protected</span>
<span class="phpdocumentor-signature__name">toBytesHelper</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're
saved as two's compliment.</p>
</section>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
</section>
<div class="phpdocumentor-modal" id="source-view">
<div class="phpdocumentor-modal-bg" data-exit-button></div>
<div class="phpdocumentor-modal-container">
<div class="phpdocumentor-modal-content">
<pre style="max-height: 500px; overflow-y: scroll" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php.txt" class="language-php line-numbers linkable-line-numbers"></pre>
</div>
<button data-exit-button class="phpdocumentor-modal__close">&times;</button>
</div>
</div>
<script type="text/javascript">
(function () {
function loadExternalCodeSnippet(el, url, line) {
Array.prototype.slice.call(el.querySelectorAll('pre[data-src]')).forEach((pre) => {
const src = url || pre.getAttribute('data-src').replace(/\\/g, '/');
const language = 'php';
const code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
pre.setAttribute('data-line', line)
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4) {
return;
}
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
return;
}
if (xhr.status === 404) {
code.textContent = '✖ Error: File could not be found';
return;
}
if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
return;
}
code.textContent = '✖ Error: An unknown error occurred';
};
xhr.send(null);
});
}
const modalButtons = document.querySelectorAll("[data-modal]");
const openedAsLocalFile = window.location.protocol === 'file:';
if (modalButtons.length > 0 && openedAsLocalFile) {
console.warn(
'Viewing the source code is unavailable because you are opening this page from the file:// scheme; ' +
'browsers block XHR requests when a page is opened this way'
);
}
modalButtons.forEach(function (trigger) {
if (openedAsLocalFile) {
trigger.setAttribute("hidden", "hidden");
}
trigger.addEventListener("click", function (event) {
event.preventDefault();
const modal = document.getElementById(trigger.dataset.modal);
if (!modal) {
console.error(`Modal with id "${trigger.dataset.modal}" could not be found`);
return;
}
modal.classList.add("phpdocumentor-modal__open");
loadExternalCodeSnippet(modal, trigger.dataset.src || null, trigger.dataset.line)
const exits = modal.querySelectorAll("[data-exit-button]");
exits.forEach(function (exit) {
exit.addEventListener("click", function (event) {
event.preventDefault();
modal.classList.remove("phpdocumentor-modal__open");
});
});
});
});
})();
</script>
</article>
</section>
<section class="phpdocumentor-on-this-page__sidebar">
<section class="phpdocumentor-on-this-page__content">
<strong class="phpdocumentor-on-this-page__title">On this page</strong>
<ul class="phpdocumentor-list -clean">
<li class="phpdocumentor-on-this-page-section__title">Table Of Contents</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#toc-constants">Constants</a></li>
<li><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#toc-properties">Properties</a></li>
<li><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#toc-methods">Methods</a></li>
</ul>
</li>
<li class="phpdocumentor-on-this-page-section__title">Constants</li>
<li>
<ul class="phpdocumentor-list -clean">
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#constant_DATA">DATA</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_ENGINE_DIR">ENGINE_DIR</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#constant_FAST_BITWISE">FAST_BITWISE</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#constant_PRIMES">PRIMES</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#constant_VARIABLE">VARIABLE</a></li>
</ul>
</li>
<li class="phpdocumentor-on-this-page-section__title">Properties</li>
<li>
<ul class="phpdocumentor-list -clean">
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_bitmask">$bitmask</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_hex">$hex</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_is_negative">$is_negative</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_isValidEngine">$isValidEngine</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_modexpEngine">$modexpEngine</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_one">$one</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_precision">$precision</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_reduce">$reduce</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_two">$two</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_value">$value</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#property_zero">$zero</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#property_custom_reduction">$custom_reduction</a></li>
</ul>
</li>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___debugInfo">__debugInfo()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___sleep">__sleep()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___toString">__toString()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method___wakeup">__wakeup()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_abs">abs()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_add">add()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_between">between()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_and">bitwise_and()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_leftRotate">bitwise_leftRotate()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_leftShift">bitwise_leftShift()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_not">bitwise_not()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_or">bitwise_or()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_rightRotate">bitwise_rightRotate()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_rightShift">bitwise_rightShift()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwise_split">bitwise_split()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_bitwise_xor">bitwise_xor()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_compare">compare()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_createRecurringModuloFunction">createRecurringModuloFunction()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_divide">divide()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_equals">equals()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_extendedGCD">extendedGCD()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_gcd">gcd()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getLength">getLength()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getLengthInBytes">getLengthInBytes()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_getPrecision">getPrecision()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_isNegative">isNegative()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_isOdd">isOdd()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_isPrime">isPrime()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_isValidEngine">isValidEngine()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_jsonSerialize">jsonSerialize()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_max">max()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_min">min()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_minMaxBits">minMaxBits()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_modInverse">modInverse()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_modPow">modPow()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_multiply">multiply()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_negate">negate()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_pow">pow()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_powMod">powMod()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_random">random()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomPrime">randomPrime()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_randomRange">randomRange()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_randomRangePrime">randomRangePrime()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_root">root()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_scan1divide">scan1divide()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setModExpEngine">setModExpEngine()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setPrecision">setPrecision()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_subtract">subtract()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_testBit">testBit()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toBits">toBits()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_toBytes">toBytes()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toHex">toHex()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_toString">toString()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_base256_lshift">base256_lshift()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseAndHelper">bitwiseAndHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseOrHelper">bitwiseOrHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_bitwiseXorHelper">bitwiseXorHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_extendedGCDHelper">extendedGCDHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#method_generateCustomReduction">generateCustomReduction()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_initialize">initialize()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_make_odd">make_odd()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_maxHelper">maxHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_minHelper">minHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_modInverseHelper">modInverseHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_multiplyReduce">multiplyReduce()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_normalize">normalize()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_powModHelper">powModHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_powModInner">powModInner()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_powModOuter">powModOuter()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_prepareReduce">prepareReduce()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangeHelper">randomRangeHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangePrimeInner">randomRangePrimeInner()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_randomRangePrimeOuter">randomRangePrimeOuter()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#method_reduce">reduce()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_rootHelper">rootHelper()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_rootInner">rootInner()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_setBitmask">setBitmask()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_setupIsPrime">setupIsPrime()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_slidingWindow">slidingWindow()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Base.html#method_squareReduce">squareReduce()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_testPrimality">testPrimality()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath.html#method_testSmallPrimes">testSmallPrimes()</a></li>
<li class=""><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#method_toBytesHelper">toBytesHelper()</a></li>
</ul>
</li>
</ul>
</section>
</section>
</div>
<section data-search-results class="phpdocumentor-search-results phpdocumentor-search-results--hidden">
<section class="phpdocumentor-search-results__dialog">
<header class="phpdocumentor-search-results__header">
<h2 class="phpdocumentor-search-results__title">Search results</h2>
<button class="phpdocumentor-search-results__close"><i class="fas fa-times"></i></button>
</header>
<section class="phpdocumentor-search-results__body">
<ul class="phpdocumentor-search-results__entries"></ul>
</section>
</section>
</section>
</div>
<a href="classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-EvalBarrett.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>
<script>
cssVars({});
</script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/prism.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.min.js"></script>
</body>
</html>