mainwp.dev/source-code/child/classes/phpseclib3-Math-BigInteger-Engines-Engine.html
2025-03-17 19:02:54 -04:00

3534 lines
196 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>
</ul>
<article class="phpdocumentor-element -class">
<h2 class="phpdocumentor-content__title">
Engine
<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>
<span class="phpdocumentor-element__implements">
implements
<abbr title="\JsonSerializable">JsonSerializable</abbr> </span>
</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/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">26</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#source-view.26" class="phpdocumentor-element-found-in__source" data-line="26" 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">Base Engine.</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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-Engine.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<h4 id="toc-interfaces">
Interfaces
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#toc-interfaces" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -interface"><abbr title="\JsonSerializable">JsonSerializable</abbr></dt> </dl>
<h4 id="toc-constants">
Constants
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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-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>
</dl>
<h4 id="toc-properties">
Properties
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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>
</dl>
<h4 id="toc-methods">
Methods
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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-Engine.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-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-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-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-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-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-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-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-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-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-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-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-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-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-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 -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-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-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-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-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-Engine.html#method_setBitmask">setBitmask()</a>
<span>
&nbsp;: static </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-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-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-Engine.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_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-Engine.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>
</section>
<section class="phpdocumentor-properties">
<h3 class="phpdocumentor-elements__header" id="properties">
Properties
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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>
</section>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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-Engine.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/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">129</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#source-view.129" class="phpdocumentor-element-found-in__source" data-line="129" 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">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">int|numeric-string&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">int|numeric-string</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>
</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-Engine.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-Engine.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-Engine.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-Engine.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_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-Engine.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_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-Engine.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_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-Engine.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_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-Engine.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_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-Engine.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_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-Engine.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-Engine.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-Engine.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_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-Engine.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
"
>
<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-Engine.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_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-Engine.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
-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-Engine.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-Engine.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
"
>
<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-Engine.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_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-Engine.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-Engine.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_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-Engine.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_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-Engine.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
-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-Engine.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-Engine.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-Engine.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-Engine.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-Engine.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_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-Engine.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-Engine.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-Engine.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
"
>
<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-Engine.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_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-Engine.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-Engine.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-Engine.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
"
>
<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-Engine.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-Engine.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-Engine.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/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">453</span>
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#source-view.453" class="phpdocumentor-element-found-in__source" data-line="453" 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 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">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>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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">static</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-Engine.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-Engine.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
"
>
<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-Engine.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_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-Engine.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/Engine.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-Engine.html#toc-constants">Constants</a></li>
<li><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.html#toc-properties">Properties</a></li>
<li><a href="classes/phpseclib3-Math-BigInteger-Engines-Engine.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-Engine.html#constant_PRIMES">PRIMES</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>
</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-Engine.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-Engine.html#method_bitwise_leftRotate">bitwise_leftRotate()</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-Engine.html#method_bitwise_rightRotate">bitwise_rightRotate()</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-Engine.html#method_createRecurringModuloFunction">createRecurringModuloFunction()</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-Engine.html#method_isPrime">isPrime()</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-Engine.html#method_minMaxBits">minMaxBits()</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-Engine.html#method_root">root()</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-Engine.html#method_toBits">toBits()</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-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-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-Engine.html#method_powModOuter">powModOuter()</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-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-Engine.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-Engine.html#method_testPrimality">testPrimality()</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-Engine.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>