[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.15.144.162: ~ $

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Number Protocol &mdash; Python 2.7.5 documentation</title>
    
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.7.5',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </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/sidebar.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python 2.7.5 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="top" title="Python 2.7.5 documentation" href="../index.html" />
    <link rel="up" title="Abstract Objects Layer" href="abstract.html" />
    <link rel="next" title="Sequence Protocol" href="sequence.html" />
    <link rel="prev" title="Object Protocol" href="object.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    
 

  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="sequence.html" title="Sequence Protocol"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="object.html" title="Object Protocol"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python 2.7.5 documentation</a> &raquo;
        </li>

          <li><a href="index.html" >Python/C API Reference Manual</a> &raquo;</li>
          <li><a href="abstract.html" accesskey="U">Abstract Objects Layer</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="number-protocol">
<span id="number"></span><h1>Number Protocol<a class="headerlink" href="#number-protocol" title="Permalink to this headline">¶</a></h1>
<dl class="function">
<dt id="PyNumber_Check">
int <tt class="descname">PyNumber_Check</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Check" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns <tt class="docutils literal"><span class="pre">1</span></tt> if the object <em>o</em> provides numeric protocols, and false otherwise.
This function always succeeds.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Add">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Add</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Add" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of adding <em>o1</em> and <em>o2</em>, or <em>NULL</em> on failure.  This is the
equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">+</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Subtract">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Subtract</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Subtract" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of subtracting <em>o2</em> from <em>o1</em>, or <em>NULL</em> on failure.  This is
the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">-</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Multiply">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Multiply</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Multiply" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of multiplying <em>o1</em> and <em>o2</em>, or <em>NULL</em> on failure.  This is
the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">*</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Divide">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Divide</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Divide" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of dividing <em>o1</em> by <em>o2</em>, or <em>NULL</em> on failure.  This is the
equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">/</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_FloorDivide">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_FloorDivide</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_FloorDivide" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Return the floor of <em>o1</em> divided by <em>o2</em>, or <em>NULL</em> on failure.  This is
equivalent to the &#8220;classic&#8221; division of integers.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.2.</span></p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_TrueDivide">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_TrueDivide</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_TrueDivide" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Return a reasonable approximation for the mathematical value of <em>o1</em> divided by
<em>o2</em>, or <em>NULL</em> on failure.  The return value is &#8220;approximate&#8221; because binary
floating point numbers are approximate; it is not possible to represent all real
numbers in base two.  This function can return a floating point value when
passed two integers.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.2.</span></p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Remainder">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Remainder</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Remainder" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the remainder of dividing <em>o1</em> by <em>o2</em>, or <em>NULL</em> on failure.  This is
the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">%</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Divmod">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Divmod</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Divmod" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p id="index-0">See the built-in function <a class="reference internal" href="../library/functions.html#divmod" title="divmod"><tt class="xref py py-func docutils literal"><span class="pre">divmod()</span></tt></a>. Returns <em>NULL</em> on failure.  This is
the equivalent of the Python expression <tt class="docutils literal"><span class="pre">divmod(o1,</span> <span class="pre">o2)</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Power">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Power</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o3</em><big>)</big><a class="headerlink" href="#PyNumber_Power" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p id="index-1">See the built-in function <a class="reference internal" href="../library/functions.html#pow" title="pow"><tt class="xref py py-func docutils literal"><span class="pre">pow()</span></tt></a>. Returns <em>NULL</em> on failure.  This is the
equivalent of the Python expression <tt class="docutils literal"><span class="pre">pow(o1,</span> <span class="pre">o2,</span> <span class="pre">o3)</span></tt>, where <em>o3</em> is optional.
If <em>o3</em> is to be ignored, pass <a class="reference internal" href="none.html#Py_None" title="Py_None"><tt class="xref c c-data docutils literal"><span class="pre">Py_None</span></tt></a> in its place (passing <em>NULL</em> for
<em>o3</em> would cause an illegal memory access).</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Negative">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Negative</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Negative" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the negation of <em>o</em> on success, or <em>NULL</em> on failure. This is the
equivalent of the Python expression <tt class="docutils literal"><span class="pre">-o</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Positive">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Positive</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Positive" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns <em>o</em> on success, or <em>NULL</em> on failure.  This is the equivalent of the
Python expression <tt class="docutils literal"><span class="pre">+o</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Absolute">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Absolute</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Absolute" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p id="index-2">Returns the absolute value of <em>o</em>, or <em>NULL</em> on failure.  This is the equivalent
of the Python expression <tt class="docutils literal"><span class="pre">abs(o)</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Invert">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Invert</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Invert" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the bitwise negation of <em>o</em> on success, or <em>NULL</em> on failure.  This is
the equivalent of the Python expression <tt class="docutils literal"><span class="pre">~o</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Lshift">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Lshift</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Lshift" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of left shifting <em>o1</em> by <em>o2</em> on success, or <em>NULL</em> on
failure.  This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">&lt;&lt;</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Rshift">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Rshift</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Rshift" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of right shifting <em>o1</em> by <em>o2</em> on success, or <em>NULL</em> on
failure.  This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">&gt;&gt;</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_And">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_And</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_And" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the &#8220;bitwise and&#8221; of <em>o1</em> and <em>o2</em> on success and <em>NULL</em> on failure.
This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">&amp;</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Xor">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Xor</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Xor" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the &#8220;bitwise exclusive or&#8221; of <em>o1</em> by <em>o2</em> on success, or <em>NULL</em> on
failure.  This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">^</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Or">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Or</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_Or" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the &#8220;bitwise or&#8221; of <em>o1</em> and <em>o2</em> on success, or <em>NULL</em> on failure.
This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">|</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceAdd">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceAdd</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceAdd" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of adding <em>o1</em> and <em>o2</em>, or <em>NULL</em> on failure.  The operation
is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent of the Python
statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">+=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceSubtract">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceSubtract</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceSubtract" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of subtracting <em>o2</em> from <em>o1</em>, or <em>NULL</em> on failure.  The
operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent of
the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">-=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceMultiply">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceMultiply</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceMultiply" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of multiplying <em>o1</em> and <em>o2</em>, or <em>NULL</em> on failure.  The
operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent of
the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">*=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceDivide">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceDivide</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceDivide" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of dividing <em>o1</em> by <em>o2</em>, or <em>NULL</em> on failure.  The
operation is done <em>in-place</em> when <em>o1</em> supports it. This is the equivalent of
the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">/=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceFloorDivide">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceFloorDivide</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceFloorDivide" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the mathematical floor of dividing <em>o1</em> by <em>o2</em>, or <em>NULL</em> on failure.
The operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent
of the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">//=</span> <span class="pre">o2</span></tt>.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.2.</span></p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceTrueDivide">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceTrueDivide</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceTrueDivide" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Return a reasonable approximation for the mathematical value of <em>o1</em> divided by
<em>o2</em>, or <em>NULL</em> on failure.  The return value is &#8220;approximate&#8221; because binary
floating point numbers are approximate; it is not possible to represent all real
numbers in base two.  This function can return a floating point value when
passed two integers.  The operation is done <em>in-place</em> when <em>o1</em> supports it.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.2.</span></p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceRemainder">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceRemainder</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceRemainder" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the remainder of dividing <em>o1</em> by <em>o2</em>, or <em>NULL</em> on failure.  The
operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent of
the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">%=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlacePower">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlacePower</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o3</em><big>)</big><a class="headerlink" href="#PyNumber_InPlacePower" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p id="index-3">See the built-in function <a class="reference internal" href="../library/functions.html#pow" title="pow"><tt class="xref py py-func docutils literal"><span class="pre">pow()</span></tt></a>. Returns <em>NULL</em> on failure.  The operation
is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent of the Python
statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">**=</span> <span class="pre">o2</span></tt> when o3 is <a class="reference internal" href="none.html#Py_None" title="Py_None"><tt class="xref c c-data docutils literal"><span class="pre">Py_None</span></tt></a>, or an in-place variant of
<tt class="docutils literal"><span class="pre">pow(o1,</span> <span class="pre">o2,</span> <span class="pre">o3)</span></tt> otherwise. If <em>o3</em> is to be ignored, pass <a class="reference internal" href="none.html#Py_None" title="Py_None"><tt class="xref c c-data docutils literal"><span class="pre">Py_None</span></tt></a>
in its place (passing <em>NULL</em> for <em>o3</em> would cause an illegal memory access).</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceLshift">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceLshift</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceLshift" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of left shifting <em>o1</em> by <em>o2</em> on success, or <em>NULL</em> on
failure.  The operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the
equivalent of the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">&lt;&lt;=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceRshift">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceRshift</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceRshift" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the result of right shifting <em>o1</em> by <em>o2</em> on success, or <em>NULL</em> on
failure.  The operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the
equivalent of the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">&gt;&gt;=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceAnd">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceAnd</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceAnd" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the &#8220;bitwise and&#8221; of <em>o1</em> and <em>o2</em> on success and <em>NULL</em> on failure. The
operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent of
the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">&amp;=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceXor">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceXor</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceXor" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the &#8220;bitwise exclusive or&#8221; of <em>o1</em> by <em>o2</em> on success, or <em>NULL</em> on
failure.  The operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the
equivalent of the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">^=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_InPlaceOr">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_InPlaceOr</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o2</em><big>)</big><a class="headerlink" href="#PyNumber_InPlaceOr" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p>Returns the &#8220;bitwise or&#8221; of <em>o1</em> and <em>o2</em> on success, or <em>NULL</em> on failure.  The
operation is done <em>in-place</em> when <em>o1</em> supports it.  This is the equivalent of
the Python statement <tt class="docutils literal"><span class="pre">o1</span> <span class="pre">|=</span> <span class="pre">o2</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Coerce">
int <tt class="descname">PyNumber_Coerce</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;**p1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;**p2</em><big>)</big><a class="headerlink" href="#PyNumber_Coerce" title="Permalink to this definition">¶</a></dt>
<dd><p id="index-4">This function takes the addresses of two variables of type <a class="reference internal" href="structures.html#PyObject" title="PyObject"><tt class="xref c c-type docutils literal"><span class="pre">PyObject*</span></tt></a>.
If the objects pointed to by <tt class="docutils literal"><span class="pre">*p1</span></tt> and <tt class="docutils literal"><span class="pre">*p2</span></tt> have the same type, increment
their reference count and return <tt class="docutils literal"><span class="pre">0</span></tt> (success). If the objects can be
converted to a common numeric type, replace <tt class="docutils literal"><span class="pre">*p1</span></tt> and <tt class="docutils literal"><span class="pre">*p2</span></tt> by their
converted value (with &#8216;new&#8217; reference counts), and return <tt class="docutils literal"><span class="pre">0</span></tt>. If no
conversion is possible, or if some other error occurs, return <tt class="docutils literal"><span class="pre">-1</span></tt> (failure)
and don&#8217;t increment the reference counts.  The call <tt class="docutils literal"><span class="pre">PyNumber_Coerce(&amp;o1,</span>
<span class="pre">&amp;o2)</span></tt> is equivalent to the Python statement <tt class="docutils literal"><span class="pre">o1,</span> <span class="pre">o2</span> <span class="pre">=</span> <span class="pre">coerce(o1,</span> <span class="pre">o2)</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_CoerceEx">
int <tt class="descname">PyNumber_CoerceEx</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;**p1</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;**p2</em><big>)</big><a class="headerlink" href="#PyNumber_CoerceEx" title="Permalink to this definition">¶</a></dt>
<dd><p>This function is similar to <a class="reference internal" href="#PyNumber_Coerce" title="PyNumber_Coerce"><tt class="xref c c-func docutils literal"><span class="pre">PyNumber_Coerce()</span></tt></a>, except that it returns
<tt class="docutils literal"><span class="pre">1</span></tt> when the conversion is not possible and when no error is raised.
Reference counts are still not increased in this case.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Int">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Int</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Int" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p id="index-5">Returns the <em>o</em> converted to an integer object on success, or <em>NULL</em> on failure.
If the argument is outside the integer range a long object will be returned
instead. This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">int(o)</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Long">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Long</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Long" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p id="index-6">Returns the <em>o</em> converted to a long integer object on success, or <em>NULL</em> on
failure.  This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">long(o)</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Float">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Float</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Float" title="Permalink to this definition">¶</a></dt>
<dd><em class="refcount">Return value: New reference.</em><p id="index-7">Returns the <em>o</em> converted to a float object on success, or <em>NULL</em> on failure.
This is the equivalent of the Python expression <tt class="docutils literal"><span class="pre">float(o)</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_Index">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_Index</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyNumber_Index" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the <em>o</em> converted to a Python int or long on success or <em>NULL</em> with a
<a class="reference internal" href="../library/exceptions.html#exceptions.TypeError" title="exceptions.TypeError"><tt class="xref py py-exc docutils literal"><span class="pre">TypeError</span></tt></a> exception raised on failure.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.5.</span></p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_ToBase">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyNumber_ToBase</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*n</em>, int<em>&nbsp;base</em><big>)</big><a class="headerlink" href="#PyNumber_ToBase" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the integer <em>n</em> converted to <em>base</em> as a string with a base
marker of <tt class="docutils literal"><span class="pre">'0b'</span></tt>, <tt class="docutils literal"><span class="pre">'0o'</span></tt>, or <tt class="docutils literal"><span class="pre">'0x'</span></tt> if applicable.  When
<em>base</em> is not 2, 8, 10, or 16, the format is <tt class="docutils literal"><span class="pre">'x#num'</span></tt> where x is the
base. If <em>n</em> is not an int object, it is converted with
<a class="reference internal" href="#PyNumber_Index" title="PyNumber_Index"><tt class="xref c c-func docutils literal"><span class="pre">PyNumber_Index()</span></tt></a> first.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.6.</span></p>
</dd></dl>

<dl class="function">
<dt id="PyNumber_AsSsize_t">
Py_ssize_t <tt class="descname">PyNumber_AsSsize_t</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*exc</em><big>)</big><a class="headerlink" href="#PyNumber_AsSsize_t" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns <em>o</em> converted to a Py_ssize_t value if <em>o</em> can be interpreted as an
integer. If <em>o</em> can be converted to a Python int or long but the attempt to
convert to a Py_ssize_t value would raise an <a class="reference internal" href="../library/exceptions.html#exceptions.OverflowError" title="exceptions.OverflowError"><tt class="xref py py-exc docutils literal"><span class="pre">OverflowError</span></tt></a>, then the
<em>exc</em> argument is the type of exception that will be raised (usually
<a class="reference internal" href="../library/exceptions.html#exceptions.IndexError" title="exceptions.IndexError"><tt class="xref py py-exc docutils literal"><span class="pre">IndexError</span></tt></a> or <a class="reference internal" href="../library/exceptions.html#exceptions.OverflowError" title="exceptions.OverflowError"><tt class="xref py py-exc docutils literal"><span class="pre">OverflowError</span></tt></a>).  If <em>exc</em> is <em>NULL</em>, then the
exception is cleared and the value is clipped to <em>PY_SSIZE_T_MIN</em> for a negative
integer or <em>PY_SSIZE_T_MAX</em> for a positive integer.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.5.</span></p>
</dd></dl>

<dl class="function">
<dt id="PyIndex_Check">
int <tt class="descname">PyIndex_Check</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*o</em><big>)</big><a class="headerlink" href="#PyIndex_Check" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns True if <em>o</em> is an index integer (has the nb_index slot of  the
tp_as_number structure filled in).</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.5.</span></p>
</dd></dl>

</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="object.html"
                        title="previous chapter">Object Protocol</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="sequence.html"
                        title="next chapter">Sequence Protocol</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
  <li><a href="../bugs.html">Report a Bug</a></li>
  <li><a href="../_sources/c-api/number.txt"
         rel="nofollow">Show Source</a></li>
</ul>

<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="sequence.html" title="Sequence Protocol"
             >next</a> |</li>
        <li class="right" >
          <a href="object.html" title="Object Protocol"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python 2.7.5 documentation</a> &raquo;
        </li>

          <li><a href="index.html" >Python/C API Reference Manual</a> &raquo;</li>
          <li><a href="abstract.html" >Abstract Objects Layer</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 1990-2019, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="http://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Jul 03, 2019.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>

  </body>
</html>

Filemanager

Name Type Size Permission Actions
abstract.html File 7.09 KB 0644
allocation.html File 16.94 KB 0644
arg.html File 55.63 KB 0644
bool.html File 9.24 KB 0644
buffer.html File 43.94 KB 0644
bytearray.html File 13.03 KB 0644
capsule.html File 19.04 KB 0644
cell.html File 10.36 KB 0644
class.html File 10.48 KB 0644
cobject.html File 11.06 KB 0644
code.html File 10.79 KB 0644
codec.html File 18.94 KB 0644
complex.html File 19.01 KB 0644
concrete.html File 15.16 KB 0644
conversion.html File 20.98 KB 0644
datetime.html File 23.48 KB 0644
descriptor.html File 10.97 KB 0644
dict.html File 29.9 KB 0644
exceptions.html File 75.95 KB 0644
file.html File 21.85 KB 0644
float.html File 15.85 KB 0644
function.html File 13.16 KB 0644
gcsupport.html File 20.25 KB 0644
gen.html File 7.92 KB 0644
import.html File 32.45 KB 0644
index.html File 12.55 KB 0644
init.html File 96.34 KB 0644
int.html File 18.31 KB 0644
intro.html File 62.21 KB 0644
iter.html File 9.16 KB 0644
iterator.html File 10.9 KB 0644
list.html File 22.27 KB 0644
long.html File 31.93 KB 0644
mapping.html File 14.41 KB 0644
marshal.html File 14.77 KB 0644
memory.html File 23.17 KB 0644
method.html File 12.47 KB 0644
module.html File 15.33 KB 0644
none.html File 7.39 KB 0644
number.html File 43.95 KB 0644
objbuffer.html File 11.26 KB 0644
object.html File 51.97 KB 0644
objimpl.html File 6.9 KB 0644
refcounting.html File 11.86 KB 0644
reflection.html File 9.82 KB 0644
sequence.html File 28.3 KB 0644
set.html File 28.22 KB 0644
slice.html File 11.19 KB 0644
string.html File 33.52 KB 0644
structures.html File 30.79 KB 0644
sys.html File 19.18 KB 0644
tuple.html File 19.49 KB 0644
type.html File 12.86 KB 0644
typeobj.html File 150.06 KB 0644
unicode.html File 105.59 KB 0644
utilities.html File 7.23 KB 0644
veryhigh.html File 40.2 KB 0644
weakref.html File 12.48 KB 0644