[python-arrayfire] 38/250: FEAT: Add support for copy and constructing af.array from another array

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Mon Mar 28 22:59:28 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/master
in repository python-arrayfire.

commit 27010f4792898c746f44f9d89e86eabf32caa255
Author: Pavan Yalamanchili <pavan at arrayfire.com>
Date:   Thu Jul 16 13:40:30 2015 -0400

    FEAT: Add support for copy and constructing af.array from another array
---
 arrayfire/array.py    | 9 +++++++++
 tests/simple_array.py | 6 ++++++
 2 files changed, 15 insertions(+)

diff --git a/arrayfire/array.py b/arrayfire/array.py
index 4dfce65..91f3d7e 100644
--- a/arrayfire/array.py
+++ b/arrayfire/array.py
@@ -96,6 +96,10 @@ class array(object):
 
         if src is not None:
 
+            if (isinstance(src, array)):
+                safe_call(clib.af_retain_array(ct.pointer(self.arr), src.arr))
+                return
+
             host = __import__("array")
 
             if isinstance(src, host.array):
@@ -124,6 +128,11 @@ class array(object):
 
             self.arr = create_array(buf, numdims, idims, dtype)
 
+    def copy(self):
+        out = array()
+        safe_call(clib.af_retain_array(ct.pointer(out.arr), self.arr))
+        return out
+
     def __del__(self):
         if (self.arr.value != 0):
             clib.af_release_array(self.arr)
diff --git a/tests/simple_array.py b/tests/simple_array.py
index f0a2b52..c51998f 100755
--- a/tests/simple_array.py
+++ b/tests/simple_array.py
@@ -32,3 +32,9 @@ print(a.elements(), a.type(), a.dims(), a.numdims())
 print(a.is_empty(), a.is_scalar(), a.is_column(), a.is_row())
 print(a.is_complex(), a.is_real(), a.is_double(), a.is_single())
 print(a.is_real_floating(), a.is_floating(), a.is_integer(), a.is_bool())
+
+b = af.array(a)
+af.print_array(b)
+
+c = a.copy()
+af.print_array(c)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/python-arrayfire.git



More information about the debian-science-commits mailing list