From 92068a880867b112f8f27eb6869f9b672c2bb736 Mon Sep 17 00:00:00 2001 From: Filipe Maia Date: Thu, 24 Mar 2016 19:29:31 +0100 Subject: [PATCH] Ensure arrayfire is called in infix operations with numpy --- arrayfire/array.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arrayfire/array.py b/arrayfire/array.py index e539b057a..9c3dfba85 100644 --- a/arrayfire/array.py +++ b/arrayfire/array.py @@ -373,6 +373,12 @@ class Array(BaseArray): """ + # Numpy checks this attribute to know which class handles binary builtin operations, such as __add__. + # Setting to such a high value should make sure that arrayfire has priority over + # other classes, ensuring that e.g. numpy.float32(1)*arrayfire.randu(3) is handled by + # arrayfire's __radd__() instead of numpy's __add__() + __array_priority__ = 30 + def __init__(self, src=None, dims=(0,), dtype=None, is_device=False, offset=None, strides=None): super(Array, self).__init__()