summaryrefslogtreecommitdiff
path: root/doc/source/f2py/array_session.dat
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2014-01-02 22:12:01 +0200
committerPauli Virtanen <pav@iki.fi>2014-01-02 22:19:47 +0200
commit75c2d2fe3cc9daa6589707fb6b8512ffa48fc365 (patch)
tree32e729ca94dd28e06c7c2e10fd250f2ce4b91a2a /doc/source/f2py/array_session.dat
parenta32807e61b25205cc08d552127234b56709c6242 (diff)
downloadnumpy-75c2d2fe3cc9daa6589707fb6b8512ffa48fc365.tar.gz
DOC: move f2py documentation under doc/ and link its user guide with Sphinx
Diffstat (limited to 'doc/source/f2py/array_session.dat')
-rw-r--r--doc/source/f2py/array_session.dat65
1 files changed, 65 insertions, 0 deletions
diff --git a/doc/source/f2py/array_session.dat b/doc/source/f2py/array_session.dat
new file mode 100644
index 000000000..f64933482
--- /dev/null
+++ b/doc/source/f2py/array_session.dat
@@ -0,0 +1,65 @@
+>>> import arr
+>>> from Numeric import array
+>>> print arr.foo.__doc__
+foo - Function signature:
+ a = foo(a,[overwrite_a])
+Required arguments:
+ a : input rank-2 array('d') with bounds (n,m)
+Optional arguments:
+ overwrite_a := 0 input int
+Return objects:
+ a : rank-2 array('d') with bounds (n,m)
+
+>>> a=arr.foo([[1,2,3],
+... [4,5,6]])
+copied an array using PyArray_CopyFromObject: size=6, elsize=8
+>>> print a
+[[ 1. 3. 4.]
+ [ 3. 5. 6.]]
+>>> a.iscontiguous(), arr.has_column_major_storage(a)
+(0, 1)
+>>> b=arr.foo(a) # even if a is proper-contiguous
+... # and has proper type, a copy is made
+... # forced by intent(copy) attribute
+... # to preserve its original contents
+...
+copied an array using copy_ND_array: size=6, elsize=8
+>>> print a
+[[ 1. 3. 4.]
+ [ 3. 5. 6.]]
+>>> print b
+[[ 1. 4. 5.]
+ [ 2. 5. 6.]]
+>>> b=arr.foo(a,overwrite_a=1) # a is passed directly to Fortran
+... # routine and its contents is discarded
+...
+>>> print a
+[[ 1. 4. 5.]
+ [ 2. 5. 6.]]
+>>> print b
+[[ 1. 4. 5.]
+ [ 2. 5. 6.]]
+>>> a is b # a and b are acctually the same objects
+1
+>>> print arr.foo([1,2,3]) # different rank arrays are allowed
+copied an array using PyArray_CopyFromObject: size=3, elsize=8
+[ 1. 1. 2.]
+>>> print arr.foo([[[1],[2],[3]]])
+copied an array using PyArray_CopyFromObject: size=3, elsize=8
+[ [[ 1.]
+ [ 3.]
+ [ 4.]]]
+>>>
+>>> # Creating arrays with column major data storage order:
+...
+>>> s = arr.as_column_major_storage(array([[1,2,3],[4,5,6]]))
+copied an array using copy_ND_array: size=6, elsize=4
+>>> arr.has_column_major_storage(s)
+1
+>>> print s
+[[1 2 3]
+ [4 5 6]]
+>>> s2 = arr.as_column_major_storage(s)
+>>> s2 is s # an array with column major storage order
+ # is returned immediately
+1 \ No newline at end of file