[python-arrayfire] 25/250: Updating the utility functions and adding relevant tests
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Mon Mar 28 22:59:27 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 52f2c19822381e8682fdaf93b520e0bf997e649f
Author: Pavan Yalamanchili <pavan at arrayfire.com>
Date: Mon Jun 22 13:39:14 2015 -0400
Updating the utility functions and adding relevant tests
---
arrayfire/array.py | 86 ++++++++++++++++++++++++++++++++++++++++++++++-----
arrayfire/util.py | 6 ++++
tests/simple_array.py | 16 ++++++++--
3 files changed, 97 insertions(+), 11 deletions(-)
diff --git a/arrayfire/array.py b/arrayfire/array.py
index fe4407c..c0d01bd 100644
--- a/arrayfire/array.py
+++ b/arrayfire/array.py
@@ -117,10 +117,15 @@ class array(object):
if (self.arr.value != 0):
clib.af_release_array(self.arr)
- def numdims(self):
- nd = c_uint(0)
- safe_call(clib.af_get_numdims(pointer(nd), self.arr))
- return nd.value
+ def elements(self):
+ num = c_ulonglong(0)
+ safe_call(clib.af_get_elements(pointer(num), self.arr))
+ return num.value
+
+ def type(self):
+ dty = c_int(f32.value)
+ safe_call(clib.af_get_type(pointer(dty), self.arr))
+ return dty.value
def dims(self):
d0 = c_longlong(0)
@@ -131,10 +136,75 @@ class array(object):
dims = (d0.value,d1.value,d2.value,d3.value)
return dims[:self.numdims()]
- def type(self):
- dty = c_int(f32.value)
- safe_call(clib.af_get_type(pointer(dty), self.arr))
- return dty.value
+ def numdims(self):
+ nd = c_uint(0)
+ safe_call(clib.af_get_numdims(pointer(nd), self.arr))
+ return nd.value
+
+ def is_empty(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_empty(pointer(res), self.arr))
+ return res.value
+
+ def is_scalar(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_scalar(pointer(res), self.arr))
+ return res.value
+
+ def is_row(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_row(pointer(res), self.arr))
+ return res.value
+
+ def is_column(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_column(pointer(res), self.arr))
+ return res.value
+
+ def is_vector(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_vector(pointer(res), self.arr))
+ return res.value
+
+ def is_complex(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_complex(pointer(res), self.arr))
+ return res.value
+
+ def is_real(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_real(pointer(res), self.arr))
+ return res.value
+
+ def is_double(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_double(pointer(res), self.arr))
+ return res.value
+
+ def is_single(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_single(pointer(res), self.arr))
+ return res.value
+
+ def is_real_floating(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_realfloating(pointer(res), self.arr))
+ return res.value
+
+ def is_floating(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_floating(pointer(res), self.arr))
+ return res.value
+
+ def is_integer(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_integer(pointer(res), self.arr))
+ return res.value
+
+ def is_bool(self):
+ res = c_bool(False)
+ safe_call(clib.af_is_bool(pointer(res), self.arr))
+ return res.value
def __add__(self, other):
return binary_func(self, other, clib.af_add)
diff --git a/arrayfire/util.py b/arrayfire/util.py
index a1b8586..3e527cd 100644
--- a/arrayfire/util.py
+++ b/arrayfire/util.py
@@ -31,6 +31,12 @@ def safe_call(af_error):
clib.af_get_last_error(pointer(c_err_str), pointer(c_err_len))
raise RuntimeError(to_str(c_err_str), af_error)
+def get_version():
+ major=c_int(0)
+ minor=c_int(0)
+ patch=c_int(0)
+ safe_call(clib.af_get_version(pointer(major), pointer(minor), pointer(patch)))
+ return major,minor,patch
to_dtype = {'f' : f32,
'd' : f64,
diff --git a/tests/simple_array.py b/tests/simple_array.py
index 8d5001b..b97fa1b 100644
--- a/tests/simple_array.py
+++ b/tests/simple_array.py
@@ -4,12 +4,22 @@ import array as host
a = af.array([1, 2, 3])
af.print_array(a)
-print(a.numdims(), a.dims(), a.type())
+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())
+
a = af.array(host.array('d', [4, 5, 6]))
af.print_array(a)
-print(a.numdims(), a.dims(), a.type())
+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())
a = af.array(host.array('l', [7, 8, 9] * 4), (2, 5))
af.print_array(a)
-print(a.numdims(), a.dims(), a.type())
+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())
--
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