mainwp.dev/source-code/dashboard/classes/phpseclib3-Math-BigInteger-Engines-BCMath-Reductions-Barrett.html
2025-03-17 19:02:54 -04:00

6540 lines
377 KiB
HTML

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