summaryrefslogtreecommitdiff
path: root/libs/python/doc/v2/numeric.html
diff options
context:
space:
mode:
Diffstat (limited to 'libs/python/doc/v2/numeric.html')
-rw-r--r--libs/python/doc/v2/numeric.html276
1 files changed, 276 insertions, 0 deletions
diff --git a/libs/python/doc/v2/numeric.html b/libs/python/doc/v2/numeric.html
new file mode 100644
index 0000000000..eaa390af4d
--- /dev/null
+++ b/libs/python/doc/v2/numeric.html
@@ -0,0 +1,276 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- Copyright David Abrahams 2006. Distributed under the Boost -->
+<!-- Software License, Version 1.0. (See accompanying -->
+<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<html>
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <link rel="stylesheet" type="text/css" href="../boost.css">
+
+ <title>Boost.Python - &lt;boost/python/numeric.hpp&gt;</title>
+</head>
+
+<body>
+ <table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../../index.htm"><img height="86" width="277" alt=
+ "C++ Boost" src="../../../../boost.png" border="0"></a></h3>
+ </td>
+
+ <td valign="top">
+ <h1 align="center"><a href="../index.html">Boost.Python</a></h1>
+
+ <h2 align="center">Header &lt;boost/python/numeric.hpp&gt;</h2>
+ </td>
+ </tr>
+ </table>
+ <hr>
+
+ <h2>Contents</h2>
+
+ <dl class="page-index">
+ <dt><a href="#introduction">Introduction</a></dt>
+
+ <dt><a href="#classes">Classes</a></dt>
+
+ <dd>
+ <dl class="page-index">
+ <dt><a href="#array-spec">Class <code>array</code></a></dt>
+
+ <dd>
+ <dl class="page-index">
+ <dt><a href="#array-spec-synopsis">Class <code>array</code>
+ synopsis</a></dt>
+
+ <dt><a href="#array-spec-observers">Class <code>array</code>
+ observer functions</a></dt>
+
+ <dt><a href="#array-spec-statics">Class <code>array</code> static
+ functions</a></dt>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+
+ <dt><a href="#examples">Example(s)</a></dt>
+ </dl>
+ <hr>
+
+ <h2><a name="introduction" id="introduction"></a>Introduction</h2>
+
+ <p>Exposes a <a href=
+ "ObjectWrapper.html#TypeWrapper-concept">TypeWrapper</a> for the Python
+ <a href=
+ "http://www.python.org/dev/doc/devel/lib/typesmapping.html">array</a>
+ type.</p>
+
+ <h2><a name="classes" id="classes"></a>Classes</h2>
+
+ <h3><a name="array-spec" id="array-spec"></a>Class <code>array</code></h3>
+
+ <p>Provides access to the array types of <a href=
+ "http://www.pfdubois.com/numpy/">Numerical Python</a>'s <a href=
+ "http://www.pfdubois.com/numpy/#Numeric">Numeric</a> and <a href=
+ "http://stsdas.stsci.edu/numarray/index.html">NumArray</a> modules. With
+ the exception of the functions documented <a href=
+ "#array-spec-observers">below</a>, the semantics of the constructors and
+ member functions defined below can be fully understood by reading the
+ <a href="ObjectWrapper.html#TypeWrapper-concept">TypeWrapper</a> concept
+ definition. Since <code>array</code> is publicly derived from
+ <code><a href="object.html#object-spec">object</a></code>, the public
+ object interface applies to <code>array</code> instances as well.</p>
+
+ <p><a name="default_search" id="default_search"></a>The default behavior is
+ to use <code>numarray.NDArray</code> as the associated Python type if the
+ <code>numarray</code> module is installed in the default location.
+ Otherwise it falls back to use <code>Numeric.ArrayType</code>. If neither
+ extension module is installed, overloads of wrapped C++ functions with
+ <code>numeric::array</code> parameters will never be matched, and other
+ attempted uses of <code>numeric::array</code> will <a href=
+ "definitions.html#raise">raise</a> an appropriate Python exception. The
+ associated Python type can be set manually using the <code><a href=
+ "#array-spec-statics">set_module_and_type</a>(...)</code> static
+ function.</p>
+
+ <h4><a name="array-spec-synopsis" id="array-spec-synopsis"></a>Class
+ <code>array</code> synopsis</h4>
+ <pre>
+namespace boost { namespace python { namespace numeric
+{
+ class array : public object
+ {
+ public:
+ object astype();
+ template &lt;class Type&gt;
+ object astype(Type const&amp; type_);
+
+ template &lt;class Type&gt;
+ array new_(Type const&amp; type_) const;
+
+ template &lt;class Sequence&gt;
+ void resize(Sequence const&amp; x);
+ void resize(long x1);
+ void resize(long x1, long x2);
+ ...
+ void resize(long x1, long x2,...long x<i>n</i>);
+
+ template &lt;class Sequence&gt;
+ void setshape(Sequence const&amp; x);
+ void setshape(long x1);
+ void setshape(long x1, long x2);
+ ...
+ void setshape(long x1, long x2,...long x<i>n</i>);
+
+ template &lt;class Indices, class Values&gt;
+ void put(Indices const&amp; indices, Values const&amp; values);
+
+ template &lt;class Sequence&gt;
+ object take(Sequence const&amp; sequence, long axis = 0);
+
+ template &lt;class File&gt;
+ void tofile(File const&amp; f) const;
+
+ object factory();
+ template &lt;class Sequence&gt;
+ object factory(Sequence const&amp;);
+ template &lt;class Sequence, class Typecode&gt;
+ object factory(Sequence const&amp;, Typecode const&amp;, bool copy = true, bool savespace = false);
+ template &lt;class Sequence, class Typecode, class Type&gt;
+ object factory(Sequence const&amp;, Typecode const&amp;, bool copy, bool savespace, Type const&amp;);
+ template &lt;class Sequence, class Typecode, class Type, class Shape&gt;
+ object factory(Sequence const&amp;, Typecode const&amp;, bool copy, bool savespace, Type const&amp;, Shape const&amp;);
+
+ template &lt;class T1&gt;
+ explicit array(T1 const&amp; x1);
+ template &lt;class T1, class T2&gt;
+ explicit array(T1 const&amp; x1, T2 const&amp; x2);
+ ...
+ template &lt;class T1, class T2,...class T<i>n</i>&gt;
+ explicit array(T1 const&amp; x1, T2 const&amp; x2,...T<i>n</i> const&amp; xn);
+
+ static void set_module_and_type();
+ static void set_module_and_type(char const* package_path = 0, char const* type_name = 0);
+ static void get_module_name();
+
+ object argmax(long axis=-1);
+
+ object argmin(long axis=-1);
+
+ object argsort(long axis=-1);
+
+ void byteswap();
+
+ object copy() const;
+
+ object diagonal(long offset = 0, long axis1 = 0, long axis2 = 1) const;
+
+ void info() const;
+
+ bool is_c_array() const;
+ bool isbyteswapped() const;
+ void sort();
+ object trace(long offset = 0, long axis1 = 0, long axis2 = 1) const;
+ object type() const;
+ char typecode() const;
+
+ object getflat() const;
+ long getrank() const;
+ object getshape() const;
+ bool isaligned() const;
+ bool iscontiguous() const;
+ long itemsize() const;
+ long nelements() const;
+ object nonzero() const;
+
+ void ravel();
+
+ object repeat(object const&amp; repeats, long axis=0);
+
+ void setflat(object const&amp; flat);
+
+ void swapaxes(long axis1, long axis2);
+
+ str tostring() const;
+
+ void transpose(object const&amp; axes = object());
+
+ object view() const;
+ };
+}}}
+</pre>
+
+ <h4><a name="array-spec-observers" id="array-spec-observers"></a>Class
+ <code>array</code> observer functions</h4>
+ <pre>
+object factory();
+template &lt;class Sequence&gt;
+object factory(Sequence const&amp;);
+template &lt;class Sequence, class Typecode&gt;
+object factory(Sequence const&amp;, Typecode const&amp;, bool copy = true, bool savespace = false);
+template &lt;class Sequence, class Typecode, class Type&gt;
+object factory(Sequence const&amp;, Typecode const&amp;, bool copy, bool savespace, Type const&amp;);
+template &lt;class Sequence, class Typecode, class Type, class Shape&gt;
+object factory(Sequence const&amp;, Typecode const&amp;, bool copy, bool savespace, Type const&amp;, Shape const&amp;);
+</pre>These functions map to the underlying array type's <code>array()</code>
+function family. They are not called "<code>array</code>" because of the C++
+limitation that you can't define a member function with the same name as its
+enclosing class.
+ <pre>
+template &lt;class Type&gt;
+array new_(Type const&amp;) const;
+</pre>This function maps to the underlying array type's <code>new()</code>
+function. It is not called "<code>new</code>" because that is a keyword in
+C++.
+
+ <h4><a name="array-spec-statics" id="array-spec-statics"></a>Class
+ <code>array</code> static functions</h4>
+ <pre>
+static void set_module_and_type(char const* package_path, char const* type_name);
+static void set_module_and_type();
+</pre>
+
+ <dl class="function-semantics">
+ <dt><b>Requires:</b> <code>package_path</code> and
+ <code>type_name</code>, if supplied, is an <a href=
+ "definitions.html#ntbs">ntbs</a>.</dt>
+
+ <dt><b>Effects:</b> The first form sets the package path of the module
+ that supplies the type named by <code>type_name</code> to
+ <code>package_path</code>. The second form restores the <a href=
+ "#default_search">default search behavior</a>. The associated Python type
+ will be searched for only the first time it is needed, and thereafter the
+ first time it is needed after an invocation of
+ <code>set_module_and_type</code>.</dt>
+ </dl>
+ <pre>
+static std::string get_module_name()
+</pre>
+
+ <dl class="function-semantics">
+ <dt><b>Effects:</b> Returns the name of the module containing the class
+ that will be held by new <code>numeric::array</code> instances.</dt>
+ </dl>
+
+ <h2><a name="examples" id="examples"></a>Example</h2>
+ <pre>
+#include &lt;boost/python/numeric.hpp&gt;
+#include &lt;boost/python/tuple.hpp&gt;
+
+// sets the first element in a 2d numeric array
+void set_first_element(numeric::array&amp; y, double value)
+{
+ y[make_tuple(0,0)] = value;
+}
+</pre>
+
+ <p>Revised 07 October, 2006</p>
+
+ <p><i>&copy; Copyright <a href="http://www.boost.org/people/dave_abrahams.htm">Dave
+ Abrahams</a> 2002-2006.</i></p>
+</body>
+</html>