Real 0.1.0-alpha-SNAPSHOT

This commit is contained in:
Reborn 2025-03-15 23:01:32 +00:00
parent 81e0114910
commit 314d2491cd
43 changed files with 3556 additions and 19 deletions

View File

@ -0,0 +1,68 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>All Classes and Interfaces</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-classes-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-files/index-1.html">Index</a></li>
<li><a href="help-doc.html#all-classes">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
</div>
<div id="all-classes-table">
<div class="caption"><span>Classes</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a>&lt;<a href="karatsuba/KaratsubaImplementation.html" title="type parameter in KaratsubaImplementation">T</a>&gt;</div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This class will handle the karatsuba formula implementation</div>
</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,64 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>All Packages</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-packages-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-files/index-1.html">Index</a></li>
<li><a href="help-doc.html#all-packages">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="caption"><span>Package Summary</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="karatsuba/package-summary.html">karatsuba</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,176 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>API Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="help">
<meta name="generator" content="javadoc/HelpWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="help-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-files/index-1.html">Index</a></li>
<li class="nav-bar-cell1-rev">Help</li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Help:&nbsp;</li>
<li><a href="#help-navigation">Navigation</a>&nbsp;|&nbsp;</li>
<li><a href="#help-pages">Pages</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<h1 class="title">JavaDoc Help</h1>
<ul class="help-toc">
<li><a href="#help-navigation">Navigation</a>:
<ul class="help-subtoc">
<li><a href="#help-search">Search</a></li>
</ul>
</li>
<li><a href="#help-pages">Kinds of Pages</a>:
<ul class="help-subtoc">
<li><a href="#package">Package</a></li>
<li><a href="#class">Class or Interface</a></li>
<li><a href="#doc-file">Other Files</a></li>
<li><a href="#use">Use</a></li>
<li><a href="#tree">Tree (Class Hierarchy)</a></li>
<li><a href="#all-packages">All Packages</a></li>
<li><a href="#all-classes">All Classes and Interfaces</a></li>
<li><a href="#index">Index</a></li>
</ul>
</li>
</ul>
<hr>
<div class="sub-title">
<h2 id="help-navigation">Navigation</h2>
Starting from the <a href="index.html">Overview</a> page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The <a href="index-files/index-1.html">Index</a> and Search box allow you to navigate to specific declarations and summary pages, including: <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>
<section class="help-section" id="help-search">
<h3>Search</h3>
<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API, using some or all of the name, optionally using "camelCase" abbreviations. For example:</p>
<ul class="help-section-list">
<li><code>j.l.obj</code> will match "java.lang.Object"</li>
<li><code>InpStr</code> will match "java.io.InputStream"</li>
<li><code>HM.cK</code> will match "java.util.HashMap.containsKey(Object)"</li>
</ul>
<p>Refer to the <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/javadoc-search-spec.html">Javadoc Search Specification</a> for a full description of search features.</p>
</section>
</div>
<hr>
<div class="sub-title">
<h2 id="help-pages">Kinds of Pages</h2>
The following sections describe the different kinds of pages in this collection.
<section class="help-section" id="package">
<h3>Package</h3>
<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:</p>
<ul class="help-section-list">
<li>Interfaces</li>
<li>Classes</li>
<li>Enum Classes</li>
<li>Exceptions</li>
<li>Errors</li>
<li>Annotation Interfaces</li>
</ul>
</section>
<section class="help-section" id="class">
<h3>Class or Interface</h3>
<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.</p>
<ul class="help-section-list">
<li>Class Inheritance Diagram</li>
<li>Direct Subclasses</li>
<li>All Known Subinterfaces</li>
<li>All Known Implementing Classes</li>
<li>Class or Interface Declaration</li>
<li>Class or Interface Description</li>
</ul>
<br>
<ul class="help-section-list">
<li>Nested Class Summary</li>
<li>Enum Constant Summary</li>
<li>Field Summary</li>
<li>Property Summary</li>
<li>Constructor Summary</li>
<li>Method Summary</li>
<li>Required Element Summary</li>
<li>Optional Element Summary</li>
</ul>
<br>
<ul class="help-section-list">
<li>Enum Constant Details</li>
<li>Field Details</li>
<li>Property Details</li>
<li>Constructor Details</li>
<li>Method Details</li>
<li>Element Details</li>
</ul>
<p><span class="help-note">Note:</span> Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.</p>
<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
</section>
<section class="help-section" id="doc-file">
<h3>Other Files</h3>
<p>Packages and modules may contain pages with additional information related to the declarations nearby.</p>
</section>
<section class="help-section" id="use">
<h3>Use</h3>
<p>Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.</p>
</section>
<section class="help-section" id="tree">
<h3>Tree (Class Hierarchy)</h3>
<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
<ul class="help-section-list">
<li>When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.</li>
<li>When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.</li>
</ul>
</section>
<section class="help-section" id="all-packages">
<h3>All Packages</h3>
<p>The <a href="allpackages-index.html">All Packages</a> page contains an alphabetic index of all packages contained in the documentation.</p>
</section>
<section class="help-section" id="all-classes">
<h3>All Classes and Interfaces</h3>
<p>The <a href="allclasses-index.html">All Classes and Interfaces</a> page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.</p>
</section>
<section class="help-section" id="index">
<h3>Index</h3>
<p>The <a href="index-files/index-1.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>.</p>
</section>
</div>
<hr>
<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,65 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>A-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="index: A">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="index-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="../help-doc.html#index">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1>Index</h1>
</div>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
<h2 class="title" id="I:A">A</h2>
<dl class="index">
<dt><a href="../karatsuba/KaratsubaImplementation.html#addLeftZero(java.lang.String)" class="member-name-link">addLeftZero(String)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>
<div class="block">This method exists only to add some clearance while reading the code</div>
</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,83 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>G-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="index: G">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="index-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="../help-doc.html#index">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1>Index</h1>
</div>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
<h2 class="title" id="I:G">G</h2>
<dl class="index">
<dt><a href="../karatsuba/KaratsubaImplementation.html#getA()" class="member-name-link">getA()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getAc()" class="member-name-link">getAc()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getAd_bc()" class="member-name-link">getAd_bc()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getB()" class="member-name-link">getB()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getBd()" class="member-name-link">getBd()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getC()" class="member-name-link">getC()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getD()" class="member-name-link">getD()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getFirst_factor()" class="member-name-link">getFirst_factor()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getSecond_factor()" class="member-name-link">getSecond_factor()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getX()" class="member-name-link">getX()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#getY()" class="member-name-link">getY()</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,77 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>I-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="index: I">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="index-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="../help-doc.html#index">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1>Index</h1>
</div>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
<h2 class="title" id="I:I">I</h2>
<dl class="index">
<dt><a href="../karatsuba/KaratsubaImplementation.html#intFragmenter(java.lang.String%5B%5D,int)" class="member-name-link">intFragmenter(String[], int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>
<div class="block">This method will divide x and y into four parts
should only be used after strings are normalized</div>
</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#intNormalizer(int,int)" class="member-name-link">intNormalizer(int, int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>
<div class="block">This method exists to add left zeroes to the strings to make their size even and equal
it is necessary to make sure that the fragmenter does its job properly and avoid
fragmenting into unneven or odd sized numbers</div>
</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#isEven(int)" class="member-name-link">isEven(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>
<div class="block">This method will check if the input is even or odd
and return a boolean true if even and false if odd</div>
</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>K-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="index: K">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="index-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="../help-doc.html#index">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1>Index</h1>
</div>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
<h2 class="title" id="I:K">K</h2>
<dl class="index">
<dt><a href="../karatsuba/package-summary.html">karatsuba</a> - package karatsuba</dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html" class="type-name-link" title="class in karatsuba">KaratsubaImplementation</a>&lt;<a href="../karatsuba/KaratsubaImplementation.html" title="type parameter in KaratsubaImplementation">T</a>&gt; - Class in <a href="../karatsuba/package-summary.html">karatsuba</a></dt>
<dd>
<div class="block">This class will handle the karatsuba formula implementation</div>
</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#%3Cinit%3E()" class="member-name-link">KaratsubaImplementation()</a> - Constructor for class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#%3Cinit%3E(T,T)" class="member-name-link">KaratsubaImplementation(T, T)</a> - Constructor for class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>M-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="index: M">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="index-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="../help-doc.html#index">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1>Index</h1>
</div>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
<h2 class="title" id="I:M">M</h2>
<dl class="index">
<dt><a href="../karatsuba/KaratsubaImplementation.html#multiply(int,int)" class="member-name-link">multiply(int, int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>
<div class="block">this method is the main method to multiply the two numbers it'll
recursively call itself to separate all double digit and above
into abcd and compute the karatsuba formula to return the result</div>
</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,83 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>S-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="index: S">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="index-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../karatsuba/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="../help-doc.html#index">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1>Index</h1>
</div>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
<h2 class="title" id="I:S">S</h2>
<dl class="index">
<dt><a href="../karatsuba/KaratsubaImplementation.html#setA(int)" class="member-name-link">setA(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setAc(int)" class="member-name-link">setAc(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setAd_bc(int)" class="member-name-link">setAd_bc(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setB(int)" class="member-name-link">setB(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setBd(int)" class="member-name-link">setBd(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setC(int)" class="member-name-link">setC(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setD(int)" class="member-name-link">setD(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setFirst_factor(int)" class="member-name-link">setFirst_factor(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setSecond_factor(int)" class="member-name-link">setSecond_factor(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setX(int)" class="member-name-link">setX(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../karatsuba/KaratsubaImplementation.html#setY(int)" class="member-name-link">setY(int)</a> - Method in class karatsuba.<a href="../karatsuba/KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">G</a>&nbsp;<a href="index-3.html">I</a>&nbsp;<a href="index-4.html">K</a>&nbsp;<a href="index-5.html">M</a>&nbsp;<a href="index-6.html">S</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>Generated Documentation (Untitled)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="index redirect">
<meta name="generator" content="javadoc/IndexRedirectWriter">
<link rel="canonical" href="karatsuba/package-summary.html">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript">window.location.replace('karatsuba/package-summary.html')</script>
<noscript>
<meta http-equiv="Refresh" content="0;karatsuba/package-summary.html">
</noscript>
</head>
<body class="index-redirect-page">
<main role="main">
<noscript>
<p>JavaScript is disabled on your browser.</p>
</noscript>
<p><a href="karatsuba/package-summary.html">karatsuba/package-summary.html</a></p>
</main>
</body>
</html>

View File

@ -0,0 +1,35 @@
/*
* Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
/* Overrides the color of selection used in jQuery UI */
background: #F8981D;
border: 1px solid #F8981D;
}

View File

@ -0,0 +1,488 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>KaratsubaImplementation</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="declaration: package: karatsuba, class: KaratsubaImplementation">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/KaratsubaImplementation.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../index-files/index-1.html">Index</a></li>
<li><a href="../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">karatsuba</a></div>
<h1 title="Class KaratsubaImplementation" class="title">Class KaratsubaImplementation&lt;T&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">karatsuba.KaratsubaImplementation&lt;T&gt;</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>karatsuba.Karatsuba</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">KaratsubaImplementation&lt;T&gt;</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements karatsuba.Karatsuba</span></div>
<div class="block">This class will handle the karatsuba formula implementation</div>
<dl class="notes">
<dt>Since:</dt>
<dd>2025</dd>
<dt>Version:</dt>
<dd>0.1.0-alpha-SNAPSHOT</dd>
<dt>Author:</dt>
<dd>Reborn</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">KaratsubaImplementation</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(T,T)" class="member-name-link">KaratsubaImplementation</a><wbr>(<a href="KaratsubaImplementation.html" title="type parameter in KaratsubaImplementation">T</a>&nbsp;x,
<a href="KaratsubaImplementation.html" title="type parameter in KaratsubaImplementation">T</a>&nbsp;y)</code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addLeftZero(java.lang.String)" class="member-name-link">addLeftZero</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;str)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method exists only to add some clearance while reading the code</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getA()" class="member-name-link">getA</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAc()" class="member-name-link">getAc</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAd_bc()" class="member-name-link">getAd_bc</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getB()" class="member-name-link">getB</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBd()" class="member-name-link">getBd</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getC()" class="member-name-link">getC</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getD()" class="member-name-link">getD</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFirst_factor()" class="member-name-link">getFirst_factor</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSecond_factor()" class="member-name-link">getSecond_factor</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getX()" class="member-name-link">getX</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getY()" class="member-name-link">getY</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#intFragmenter(java.lang.String%5B%5D,int)" class="member-name-link">intFragmenter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;xyStr,
int&nbsp;n)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method will divide x and y into four parts
should only be used after strings are normalized</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#intNormalizer(int,int)" class="member-name-link">intNormalizer</a><wbr>(int&nbsp;x,
int&nbsp;y)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method exists to add left zeroes to the strings to make their size even and equal
it is necessary to make sure that the fragmenter does its job properly and avoid
fragmenting into unneven or odd sized numbers</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isEven(int)" class="member-name-link">isEven</a><wbr>(int&nbsp;numb)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method will check if the input is even or odd
and return a boolean true if even and false if odd</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#multiply(int,int)" class="member-name-link">multiply</a><wbr>(int&nbsp;x,
int&nbsp;y)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">this method is the main method to multiply the two numbers it'll
recursively call itself to separate all double digit and above
into abcd and compute the karatsuba formula to return the result</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setA(int)" class="member-name-link">setA</a><wbr>(int&nbsp;a)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setAc(int)" class="member-name-link">setAc</a><wbr>(int&nbsp;ac)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setAd_bc(int)" class="member-name-link">setAd_bc</a><wbr>(int&nbsp;ad_bc)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setB(int)" class="member-name-link">setB</a><wbr>(int&nbsp;b)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setBd(int)" class="member-name-link">setBd</a><wbr>(int&nbsp;bd)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setC(int)" class="member-name-link">setC</a><wbr>(int&nbsp;c)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setD(int)" class="member-name-link">setD</a><wbr>(int&nbsp;d)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setFirst_factor(int)" class="member-name-link">setFirst_factor</a><wbr>(int&nbsp;first_factor)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setSecond_factor(int)" class="member-name-link">setSecond_factor</a><wbr>(int&nbsp;second_factor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setX(int)" class="member-name-link">setX</a><wbr>(int&nbsp;x)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setY(int)" class="member-name-link">setY</a><wbr>(int&nbsp;y)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>KaratsubaImplementation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">KaratsubaImplementation</span>()</div>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(T,T)">
<h3 id="&lt;init&gt;(java.lang.Object,java.lang.Object)">KaratsubaImplementation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">KaratsubaImplementation</span><wbr><span class="parameters">(<a href="KaratsubaImplementation.html" title="type parameter in KaratsubaImplementation">T</a>&nbsp;x,
<a href="KaratsubaImplementation.html" title="type parameter in KaratsubaImplementation">T</a>&nbsp;y)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getX()">
<h3>getX</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getX</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setX(int)">
<h3>setX</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setX</span><wbr><span class="parameters">(int&nbsp;x)</span></div>
</section>
</li>
<li>
<section class="detail" id="getY()">
<h3>getY</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getY</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setY(int)">
<h3>setY</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setY</span><wbr><span class="parameters">(int&nbsp;y)</span></div>
</section>
</li>
<li>
<section class="detail" id="getA()">
<h3>getA</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getA</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setA(int)">
<h3>setA</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setA</span><wbr><span class="parameters">(int&nbsp;a)</span></div>
</section>
</li>
<li>
<section class="detail" id="getB()">
<h3>getB</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getB</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setB(int)">
<h3>setB</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setB</span><wbr><span class="parameters">(int&nbsp;b)</span></div>
</section>
</li>
<li>
<section class="detail" id="getC()">
<h3>getC</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getC</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setC(int)">
<h3>setC</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setC</span><wbr><span class="parameters">(int&nbsp;c)</span></div>
</section>
</li>
<li>
<section class="detail" id="getD()">
<h3>getD</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getD</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setD(int)">
<h3>setD</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setD</span><wbr><span class="parameters">(int&nbsp;d)</span></div>
</section>
</li>
<li>
<section class="detail" id="getAc()">
<h3>getAc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAc</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setAc(int)">
<h3>setAc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setAc</span><wbr><span class="parameters">(int&nbsp;ac)</span></div>
</section>
</li>
<li>
<section class="detail" id="getBd()">
<h3>getBd</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getBd</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setBd(int)">
<h3>setBd</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setBd</span><wbr><span class="parameters">(int&nbsp;bd)</span></div>
</section>
</li>
<li>
<section class="detail" id="getAd_bc()">
<h3>getAd_bc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAd_bc</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setAd_bc(int)">
<h3>setAd_bc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setAd_bc</span><wbr><span class="parameters">(int&nbsp;ad_bc)</span></div>
</section>
</li>
<li>
<section class="detail" id="getFirst_factor()">
<h3>getFirst_factor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getFirst_factor</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setFirst_factor(int)">
<h3>setFirst_factor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setFirst_factor</span><wbr><span class="parameters">(int&nbsp;first_factor)</span></div>
</section>
</li>
<li>
<section class="detail" id="getSecond_factor()">
<h3>getSecond_factor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getSecond_factor</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setSecond_factor(int)">
<h3>setSecond_factor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setSecond_factor</span><wbr><span class="parameters">(int&nbsp;second_factor)</span></div>
</section>
</li>
<li>
<section class="detail" id="multiply(int,int)">
<h3>multiply</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">multiply</span><wbr><span class="parameters">(int&nbsp;x,
int&nbsp;y)</span></div>
<div class="block">this method is the main method to multiply the two numbers it'll
recursively call itself to separate all double digit and above
into abcd and compute the karatsuba formula to return the result</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>multiply</code>&nbsp;in interface&nbsp;<code>karatsuba.Karatsuba</code></dd>
<dt>Parameters:</dt>
<dd><code>x</code> - any integer to multiply</dd>
<dd><code>y</code> - any integer to multiply</dd>
<dt>Returns:</dt>
<dd>will return the final integer result of the multiplication of x and y</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="intFragmenter(java.lang.String[],int)">
<h3>intFragmenter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int[]</span>&nbsp;<span class="element-name">intFragmenter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;xyStr,
int&nbsp;n)</span></div>
<div class="block">This method will divide x and y into four parts
should only be used after strings are normalized</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>intFragmenter</code>&nbsp;in interface&nbsp;<code>karatsuba.Karatsuba</code></dd>
<dt>Parameters:</dt>
<dd><code>xyStr</code> - String array with x and y values as strings</dd>
<dd><code>n</code> - Size of the numbers</dd>
<dt>Returns:</dt>
<dd>will return an int array with the abcd values</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="intNormalizer(int,int)">
<h3>intNormalizer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span>&nbsp;<span class="element-name">intNormalizer</span><wbr><span class="parameters">(int&nbsp;x,
int&nbsp;y)</span></div>
<div class="block">This method exists to add left zeroes to the strings to make their size even and equal
it is necessary to make sure that the fragmenter does its job properly and avoid
fragmenting into unneven or odd sized numbers</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>intNormalizer</code>&nbsp;in interface&nbsp;<code>karatsuba.Karatsuba</code></dd>
<dt>Parameters:</dt>
<dd><code>x</code> - first number to multiply</dd>
<dd><code>y</code> - second number to multiply</dd>
<dt>Returns:</dt>
<dd>will return a string array with x and y both normalized</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addLeftZero(java.lang.String)">
<h3>addLeftZero</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">addLeftZero</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;str)</span></div>
<div class="block">This method exists only to add some clearance while reading the code</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>str</code> - Number string</dd>
<dt>Returns:</dt>
<dd>add the string with a left zero appended</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isEven(int)">
<h3>isEven</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isEven</span><wbr><span class="parameters">(int&nbsp;numb)</span></div>
<div class="block">This method will check if the input is even or odd
and return a boolean true if even and false if odd</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>numb</code> - Integer number</dd>
<dt>Returns:</dt>
<dd>will return a boolean with true if even and false if odd</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,57 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>Uses of Class karatsuba.KaratsubaImplementation</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="use: package: karatsuba, class: KaratsubaImplementation">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-use-page">
<script type="text/javascript">var pathtoroot = "../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../KaratsubaImplementation.html" title="class in karatsuba">Class</a></li>
<li class="nav-bar-cell1-rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html#use">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Uses of Class karatsuba.KaratsubaImplementation" class="title">Uses of Class<br>karatsuba.KaratsubaImplementation</h1>
</div>
No usage of karatsuba.KaratsubaImplementation</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>karatsuba</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="declaration: package: karatsuba">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../index-files/index-1.html">Index</a></li>
<li><a href="../help-doc.html#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li>Description&nbsp;|&nbsp;</li>
<li>Related Packages&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Package karatsuba" class="title">Package karatsuba</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">karatsuba</span></div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="class-summary">
<div class="caption"><span>Classes</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="KaratsubaImplementation.html" title="class in karatsuba">KaratsubaImplementation</a>&lt;T&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">This class will handle the karatsuba formula implementation</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>karatsuba Class Hierarchy</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="tree: package: karatsuba">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../index-files/index-1.html">Index</a></li>
<li><a href="../help-doc.html#tree">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package karatsuba</h1>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">karatsuba.<a href="KaratsubaImplementation.html" class="type-name-link" title="class in karatsuba">KaratsubaImplementation</a>&lt;T&gt; (implements karatsuba.Karatsuba)</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,57 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>Uses of Package karatsuba</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="use: package: karatsuba">
<meta name="generator" content="javadoc/PackageUseWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-use-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../index-files/index-1.html">Index</a></li>
<li><a href="../help-doc.html#use">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Uses of Package karatsuba" class="title">Uses of Package<br>karatsuba</h1>
</div>
No usage of karatsuba</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,69 @@
Copyright © 1993, 2018, Oracle and/or its affiliates.
All rights reserved.
This software and related documentation are provided under a
license agreement containing restrictions on use and
disclosure and are protected by intellectual property laws.
Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate,
broadcast, modify, license, transmit, distribute, exhibit,
perform, publish, or display any part, in any form, or by
any means. Reverse engineering, disassembly, or
decompilation of this software, unless required by law for
interoperability, is prohibited.
The information contained herein is subject to change
without notice and is not warranted to be error-free. If you
find any errors, please report them to us in writing.
If this is software or related documentation that is
delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, the following notice is
applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any
operating system, integrated software, any programs
installed on the hardware, and/or documentation, delivered
to U.S. Government end users are "commercial computer
software" pursuant to the applicable Federal Acquisition
Regulation and agency-specific supplemental regulations. As
such, use, duplication, disclosure, modification, and
adaptation of the programs, including any operating system,
integrated software, any programs installed on the hardware,
and/or documentation, shall be subject to license terms and
license restrictions applicable to the programs. No other
rights are granted to the U.S. Government.
This software or hardware is developed for general use in a
variety of information management applications. It is not
developed or intended for use in any inherently dangerous
applications, including applications that may create a risk
of personal injury. If you use this software or hardware in
dangerous applications, then you shall be responsible to
take all appropriate fail-safe, backup, redundancy, and
other measures to ensure its safe use. Oracle Corporation
and its affiliates disclaim any liability for any damages
caused by use of this software or hardware in dangerous
applications.
Oracle and Java are registered trademarks of Oracle and/or
its affiliates. Other names may be trademarks of their
respective owners.
Intel and Intel Xeon are trademarks or registered trademarks
of Intel Corporation. All SPARC trademarks are used under
license and are trademarks or registered trademarks of SPARC
International, Inc. AMD, Opteron, the AMD logo, and the AMD
Opteron logo are trademarks or registered trademarks of
Advanced Micro Devices. UNIX is a registered trademark of
The Open Group.
This software or hardware and documentation may provide
access to or information on content, products, and services
from third parties. Oracle Corporation and its affiliates
are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content,
products, and services. Oracle Corporation and its
affiliates will not be responsible for any loss, costs, or
damages incurred due to your access to or use of third-party
content, products, or services.

View File

@ -0,0 +1,118 @@
Your use of this Program is governed by the No-Fee Terms and Conditions set
forth below, unless you have received this Program (alone or as part of another
Oracle product) under an Oracle license agreement (including but not limited to
the Oracle Master Agreement), in which case your use of this Program is governed
solely by such license agreement with Oracle.
Oracle No-Fee Terms and Conditions (NFTC)
Definitions
"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company
or organization (each an "Entity") accessing the Programs, if use of the
Programs will be on behalf of such Entity; or (b) an individual accessing the
Programs, if use of the Programs will not be on behalf of an Entity.
"Program(s)" refers to Oracle software provided by Oracle pursuant to the
following terms and any updates, error corrections, and/or Program Documentation
provided by Oracle. "Program Documentation" refers to Program user manuals and
Program installation manuals, if any. If available, Program Documentation may be
delivered with the Programs and/or may be accessed from
www.oracle.com/documentation. "Separate Terms" refers to separate license terms
that are specified in the Program Documentation, readmes or notice files and
that apply to Separately Licensed Technology. "Separately Licensed Technology"
refers to Oracle or third party technology that is licensed under Separate Terms
and not under the terms of this license.
Separately Licensed Technology
Oracle may provide certain notices to You in Program Documentation, readmes or
notice files in connection with Oracle or third party technology provided as or
with the Programs. If specified in the Program Documentation, readmes or notice
files, such technology will be licensed to You under Separate Terms. Your rights
to use Separately Licensed Technology under Separate Terms are not restricted in
any way by the terms herein. For clarity, notwithstanding the existence of a
notice, third party technology that is not Separately Licensed Technology shall
be deemed part of the Programs licensed to You under the terms of this license.
Source Code for Open Source Software
For software that You receive from Oracle in binary form that is licensed under
an open source license that gives You the right to receive the source code for
that binary, You can obtain a copy of the applicable source code from
https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If
the source code for such software was not provided to You with the binary, You
can also receive a copy of the source code on physical media by submitting a
written request pursuant to the instructions in the "Written Offer for Source
Code" section of the latter website.
-------------------------------------------------------------------------------
The following license terms apply to those Programs that are not provided to You
under Separate Terms.
License Rights and Restrictions
Oracle grants to You, as a recipient of this Program, subject to the conditions
stated herein, a nonexclusive, nontransferable, limited license to:
(a) internally use the unmodified Programs for the purposes of developing,
testing, prototyping and demonstrating your applications, and running the
Program for Your own personal use or internal business operations; and
(b) redistribute the unmodified Program and Program Documentation, under the
terms of this License, provided that You do not charge Your licensees any fees
associated with such distribution or use of the Program, including, without
limitation, fees for products that include or are bundled with a copy of the
Program or for services that involve the use of the distributed Program.
You may make copies of the Programs to the extent reasonably necessary for
exercising the license rights granted herein and for backup purposes. You are
granted the right to use the Programs to provide third party training in the use
of the Programs and associated Separately Licensed Technology only if there is
express authorization of such use by Oracle on the Program's download page or in
the Program Documentation.
Your license is contingent on compliance with the following conditions:
- You do not remove markings or notices of either Oracle's or a licensor's
proprietary rights from the Programs or Program Documentation;
- You comply with all U.S. and applicable export control and economic sanctions
laws and regulations that govern Your use of the Programs (including technical
data);
- You do not cause or permit reverse engineering, disassembly or decompilation
of the Programs (except as allowed by law) by You nor allow an associated
party to do so.
For clarity, any source code that may be included in the distribution with the
Programs is provided solely for reference purposes and may not be modified,
unless such source code is under Separate Terms permitting modification.
Ownership
Oracle or its licensors retain all ownership and intellectual property rights to
the Programs.
Information Collection
The Programs' installation and/or auto-update processes, if any, may transmit a
limited amount of data to Oracle or its service provider about those processes
to help Oracle understand and optimize them. Oracle does not associate the data
with personally identifiable information. Refer to Oracle's Privacy Policy at
www.oracle.com/privacy.
Disclaimer of Warranties; Limitation of Liability
THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER
DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
NONINFRINGEMENT.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO YOU FOR
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

View File

@ -0,0 +1,72 @@
## jQuery v3.6.1
### jQuery License
```
jQuery v 3.6.1
Copyright OpenJS Foundation and other contributors, https://openjsf.org/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
******************************************
The jQuery JavaScript Library v3.6.1 also includes Sizzle.js
Sizzle.js includes the following license:
Copyright JS Foundation and other contributors, https://js.foundation/
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/jquery/sizzle
The following license applies to all parts of this software except as
documented below:
====
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====
All files located in the node_modules and external directories are
externally maintained libraries used by this software which have their
own licenses; we recommend you read them, as their terms may differ from
the terms above.
*********************
```

View File

@ -0,0 +1,49 @@
## jQuery UI v1.13.2
### jQuery UI License
```
Copyright jQuery Foundation and other contributors, https://jquery.org/
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/jquery/jquery-ui
The following license applies to all parts of this software except as
documented below:
====
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====
Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code contained within the demos directory.
CC0: http://creativecommons.org/publicdomain/zero/1.0/
====
All files located in the node_modules and external directories are
externally maintained libraries used by this software which have their
own licenses; we recommend you read them, as their terms may differ from
the terms above.
```

View File

@ -0,0 +1 @@
memberSearchIndex = [{"p":"karatsuba","c":"KaratsubaImplementation","l":"addLeftZero(String)","u":"addLeftZero(java.lang.String)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getA()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getAc()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getAd_bc()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getB()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getBd()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getC()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getD()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getFirst_factor()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getSecond_factor()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getX()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"getY()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"intFragmenter(String[], int)","u":"intFragmenter(java.lang.String[],int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"intNormalizer(int, int)","u":"intNormalizer(int,int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"isEven(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"KaratsubaImplementation()","u":"%3Cinit%3E()"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"KaratsubaImplementation(T, T)","u":"%3Cinit%3E(T,T)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"multiply(int, int)","u":"multiply(int,int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setA(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setAc(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setAd_bc(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setB(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setBd(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setC(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setD(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setFirst_factor(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setSecond_factor(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setX(int)"},{"p":"karatsuba","c":"KaratsubaImplementation","l":"setY(int)"}];updateSearchResults();

View File

@ -0,0 +1,71 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sat Mar 15 22:58:33 UTC 2025 -->
<title>Class Hierarchy</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-03-15">
<meta name="description" content="class tree">
<meta name="generator" content="javadoc/TreeWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="tree-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="index-files/index-1.html">Index</a></li>
<li><a href="help-doc.html#tree">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For All Packages</h1>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="karatsuba/package-tree.html">karatsuba</a></li>
</ul>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">karatsuba.<a href="karatsuba/KaratsubaImplementation.html" class="type-name-link" title="class in karatsuba">KaratsubaImplementation</a>&lt;T&gt; (implements karatsuba.Karatsuba)</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1 @@
packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"karatsuba"}];updateSearchResults();

View File

@ -0,0 +1,6 @@
/*! jQuery UI - v1.13.2 - 2023-02-27
* http://jqueryui.com
* Includes: core.css, autocomplete.css, menu.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}

View File

@ -0,0 +1,132 @@
/*
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
var moduleSearchIndex;
var packageSearchIndex;
var typeSearchIndex;
var memberSearchIndex;
var tagSearchIndex;
function loadScripts(doc, tag) {
createElem(doc, tag, 'search.js');
createElem(doc, tag, 'module-search-index.js');
createElem(doc, tag, 'package-search-index.js');
createElem(doc, tag, 'type-search-index.js');
createElem(doc, tag, 'member-search-index.js');
createElem(doc, tag, 'tag-search-index.js');
}
function createElem(doc, tag, path) {
var script = doc.createElement(tag);
var scriptElement = doc.getElementsByTagName(tag)[0];
script.src = pathtoroot + path;
scriptElement.parentNode.insertBefore(script, scriptElement);
}
function show(tableId, selected, columns) {
if (tableId !== selected) {
document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
.forEach(function(elem) {
elem.style.display = 'none';
});
}
document.querySelectorAll('div.' + selected)
.forEach(function(elem, index) {
elem.style.display = '';
var isEvenRow = index % (columns * 2) < columns;
elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
});
updateTabs(tableId, selected);
}
function updateTabs(tableId, selected) {
document.querySelector('div#' + tableId +' .summary-table')
.setAttribute('aria-labelledby', selected);
document.querySelectorAll('button[id^="' + tableId + '"]')
.forEach(function(tab, index) {
if (selected === tab.id || (tableId === selected && index === 0)) {
tab.className = activeTableTab;
tab.setAttribute('aria-selected', true);
tab.setAttribute('tabindex',0);
} else {
tab.className = tableTab;
tab.setAttribute('aria-selected', false);
tab.setAttribute('tabindex',-1);
}
});
}
function switchTab(e) {
var selected = document.querySelector('[aria-selected=true]');
if (selected) {
if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
// left or up arrow key pressed: move focus to previous tab
selected.previousSibling.click();
selected.previousSibling.focus();
e.preventDefault();
} else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
// right or down arrow key pressed: move focus to next tab
selected.nextSibling.click();
selected.nextSibling.focus();
e.preventDefault();
}
}
}
var updateSearchResults = function() {};
function indexFilesLoaded() {
return moduleSearchIndex
&& packageSearchIndex
&& typeSearchIndex
&& memberSearchIndex
&& tagSearchIndex;
}
// Workaround for scroll position not being included in browser history (8249133)
document.addEventListener("DOMContentLoaded", function(e) {
var contentDiv = document.querySelector("div.flex-content");
window.addEventListener("popstate", function(e) {
if (e.state !== null) {
contentDiv.scrollTop = e.state;
}
});
window.addEventListener("hashchange", function(e) {
history.replaceState(contentDiv.scrollTop, document.title);
});
contentDiv.addEventListener("scroll", function(e) {
var timeoutID;
if (!timeoutID) {
timeoutID = setTimeout(function() {
history.replaceState(contentDiv.scrollTop, document.title);
timeoutID = null;
}, 100);
}
});
if (!location.hash) {
history.replaceState(contentDiv.scrollTop, document.title);
}
});

View File

@ -0,0 +1,354 @@
/*
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
var noResult = {l: "No results found"};
var loading = {l: "Loading search index..."};
var catModules = "Modules";
var catPackages = "Packages";
var catTypes = "Classes and Interfaces";
var catMembers = "Members";
var catSearchTags = "Search Tags";
var highlight = "<span class=\"result-highlight\">$&</span>";
var searchPattern = "";
var fallbackPattern = "";
var RANKING_THRESHOLD = 2;
var NO_MATCH = 0xffff;
var MIN_RESULTS = 3;
var MAX_RESULTS = 500;
var UNNAMED = "<Unnamed>";
function escapeHtml(str) {
return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function getHighlightedText(item, matcher, fallbackMatcher) {
var escapedItem = escapeHtml(item);
var highlighted = escapedItem.replace(matcher, highlight);
if (highlighted === escapedItem) {
highlighted = escapedItem.replace(fallbackMatcher, highlight)
}
return highlighted;
}
function getURLPrefix(ui) {
var urlPrefix="";
var slash = "/";
if (ui.item.category === catModules) {
return ui.item.l + slash;
} else if (ui.item.category === catPackages && ui.item.m) {
return ui.item.m + slash;
} else if (ui.item.category === catTypes || ui.item.category === catMembers) {
if (ui.item.m) {
urlPrefix = ui.item.m + slash;
} else {
$.each(packageSearchIndex, function(index, item) {
if (item.m && ui.item.p === item.l) {
urlPrefix = item.m + slash;
}
});
}
}
return urlPrefix;
}
function createSearchPattern(term) {
var pattern = "";
var isWordToken = false;
term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) {
if (index > 0) {
// whitespace between identifiers is significant
pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*";
}
var tokens = w.split(/(?=[A-Z,.()<>[\/])/);
for (var i = 0; i < tokens.length; i++) {
var s = tokens[i];
if (s === "") {
continue;
}
pattern += $.ui.autocomplete.escapeRegex(s);
isWordToken = /\w$/.test(s);
if (isWordToken) {
pattern += "([a-z0-9_$<>\\[\\]]*?)";
}
}
});
return pattern;
}
function createMatcher(pattern, flags) {
var isCamelCase = /[A-Z]/.test(pattern);
return new RegExp(pattern, flags + (isCamelCase ? "" : "i"));
}
var watermark = 'Search';
$(function() {
var search = $("#search-input");
var reset = $("#reset-button");
search.val('');
search.prop("disabled", false);
reset.prop("disabled", false);
search.val(watermark).addClass('watermark');
search.blur(function() {
if ($(this).val().length === 0) {
$(this).val(watermark).addClass('watermark');
}
});
search.on('click keydown paste', function() {
if ($(this).val() === watermark) {
$(this).val('').removeClass('watermark');
}
});
reset.click(function() {
search.val('').focus();
});
search.focus()[0].setSelectionRange(0, 0);
});
$.widget("custom.catcomplete", $.ui.autocomplete, {
_create: function() {
this._super();
this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)");
},
_renderMenu: function(ul, items) {
var rMenu = this;
var currentCategory = "";
rMenu.menu.bindings = $();
$.each(items, function(index, item) {
var li;
if (item.category && item.category !== currentCategory) {
ul.append("<li class=\"ui-autocomplete-category\">" + item.category + "</li>");
currentCategory = item.category;
}
li = rMenu._renderItemData(ul, item);
if (item.category) {
li.attr("aria-label", item.category + " : " + item.l);
li.attr("class", "result-item");
} else {
li.attr("aria-label", item.l);
li.attr("class", "result-item");
}
});
},
_renderItem: function(ul, item) {
var label = "";
var matcher = createMatcher(escapeHtml(searchPattern), "g");
var fallbackMatcher = new RegExp(fallbackPattern, "gi")
if (item.category === catModules) {
label = getHighlightedText(item.l, matcher, fallbackMatcher);
} else if (item.category === catPackages) {
label = getHighlightedText(item.l, matcher, fallbackMatcher);
} else if (item.category === catTypes) {
label = (item.p && item.p !== UNNAMED)
? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher)
: getHighlightedText(item.l, matcher, fallbackMatcher);
} else if (item.category === catMembers) {
label = (item.p && item.p !== UNNAMED)
? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher)
: getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher);
} else if (item.category === catSearchTags) {
label = getHighlightedText(item.l, matcher, fallbackMatcher);
} else {
label = item.l;
}
var li = $("<li/>").appendTo(ul);
var div = $("<div/>").appendTo(li);
if (item.category === catSearchTags && item.h) {
if (item.d) {
div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span><br><span class=\"search-tag-desc-result\">"
+ item.d + "</span><br>");
} else {
div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span>");
}
} else {
if (item.m) {
div.html(item.m + "/" + label);
} else {
div.html(label);
}
}
return li;
}
});
function rankMatch(match, category) {
if (!match) {
return NO_MATCH;
}
var index = match.index;
var input = match.input;
var leftBoundaryMatch = 2;
var periferalMatch = 0;
// make sure match is anchored on a left word boundary
if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) {
leftBoundaryMatch = 0;
} else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) {
leftBoundaryMatch = 1;
}
var matchEnd = index + match[0].length;
var leftParen = input.indexOf("(");
var endOfName = leftParen > -1 ? leftParen : input.length;
// exclude peripheral matches
if (category !== catModules && category !== catSearchTags) {
var delim = category === catPackages ? "/" : ".";
if (leftParen > -1 && leftParen < index) {
periferalMatch += 2;
} else if (input.lastIndexOf(delim, endOfName) >= matchEnd) {
periferalMatch += 2;
}
}
var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match
for (var i = 1; i < match.length; i++) {
// lower ranking if parts of the name are missing
if (match[i])
delta += match[i].length;
}
if (category === catTypes) {
// lower ranking if a type name contains unmatched camel-case parts
if (/[A-Z]/.test(input.substring(matchEnd)))
delta += 5;
if (/[A-Z]/.test(input.substring(0, index)))
delta += 5;
}
return leftBoundaryMatch + periferalMatch + (delta / 200);
}
function doSearch(request, response) {
var result = [];
searchPattern = createSearchPattern(request.term);
fallbackPattern = createSearchPattern(request.term.toLowerCase());
if (searchPattern === "") {
return this.close();
}
var camelCaseMatcher = createMatcher(searchPattern, "");
var fallbackMatcher = new RegExp(fallbackPattern, "i");
function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) {
if (indexArray) {
var newResults = [];
$.each(indexArray, function (i, item) {
item.category = category;
var ranking = rankMatch(matcher.exec(nameFunc(item)), category);
if (ranking < RANKING_THRESHOLD) {
newResults.push({ranking: ranking, item: item});
}
return newResults.length <= MAX_RESULTS;
});
return newResults.sort(function(e1, e2) {
return e1.ranking - e2.ranking;
}).map(function(e) {
return e.item;
});
}
return [];
}
function searchIndex(indexArray, category, nameFunc) {
var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc);
result = result.concat(primaryResults);
if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) {
var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc);
result = result.concat(secondaryResults.filter(function (item) {
return primaryResults.indexOf(item) === -1;
}));
}
}
searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; });
searchIndex(packageSearchIndex, catPackages, function(item) {
return (item.m && request.term.indexOf("/") > -1)
? (item.m + "/" + item.l) : item.l;
});
searchIndex(typeSearchIndex, catTypes, function(item) {
return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l;
});
searchIndex(memberSearchIndex, catMembers, function(item) {
return request.term.indexOf(".") > -1
? item.p + "." + item.c + "." + item.l : item.l;
});
searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; });
if (!indexFilesLoaded()) {
updateSearchResults = function() {
doSearch(request, response);
}
result.unshift(loading);
} else {
updateSearchResults = function() {};
}
response(result);
}
$(function() {
$("#search-input").catcomplete({
minLength: 1,
delay: 300,
source: doSearch,
response: function(event, ui) {
if (!ui.content.length) {
ui.content.push(noResult);
} else {
$("#search-input").empty();
}
},
autoFocus: true,
focus: function(event, ui) {
return false;
},
position: {
collision: "flip"
},
select: function(event, ui) {
if (ui.item.category) {
var url = getURLPrefix(ui);
if (ui.item.category === catModules) {
url += "module-summary.html";
} else if (ui.item.category === catPackages) {
if (ui.item.u) {
url = ui.item.u;
} else {
url += ui.item.l.replace(/\./g, '/') + "/package-summary.html";
}
} else if (ui.item.category === catTypes) {
if (ui.item.u) {
url = ui.item.u;
} else if (ui.item.p === UNNAMED) {
url += ui.item.l + ".html";
} else {
url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html";
}
} else if (ui.item.category === catMembers) {
if (ui.item.p === UNNAMED) {
url += ui.item.c + ".html" + "#";
} else {
url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#";
}
if (ui.item.u) {
url += ui.item.u;
} else {
url += ui.item.l;
}
} else if (ui.item.category === catSearchTags) {
url += ui.item.u;
}
if (top !== window) {
parent.classFrame.location = pathtoroot + url;
} else {
window.location.href = pathtoroot + url;
}
$("#search-input").focus();
}
}
});
});

View File

@ -0,0 +1,866 @@
/*
* Javadoc style sheet
*/
@import url('resources/fonts/dejavu.css');
/*
* Styles for individual HTML elements.
*
* These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
* HTML element throughout the page.
*/
body {
background-color:#ffffff;
color:#353833;
font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
font-size:14px;
margin:0;
padding:0;
height:100%;
width:100%;
}
iframe {
margin:0;
padding:0;
height:100%;
width:100%;
overflow-y:scroll;
border:none;
}
a:link, a:visited {
text-decoration:none;
color:#4A6782;
}
a[href]:hover, a[href]:focus {
text-decoration:none;
color:#bb7a2a;
}
a[name] {
color:#353833;
}
pre {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
}
h1 {
font-size:20px;
}
h2 {
font-size:18px;
}
h3 {
font-size:16px;
}
h4 {
font-size:15px;
}
h5 {
font-size:14px;
}
h6 {
font-size:13px;
}
ul {
list-style-type:disc;
}
code, tt {
font-family:'DejaVu Sans Mono', monospace;
}
:not(h1, h2, h3, h4, h5, h6) > code,
:not(h1, h2, h3, h4, h5, h6) > tt {
font-size:14px;
padding-top:4px;
margin-top:8px;
line-height:1.4em;
}
dt code {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
padding-top:4px;
}
.summary-table dt code {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
vertical-align:top;
padding-top:4px;
}
sup {
font-size:8px;
}
button {
font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
font-size: 14px;
}
/*
* Styles for HTML generated by javadoc.
*
* These are style classes that are used by the standard doclet to generate HTML documentation.
*/
/*
* Styles for document title and copyright.
*/
.clear {
clear:both;
height:0;
overflow:hidden;
}
.about-language {
float:right;
padding:0 21px 8px 8px;
font-size:11px;
margin-top:-9px;
height:2.9em;
}
.legal-copy {
margin-left:.5em;
}
.tab {
background-color:#0066FF;
color:#ffffff;
padding:8px;
width:5em;
font-weight:bold;
}
/*
* Styles for navigation bar.
*/
@media screen {
.flex-box {
position:fixed;
display:flex;
flex-direction:column;
height: 100%;
width: 100%;
}
.flex-header {
flex: 0 0 auto;
}
.flex-content {
flex: 1 1 auto;
overflow-y: auto;
}
}
.top-nav {
background-color:#4D7A97;
color:#FFFFFF;
float:left;
padding:0;
width:100%;
clear:right;
min-height:2.8em;
padding-top:10px;
overflow:hidden;
font-size:12px;
}
.sub-nav {
background-color:#dee3e9;
float:left;
width:100%;
overflow:hidden;
font-size:12px;
}
.sub-nav div {
clear:left;
float:left;
padding:0 0 5px 6px;
text-transform:uppercase;
}
.sub-nav .nav-list {
padding-top:5px;
}
ul.nav-list {
display:block;
margin:0 25px 0 0;
padding:0;
}
ul.sub-nav-list {
float:left;
margin:0 25px 0 0;
padding:0;
}
ul.nav-list li {
list-style:none;
float:left;
padding: 5px 6px;
text-transform:uppercase;
}
.sub-nav .nav-list-search {
float:right;
margin:0 0 0 0;
padding:5px 6px;
clear:none;
}
.nav-list-search label {
position:relative;
right:-16px;
}
ul.sub-nav-list li {
list-style:none;
float:left;
padding-top:10px;
}
.top-nav a:link, .top-nav a:active, .top-nav a:visited {
color:#FFFFFF;
text-decoration:none;
text-transform:uppercase;
}
.top-nav a:hover {
text-decoration:none;
color:#bb7a2a;
text-transform:uppercase;
}
.nav-bar-cell1-rev {
background-color:#F8981D;
color:#253441;
margin: auto 5px;
}
.skip-nav {
position:absolute;
top:auto;
left:-9999px;
overflow:hidden;
}
/*
* Hide navigation links and search box in print layout
*/
@media print {
ul.nav-list, div.sub-nav {
display:none;
}
}
/*
* Styles for page header and footer.
*/
.title {
color:#2c4557;
margin:10px 0;
}
.sub-title {
margin:5px 0 0 0;
}
.header ul {
margin:0 0 15px 0;
padding:0;
}
.header ul li, .footer ul li {
list-style:none;
font-size:13px;
}
/*
* Styles for headings.
*/
body.class-declaration-page .summary h2,
body.class-declaration-page .details h2,
body.class-use-page h2,
body.module-declaration-page .block-list h2 {
font-style: italic;
padding:0;
margin:15px 0;
}
body.class-declaration-page .summary h3,
body.class-declaration-page .details h3,
body.class-declaration-page .summary .inherited-list h2 {
background-color:#dee3e9;
border:1px solid #d0d9e0;
margin:0 0 6px -8px;
padding:7px 5px;
}
/*
* Styles for page layout containers.
*/
main {
clear:both;
padding:10px 20px;
position:relative;
}
dl.notes > dt {
font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bold;
margin:10px 0 0 0;
color:#4E4E4E;
}
dl.notes > dd {
margin:5px 10px 10px 0;
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
}
dl.name-value > dt {
margin-left:1px;
font-size:1.1em;
display:inline;
font-weight:bold;
}
dl.name-value > dd {
margin:0 0 0 1px;
font-size:1.1em;
display:inline;
}
/*
* Styles for lists.
*/
li.circle {
list-style:circle;
}
ul.horizontal li {
display:inline;
font-size:0.9em;
}
div.inheritance {
margin:0;
padding:0;
}
div.inheritance div.inheritance {
margin-left:2em;
}
ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
margin:10px 0 10px 0;
padding:0;
}
ul.block-list > li,
ul.details-list > li,
ul.member-list > li,
ul.summary-list > li {
list-style:none;
margin-bottom:15px;
line-height:1.4;
}
.summary-table dl, .summary-table dl dt, .summary-table dl dd {
margin-top:0;
margin-bottom:1px;
}
ul.see-list, ul.see-list-long {
padding-left: 0;
list-style: none;
}
ul.see-list li {
display: inline;
}
ul.see-list li:not(:last-child):after,
ul.see-list-long li:not(:last-child):after {
content: ", ";
white-space: pre-wrap;
}
/*
* Styles for tables.
*/
.summary-table, .details-table {
width:100%;
border-spacing:0;
border-left:1px solid #EEE;
border-right:1px solid #EEE;
border-bottom:1px solid #EEE;
padding:0;
}
.caption {
position:relative;
text-align:left;
background-repeat:no-repeat;
color:#253441;
font-weight:bold;
clear:none;
overflow:hidden;
padding:0;
padding-top:10px;
padding-left:1px;
margin:0;
white-space:pre;
}
.caption a:link, .caption a:visited {
color:#1f389c;
}
.caption a:hover,
.caption a:active {
color:#FFFFFF;
}
.caption span {
white-space:nowrap;
padding-top:5px;
padding-left:12px;
padding-right:12px;
padding-bottom:7px;
display:inline-block;
float:left;
background-color:#F8981D;
border: none;
height:16px;
}
div.table-tabs {
padding:10px 0 0 1px;
margin:0;
}
div.table-tabs > button {
border: none;
cursor: pointer;
padding: 5px 12px 7px 12px;
font-weight: bold;
margin-right: 3px;
}
div.table-tabs > button.active-table-tab {
background: #F8981D;
color: #253441;
}
div.table-tabs > button.table-tab {
background: #4D7A97;
color: #FFFFFF;
}
.two-column-summary {
display: grid;
grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}
.three-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}
.four-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}
@media screen and (max-width: 600px) {
.two-column-summary {
display: grid;
grid-template-columns: 1fr;
}
}
@media screen and (max-width: 800px) {
.three-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
}
.three-column-summary .col-last {
grid-column-end: span 2;
}
}
@media screen and (max-width: 1000px) {
.four-column-summary {
display: grid;
grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}
}
.summary-table > div, .details-table > div {
text-align:left;
padding: 8px 3px 3px 7px;
}
.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name {
vertical-align:top;
padding-right:0;
padding-top:8px;
padding-bottom:3px;
}
.table-header {
background:#dee3e9;
font-weight: bold;
}
.col-first, .col-first {
font-size:13px;
}
.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last {
font-size:13px;
}
.col-first, .col-second, .col-constructor-name {
vertical-align:top;
overflow: auto;
}
.col-last {
white-space:normal;
}
.col-first a:link, .col-first a:visited,
.col-second a:link, .col-second a:visited,
.col-first a:link, .col-first a:visited,
.col-second a:link, .col-second a:visited,
.col-constructor-name a:link, .col-constructor-name a:visited,
.col-summary-item-name a:link, .col-summary-item-name a:visited,
.constant-values-container a:link, .constant-values-container a:visited,
.all-classes-container a:link, .all-classes-container a:visited,
.all-packages-container a:link, .all-packages-container a:visited {
font-weight:bold;
}
.table-sub-heading-color {
background-color:#EEEEFF;
}
.even-row-color, .even-row-color .table-header {
background-color:#FFFFFF;
}
.odd-row-color, .odd-row-color .table-header {
background-color:#EEEEEF;
}
/*
* Styles for contents.
*/
.deprecated-content {
margin:0;
padding:10px 0;
}
div.block {
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
}
.col-last div {
padding-top:0;
}
.col-last a {
padding-bottom:3px;
}
.module-signature,
.package-signature,
.type-signature,
.member-signature {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
margin:14px 0;
white-space: pre-wrap;
}
.module-signature,
.package-signature,
.type-signature {
margin-top: 0;
}
.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
display: inline-block;
vertical-align: top;
white-space: pre;
}
.member-signature .type-parameters {
white-space: normal;
}
/*
* Styles for formatting effect.
*/
.source-line-no {
color:green;
padding:0 30px 0 0;
}
h1.hidden {
visibility:hidden;
overflow:hidden;
font-size:10px;
}
.block {
display:block;
margin:0 10px 5px 0;
color:#474747;
}
.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link,
.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type,
.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label {
font-weight:bold;
}
.deprecation-comment, .help-footnote, .preview-comment {
font-style:italic;
}
.deprecation-block {
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
border-style:solid;
border-width:thin;
border-radius:10px;
padding:10px;
margin-bottom:10px;
margin-right:10px;
display:inline-block;
}
.preview-block {
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
border-style:solid;
border-width:thin;
border-radius:10px;
padding:10px;
margin-bottom:10px;
margin-right:10px;
display:inline-block;
}
div.block div.deprecation-comment {
font-style:normal;
}
/*
* Styles specific to HTML5 elements.
*/
main, nav, header, footer, section {
display:block;
}
/*
* Styles for javadoc search.
*/
.ui-autocomplete-category {
font-weight:bold;
font-size:15px;
padding:7px 0 7px 3px;
background-color:#4D7A97;
color:#FFFFFF;
}
.ui-autocomplete {
max-height:85%;
max-width:65%;
overflow-y:scroll;
overflow-x:scroll;
white-space:nowrap;
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}
ul.ui-autocomplete {
position:fixed;
z-index:999999;
background-color: #FFFFFF;
}
ul.ui-autocomplete li {
float:left;
clear:both;
width:100%;
}
.ui-autocomplete .result-item {
font-size: inherit;
}
.ui-autocomplete .result-highlight {
font-weight:bold;
}
#search-input {
background-image:url('resources/glass.png');
background-size:13px;
background-repeat:no-repeat;
background-position:2px 3px;
padding-left:20px;
position:relative;
right:-18px;
width:400px;
}
#reset-button {
background-color: rgb(255,255,255);
background-image:url('resources/x.png');
background-position:center;
background-repeat:no-repeat;
background-size:12px;
border:0 none;
width:16px;
height:16px;
position:relative;
left:-4px;
top:-4px;
font-size:0px;
}
.watermark {
color:#545454;
}
.search-tag-desc-result {
font-style:italic;
font-size:11px;
}
.search-tag-holder-result {
font-style:italic;
font-size:12px;
}
.search-tag-result:target {
background-color:yellow;
}
.module-graph span {
display:none;
position:absolute;
}
.module-graph:hover span {
display:block;
margin: -100px 0 0 100px;
z-index: 1;
}
.inherited-list {
margin: 10px 0 10px 0;
}
section.class-description {
line-height: 1.4;
}
.summary section[class$="-summary"], .details section[class$="-details"],
.class-uses .detail, .serialized-class-details {
padding: 0px 20px 5px 10px;
border: 1px solid #ededed;
background-color: #f8f8f8;
}
.inherited-list, section[class$="-details"] .detail {
padding:0 0 5px 8px;
background-color:#ffffff;
border:none;
}
.vertical-separator {
padding: 0 5px;
}
ul.help-section-list {
margin: 0;
}
ul.help-subtoc > li {
display: inline-block;
padding-right: 5px;
font-size: smaller;
}
ul.help-subtoc > li::before {
content: "\2022" ;
padding-right:2px;
}
span.help-note {
font-style: italic;
}
/*
* Indicator icon for external links.
*/
main a[href*="://"]::after {
content:"";
display:inline-block;
background-image:url('data:image/svg+xml; utf8, \
<svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
<path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
</svg>');
background-size:100% 100%;
width:7px;
height:7px;
margin-left:2px;
margin-bottom:4px;
}
main a[href*="://"]:hover::after,
main a[href*="://"]:focus::after {
background-image:url('data:image/svg+xml; utf8, \
<svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
<path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
</svg>');
}
/*
* Styles for user-provided tables.
*
* borderless:
* No borders, vertical margins, styled caption.
* This style is provided for use with existing doc comments.
* In general, borderless tables should not be used for layout purposes.
*
* plain:
* Plain borders around table and cells, vertical margins, styled caption.
* Best for small tables or for complex tables for tables with cells that span
* rows and columns, when the "striped" style does not work well.
*
* striped:
* Borders around the table and vertical borders between cells, striped rows,
* vertical margins, styled caption.
* Best for tables that have a header row, and a body containing a series of simple rows.
*/
table.borderless,
table.plain,
table.striped {
margin-top: 10px;
margin-bottom: 10px;
}
table.borderless > caption,
table.plain > caption,
table.striped > caption {
font-weight: bold;
font-size: smaller;
}
table.borderless th, table.borderless td,
table.plain th, table.plain td,
table.striped th, table.striped td {
padding: 2px 5px;
}
table.borderless,
table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
border: none;
}
table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
background-color: transparent;
}
table.plain {
border-collapse: collapse;
border: 1px solid black;
}
table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
background-color: transparent;
}
table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
border: 1px solid black;
}
table.striped {
border-collapse: collapse;
border: 1px solid black;
}
table.striped > thead {
background-color: #E3E3E3;
}
table.striped > thead > tr > th, table.striped > thead > tr > td {
border: 1px solid black;
}
table.striped > tbody > tr:nth-child(even) {
background-color: #EEE
}
table.striped > tbody > tr:nth-child(odd) {
background-color: #FFF
}
table.striped > tbody > tr > th, table.striped > tbody > tr > td {
border-left: 1px solid black;
border-right: 1px solid black;
}
table.striped > tbody > tr > th {
font-weight: normal;
}
/**
* Tweak font sizes and paddings for small screens.
*/
@media screen and (max-width: 1050px) {
#search-input {
width: 300px;
}
}
@media screen and (max-width: 800px) {
#search-input {
width: 200px;
}
.top-nav,
.bottom-nav {
font-size: 11px;
padding-top: 6px;
}
.sub-nav {
font-size: 11px;
}
.about-language {
padding-right: 16px;
}
ul.nav-list li,
.sub-nav .nav-list-search {
padding: 6px;
}
ul.sub-nav-list li {
padding-top: 5px;
}
main {
padding: 10px;
}
.summary section[class$="-summary"], .details section[class$="-details"],
.class-uses .detail, .serialized-class-details {
padding: 0 8px 5px 8px;
}
body {
-webkit-text-size-adjust: none;
}
}
@media screen and (max-width: 500px) {
#search-input {
width: 150px;
}
.top-nav,
.bottom-nav {
font-size: 10px;
}
.sub-nav {
font-size: 10px;
}
.about-language {
font-size: 10px;
padding-right: 12px;
}
}

View File

@ -0,0 +1 @@
typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"karatsuba","l":"KaratsubaImplementation"}];updateSearchResults();

View File

@ -0,0 +1,11 @@
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>

View File

@ -6,13 +6,27 @@
<name>Karatsuba implementation</name>
<description>Karatsuba implementation</description>
<dependencies>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.17</version>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.17</version>
</dependency>
</dependencies>
<build>
<plugins>
@ -24,6 +38,11 @@
<target>17</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,9 +1,111 @@
package karatsuba;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* This class will handle the karatsuba formula implementation
*
* @author Reborn
* @since 2025
* @version 0.1.0-alpha-SNAPSHOT
*/
public class KaratsubaImplementation<T> implements Karatsuba {
private static final Logger logger
= LoggerFactory.getLogger(KaratsubaImplementation.class);
private int x;
private int y;
private int a;
private int b;
private int c;
private int d;
private int ac;
private int bd;
private int ad_bc;
private int first_factor;
private int second_factor;
/*
what does this class do:
-------------
- transform values to strings
- normalizes strings
- gets abcd values
-------------------
- gets calculates: ac, (ad + bc), bd
- multiplies value x by y by implementing karatsuba formula/algo
*/
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
public int getC() {
return c;
}
public void setC(int c) {
this.c = c;
}
public int getD() {
return d;
}
public void setD(int d) {
this.d = d;
}
public int getAc() {
return ac;
}
public void setAc(int ac) {
this.ac = ac;
}
public int getBd() {
return bd;
}
public void setBd(int bd) {
this.bd = bd;
}
public int getAd_bc() {
return ad_bc;
}
public void setAd_bc(int ad_bc) {
this.ad_bc = ad_bc;
}
public int getFirst_factor() {
return first_factor;
}
public void setFirst_factor(int first_factor) {
this.first_factor = first_factor;
}
public int getSecond_factor() {
return second_factor;
}
public void setSecond_factor(int second_factor) {
this.second_factor = second_factor;
}
public KaratsubaImplementation() {
logger.info("Karatsuba object created.");
}
public KaratsubaImplementation(T x, T y) {
@ -28,11 +130,23 @@ public class KaratsubaImplementation<T> implements Karatsuba {
// return type will be always object but with another type inside
}
/**
* this method is the main method to multiply the two numbers it'll
* recursively call itself to separate all double digit and above
* into abcd and compute the karatsuba formula to return the result
*
* @param x any integer to multiply
* @param y any integer to multiply
* @return will return the final integer result of the multiplication of x and y
*
*/
@Override
public int multiply(int x, int y) {
logger.info("Started multiplication process with values of {} and {}",x, y);
int result;
if (x < 10 && y < 10) {
result = x*y;
logger.info("Single digit multiplication ended with result of {}",result);
return result;
}
String[] xyStr = intNormalizer(x, y);
@ -42,40 +156,66 @@ public class KaratsubaImplementation<T> implements Karatsuba {
int b = abcd[1];
int c = abcd[2];
int d = abcd[3];
logger.info("ABCD values determined {} {} {} {}",a,b,c,d);
int ac = multiply(a, c);
int bd = multiply(b, d);
int ADPlusBC = multiply(a+b,c+d) - ac - bd;
logger.info("ad + bc value determined as {}", ADPlusBC);
int tenFactorOne = (int) Math.pow(10, n);
int tenFactorTwo = (int) Math.pow(10, n/2);
int firstFactor = tenFactorOne*ac;
logger.info("First factor value detemirned as {}", firstFactor);
int secondFactor = tenFactorTwo*ADPlusBC;
logger.info("Second factor value determined as {}",secondFactor);
// 10^nAC + 10^(n/2)(AD + BC) + BD
result = firstFactor + secondFactor + bd;
logger.info("Result of the multiplication between {} and {} is {}",x,y,result);
return result;
}
// this method returns an array that contains abcd for the karatsuba formula
/**
* This method will divide x and y into four parts
* should only be used after strings are normalized
*
* @param xyStr String array with x and y values as strings
* @param n Size of the numbers
* @return will return an int array with the abcd values
*
*/
@Override
public int[] intFragmenter(String[] xyStr, int n) {
logger.info("Starting fragmentation of {} and {}",x,y);
int strHalfPoint = n/2;
if (strHalfPoint == 1) {
int a = Integer.parseInt(String.valueOf(xyStr[0].charAt(0)));
int b = Integer.parseInt(String.valueOf(xyStr[0].charAt(1)));
int c = Integer.parseInt(String.valueOf(xyStr[1].charAt(0)));
int d = Integer.parseInt(String.valueOf(xyStr[1].charAt(1)));
logger.info("Ending fragmentation of double digit numbers with {} {} {} {}", a, b, c, d);
return new int[] {a, b, c, d};
}
int a = Integer.parseInt(xyStr[0].substring(0, strHalfPoint));
int b = Integer.parseInt(xyStr[0].substring(strHalfPoint));
int c = Integer.parseInt(xyStr[1].substring(0, strHalfPoint));
int d = Integer.parseInt(xyStr[1].substring(strHalfPoint));
logger.info("Ending fragmentation with {} {} {} {}", a,b,c,d);
return new int[] {a, b, c, d};
}
// This method exists to add left zeroes to the strings to make their size even and equal
/**
* This method exists to add left zeroes to the strings to make their size even and equal
* it is necessary to make sure that the fragmenter does its job properly and avoid
* fragmenting into unneven or odd sized numbers
*
* @param x first number to multiply
* @param y second number to multiply
* @return will return a string array with x and y both normalized
*/
@Override
public String[] intNormalizer(int x, int y) {
logger.info("Starting string normalization with {} {}",x,y);
String xStr = Integer.toString(x);
String yStr = Integer.toString(y);
int xSize = xStr.length();
@ -83,24 +223,47 @@ public class KaratsubaImplementation<T> implements Karatsuba {
while (!isEven(xSize) || !isEven(ySize) || xSize != ySize) {
if (!isEven(xSize) || (xSize < ySize)) {
logger.info("Determined that {} isn't normalized",xStr);
xStr = addLeftZero(xStr);
xSize = xStr.length();
}
if (!isEven(ySize) || (ySize < xSize)) {
logger.info("Determined that {} isn't normalized",yStr);
yStr = addLeftZero(yStr);
ySize = yStr.length();
}
}
logger.info("Ending string normalization with {} {}",xStr,yStr);
return new String[] {xStr, yStr};
}
/**
* This method exists only to add some clearance while reading the code
*
* @param str Number string
* @return add the string with a left zero appended
*
*/
public String addLeftZero(String str) {
logger.info("Added a left zero to {} resulting in 0{}",str,str);
return "0" + str;
}
/**
* This method will check if the input is even or odd
* and return a boolean true if even and false if odd
*
* @param numb Integer number
* @return will return a boolean with true if even and false if odd
*
*/
public boolean isEven(int numb) {
if (numb%2 != 0) {
logger.info("Determined that {} is odd", numb);
return false;
}
logger.info("Determined that {} is even", numb);
return true;
}
}

View File

@ -0,0 +1,9 @@
package karatsuba;
public class KaratsubaInjector implements Injector {
@Override
public Karatsuba getKaratsuba() {
return new KaratsubaImplementation();
}
}

View File

@ -1,12 +1,19 @@
package karatsuba;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
private static final Logger logger
= LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
// 10^nAC + 10^(n/2)(AD + BC) + BD
logger.info("Main class is running.");
int x = 1234;
int y = 5678;
Karatsuba karatsuba = new KaratsubaImplementation();
int result = karatsuba.multiply(x, y);
System.out.println(result);
karatsuba.multiply(x, y);
}
}

View File

@ -4,29 +4,26 @@ import org.junit.Test;
public class KaratsubaImplementationTest {
private Karatsuba karatsuba = new KaratsubaImplementation();
private Injector injector = new KaratsubaInjector();
private Karatsuba karatsuba = injector.getKaratsuba();
@Test
public void singleDigitMultiplication() {
assertEquals(karatsuba.multiply(4, 7), 28);
}
@Test
public void doubleDigitMultiplication() {
assertEquals(karatsuba.multiply(21, 89), 1869);
}
@Test
public void tripleDigitMultiplication() {
assertEquals(karatsuba.multiply(313, 862), 269806);
}
@Test
public void quadDigitMultiplication() {
assertEquals(karatsuba.multiply(1234, 5678), 7006652);
}
@Test
public void quadDigitMultiplicationInverse() {
assertEquals(karatsuba.multiply(5678, 1234), 7006652);