binaryninja/personal/api-docs/binaryninja.numbers-module.html

407 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>numbers module &mdash; Binary Ninja API Documentation v1.1</title>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/css/other.css" type="text/css" />
<link rel="index" title="Index"
href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Binary Ninja API Documentation v1.1" href="index.html"/>
<link rel="next" title="binaryninja.numbers.ABCMeta" href="binaryninja.numbers.ABCMeta.html"/>
<link rel="prev" title="binaryninja.metadata.range" href="binaryninja.metadata.range.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> Binary Ninja API
</a>
<div class="version">
<script>
window.addEventListener("load", function() {
var ver = document.getElementsByClassName("version");
ver[0].innerHTML = DOCUMENTATION_OPTIONS['VERSION'];
});
</script>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="binaryninja.architecture-module.html">architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.atexit-module.html">atexit</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.basicblock-module.html">basicblock</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.binaryview-module.html">binaryview</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.callingconvention-module.html">callingconvention</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.databuffer-module.html">databuffer</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.datarender-module.html">datarender</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.demangle-module.html">demangle</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.downloadprovider-module.html">downloadprovider</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.enums-module.html">enums</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.fileaccessor-module.html">fileaccessor</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.filemetadata-module.html">filemetadata</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.flowgraph-module.html">flowgraph</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.function-module.html">function</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.functionrecognizer-module.html">functionrecognizer</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.highlight-module.html">highlight</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.interaction-module.html">interaction</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.lineardisassembly-module.html">lineardisassembly</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.log-module.html">log</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.lowlevelil-module.html">lowlevelil</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.mainthread-module.html">mainthread</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.mediumlevelil-module.html">mediumlevelil</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.metadata-module.html">metadata</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">numbers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.ABCMeta.html">binaryninja.numbers.ABCMeta</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.Complex.html">binaryninja.numbers.Complex</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.Integral.html">binaryninja.numbers.Integral</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.Number.html">binaryninja.numbers.Number</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.Rational.html">binaryninja.numbers.Rational</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.Real.html">binaryninja.numbers.Real</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.abstractproperty.html">binaryninja.numbers.abstractproperty</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.numbers.abstractmethod.html">binaryninja.numbers.abstractmethod</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.platform-module.html">platform</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.plugin-module.html">plugin</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.pluginmanager-module.html">pluginmanager</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.scriptingprovider-module.html">scriptingprovider</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.settings-module.html">settings</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.transform-module.html">transform</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.types-module.html">types</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.undoaction-module.html">undoaction</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.update-module.html">update</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Binary Ninja API</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>numbers module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/binaryninja.numbers-module.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="numbers-module">
<h1>numbers module<a class="headerlink" href="#numbers-module" title="Permalink to this headline"></a></h1>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.numbers.ABCMeta.html#binaryninja.numbers.ABCMeta" title="binaryninja.numbers.ABCMeta"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.ABCMeta</span></code></a></td>
<td>Metaclass for defining Abstract Base Classes (ABCs).</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="binaryninja.numbers.Complex.html#binaryninja.numbers.Complex" title="binaryninja.numbers.Complex"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.Complex</span></code></a></td>
<td>Complex defines the operations that work on the builtin complex type.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.numbers.Integral.html#binaryninja.numbers.Integral" title="binaryninja.numbers.Integral"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.Integral</span></code></a></td>
<td>Integral adds a conversion to long and the bit-string operations.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="binaryninja.numbers.Number.html#binaryninja.numbers.Number" title="binaryninja.numbers.Number"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.Number</span></code></a></td>
<td>All numbers inherit from this class.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.numbers.Rational.html#binaryninja.numbers.Rational" title="binaryninja.numbers.Rational"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.Rational</span></code></a></td>
<td>.numerator and .denominator should be in lowest terms.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="binaryninja.numbers.Real.html#binaryninja.numbers.Real" title="binaryninja.numbers.Real"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.Real</span></code></a></td>
<td>To Complex, Real adds the operations that work on real numbers.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.numbers.abstractproperty.html#binaryninja.numbers.abstractproperty" title="binaryninja.numbers.abstractproperty"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.abstractproperty</span></code></a></td>
<td>A decorator indicating abstract properties.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="binaryninja.numbers.abstractmethod.html#binaryninja.numbers.abstractmethod" title="binaryninja.numbers.abstractmethod"><code class="xref py py-obj docutils literal notranslate"><span class="pre">binaryninja.numbers.abstractmethod</span></code></a>(funcobj)</td>
<td>A decorator indicating abstract methods.</td>
</tr>
</tbody>
</table>
<div class="toctree-wrapper compound">
</div>
<span class="target" id="module-binaryninja.numbers"></span><p>Abstract Base Classes (ABCs) for numbers, according to PEP 3141.</p>
<p>TODO: Fill out more detailed documentation on the operators.</p>
<dl class="class">
<dt id="binaryninja.numbers.Number">
<em class="property">class </em><code class="descname">Number</code><a class="headerlink" href="#binaryninja.numbers.Number" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>All numbers inherit from this class.</p>
<p>If you just want to check if an argument x is a number, without
caring what kind, use isinstance(x, Number).</p>
</dd></dl>
<dl class="class">
<dt id="binaryninja.numbers.Complex">
<em class="property">class </em><code class="descname">Complex</code><a class="headerlink" href="#binaryninja.numbers.Complex" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/numbers.html#numbers.Number" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">numbers.Number</span></code></a></p>
<p>Complex defines the operations that work on the builtin complex type.</p>
<p>In short, those are: a conversion to complex, .real, .imag, +, -,
<a href="#id1"><span class="problematic" id="id2">*</span></a>, /, abs(), .conjugate, ==, and !=.</p>
<p>If it is given heterogenous arguments, and doesnt have special
knowledge about them, it should fall back to the builtin complex
type as described below.</p>
<dl class="method">
<dt id="binaryninja.numbers.Complex.conjugate">
<code class="descname">conjugate</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#binaryninja.numbers.Complex.conjugate" title="Permalink to this definition"></a></dt>
<dd><p>(x+y*i).conjugate() returns (x-y*i).</p>
</dd></dl>
<dl class="attribute">
<dt id="binaryninja.numbers.Complex.imag">
<code class="descname">imag</code><a class="headerlink" href="#binaryninja.numbers.Complex.imag" title="Permalink to this definition"></a></dt>
<dd><p>Retrieve the imaginary component of this number.</p>
<p>This should subclass Real.</p>
</dd></dl>
<dl class="attribute">
<dt id="binaryninja.numbers.Complex.real">
<code class="descname">real</code><a class="headerlink" href="#binaryninja.numbers.Complex.real" title="Permalink to this definition"></a></dt>
<dd><p>Retrieve the real component of this number.</p>
<p>This should subclass Real.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="binaryninja.numbers.Real">
<em class="property">class </em><code class="descname">Real</code><a class="headerlink" href="#binaryninja.numbers.Real" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/numbers.html#numbers.Complex" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">numbers.Complex</span></code></a></p>
<p>To Complex, Real adds the operations that work on real numbers.</p>
<p>In short, those are: a conversion to float, trunc(), divmod,
%, &lt;, &lt;=, &gt;, and &gt;=.</p>
<p>Real also provides defaults for the derived operations.</p>
<dl class="method">
<dt id="binaryninja.numbers.Real.conjugate">
<code class="descname">conjugate</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#binaryninja.numbers.Real.conjugate" title="Permalink to this definition"></a></dt>
<dd><p>Conjugate is a no-op for Reals.</p>
</dd></dl>
<dl class="attribute">
<dt id="binaryninja.numbers.Real.imag">
<code class="descname">imag</code><a class="headerlink" href="#binaryninja.numbers.Real.imag" title="Permalink to this definition"></a></dt>
<dd><p>Real numbers have no imaginary component.</p>
</dd></dl>
<dl class="attribute">
<dt id="binaryninja.numbers.Real.real">
<code class="descname">real</code><a class="headerlink" href="#binaryninja.numbers.Real.real" title="Permalink to this definition"></a></dt>
<dd><p>Real numbers are their real component.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="binaryninja.numbers.Rational">
<em class="property">class </em><code class="descname">Rational</code><a class="headerlink" href="#binaryninja.numbers.Rational" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/numbers.html#numbers.Real" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">numbers.Real</span></code></a></p>
<p>.numerator and .denominator should be in lowest terms.</p>
<dl class="attribute">
<dt id="binaryninja.numbers.Rational.denominator">
<code class="descname">denominator</code><a class="headerlink" href="#binaryninja.numbers.Rational.denominator" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="binaryninja.numbers.Rational.numerator">
<code class="descname">numerator</code><a class="headerlink" href="#binaryninja.numbers.Rational.numerator" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="binaryninja.numbers.Integral">
<em class="property">class </em><code class="descname">Integral</code><a class="headerlink" href="#binaryninja.numbers.Integral" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/numbers.html#numbers.Rational" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">numbers.Rational</span></code></a></p>
<p>Integral adds a conversion to long and the bit-string operations.</p>
<dl class="attribute">
<dt id="binaryninja.numbers.Integral.denominator">
<code class="descname">denominator</code><a class="headerlink" href="#binaryninja.numbers.Integral.denominator" title="Permalink to this definition"></a></dt>
<dd><p>Integers have a denominator of 1.</p>
</dd></dl>
<dl class="attribute">
<dt id="binaryninja.numbers.Integral.numerator">
<code class="descname">numerator</code><a class="headerlink" href="#binaryninja.numbers.Integral.numerator" title="Permalink to this definition"></a></dt>
<dd><p>Integers are their own numerators.</p>
</dd></dl>
</dd></dl>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="binaryninja.numbers.ABCMeta.html" class="btn btn-neutral float-right" title="binaryninja.numbers.ABCMeta" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="binaryninja.metadata.range.html" class="btn btn-neutral" title="binaryninja.metadata.range" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2015-2019, Vector 35 Inc.
</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>