Skip to content

Commit b4f589a

Browse files
committed
Merge pull request #30 from FilipeMaia/magic_functions
Implementing __repr__ and __array__
2 parents a5394fe + 1e09d86 commit b4f589a

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

arrayfire/array.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,18 @@ def to_list(self, row_major=False):
495495
ct_array, shape = self.to_ctype(row_major, True)
496496
return ctype_to_lists(ct_array, len(shape) - 1, shape)
497497

498+
def __repr__(self):
499+
# Having __repr__ directly print things is a bad idea
500+
# Placeholder for when af_array_to_string is available
501+
# safe_call(backend.get().af_array_to_string...
502+
return '%s of dimensions %s' % (type(self), self.dims())
503+
504+
def __array__(self):
505+
import numpy as np
506+
res = np.empty(self.dims(), dtype=np.dtype(to_typecode[self.type()]), order='F')
507+
safe_call(backend.get().af_get_data_ptr(ct.c_void_p(res.ctypes.data), self.arr))
508+
return res
509+
498510
def display(a):
499511
expr = inspect.stack()[1][-2]
500512
if (expr is not None):

0 commit comments

Comments
 (0)