summaryrefslogtreecommitdiff
path: root/numpy/_array_api/_elementwise_functions.py
diff options
context:
space:
mode:
authorAaron Meurer <asmeurer@gmail.com>2021-02-26 17:35:53 -0700
committerAaron Meurer <asmeurer@gmail.com>2021-02-26 17:35:53 -0700
commit3b9c910ab1687f5af6c2d20fd737704fe39706e2 (patch)
tree3a20769c670210b247ac6cde3c3589a2b8ff2dc2 /numpy/_array_api/_elementwise_functions.py
parentcd7092078b8f74ac5f873c9547676688ffd22276 (diff)
downloadnumpy-3b9c910ab1687f5af6c2d20fd737704fe39706e2.tar.gz
Return ndarray in the array_api namespace elementwise functions
Diffstat (limited to 'numpy/_array_api/_elementwise_functions.py')
-rw-r--r--numpy/_array_api/_elementwise_functions.py113
1 files changed, 57 insertions, 56 deletions
diff --git a/numpy/_array_api/_elementwise_functions.py b/numpy/_array_api/_elementwise_functions.py
index a117c3370..abb7ef4dd 100644
--- a/numpy/_array_api/_elementwise_functions.py
+++ b/numpy/_array_api/_elementwise_functions.py
@@ -1,6 +1,7 @@
from __future__ import annotations
from ._types import array
+from ._array_object import ndarray
import numpy as np
@@ -10,7 +11,7 @@ def abs(x: array, /) -> array:
See its docstring for more information.
"""
- return np.abs(x)
+ return ndarray._new(np.abs(x._array))
def acos(x: array, /) -> array:
"""
@@ -19,7 +20,7 @@ def acos(x: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.arccos(x)
+ return ndarray._new(np.arccos(x._array))
def acosh(x: array, /) -> array:
"""
@@ -28,7 +29,7 @@ def acosh(x: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.arccosh(x)
+ return ndarray._new(np.arccosh(x._array))
def add(x1: array, x2: array, /) -> array:
"""
@@ -36,7 +37,7 @@ def add(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.add(x1, x2)
+ return ndarray._new(np.add(x1._array, x2._array))
def asin(x: array, /) -> array:
"""
@@ -45,7 +46,7 @@ def asin(x: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.arcsin(x)
+ return ndarray._new(np.arcsin(x._array))
def asinh(x: array, /) -> array:
"""
@@ -54,7 +55,7 @@ def asinh(x: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.arcsinh(x)
+ return ndarray._new(np.arcsinh(x._array))
def atan(x: array, /) -> array:
"""
@@ -63,7 +64,7 @@ def atan(x: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.arctan(x)
+ return ndarray._new(np.arctan(x._array))
def atan2(x1: array, x2: array, /) -> array:
"""
@@ -72,7 +73,7 @@ def atan2(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.arctan2(x1, x2)
+ return ndarray._new(np.arctan2(x1._array, x2._array))
def atanh(x: array, /) -> array:
"""
@@ -81,7 +82,7 @@ def atanh(x: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.arctanh(x)
+ return ndarray._new(np.arctanh(x._array))
def bitwise_and(x1: array, x2: array, /) -> array:
"""
@@ -89,7 +90,7 @@ def bitwise_and(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.bitwise_and(x1, x2)
+ return ndarray._new(np.bitwise_and(x1._array, x2._array))
def bitwise_left_shift(x1: array, x2: array, /) -> array:
"""
@@ -98,7 +99,7 @@ def bitwise_left_shift(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.left_shift(x1, x2)
+ return ndarray._new(np.left_shift(x1._array, x2._array))
def bitwise_invert(x: array, /) -> array:
"""
@@ -107,7 +108,7 @@ def bitwise_invert(x: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.invert(x)
+ return ndarray._new(np.invert(x._array))
def bitwise_or(x1: array, x2: array, /) -> array:
"""
@@ -115,7 +116,7 @@ def bitwise_or(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.bitwise_or(x1, x2)
+ return ndarray._new(np.bitwise_or(x1._array, x2._array))
def bitwise_right_shift(x1: array, x2: array, /) -> array:
"""
@@ -124,7 +125,7 @@ def bitwise_right_shift(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.right_shift(x1, x2)
+ return ndarray._new(np.right_shift(x1._array, x2._array))
def bitwise_xor(x1: array, x2: array, /) -> array:
"""
@@ -132,7 +133,7 @@ def bitwise_xor(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.bitwise_xor(x1, x2)
+ return ndarray._new(np.bitwise_xor(x1._array, x2._array))
def ceil(x: array, /) -> array:
"""
@@ -140,7 +141,7 @@ def ceil(x: array, /) -> array:
See its docstring for more information.
"""
- return np.ceil(x)
+ return ndarray._new(np.ceil(x._array))
def cos(x: array, /) -> array:
"""
@@ -148,7 +149,7 @@ def cos(x: array, /) -> array:
See its docstring for more information.
"""
- return np.cos(x)
+ return ndarray._new(np.cos(x._array))
def cosh(x: array, /) -> array:
"""
@@ -156,7 +157,7 @@ def cosh(x: array, /) -> array:
See its docstring for more information.
"""
- return np.cosh(x)
+ return ndarray._new(np.cosh(x._array))
def divide(x1: array, x2: array, /) -> array:
"""
@@ -164,7 +165,7 @@ def divide(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.divide(x1, x2)
+ return ndarray._new(np.divide(x1._array, x2._array))
def equal(x1: array, x2: array, /) -> array:
"""
@@ -172,7 +173,7 @@ def equal(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.equal(x1, x2)
+ return ndarray._new(np.equal(x1._array, x2._array))
def exp(x: array, /) -> array:
"""
@@ -180,7 +181,7 @@ def exp(x: array, /) -> array:
See its docstring for more information.
"""
- return np.exp(x)
+ return ndarray._new(np.exp(x._array))
def expm1(x: array, /) -> array:
"""
@@ -188,7 +189,7 @@ def expm1(x: array, /) -> array:
See its docstring for more information.
"""
- return np.expm1(x)
+ return ndarray._new(np.expm1(x._array))
def floor(x: array, /) -> array:
"""
@@ -196,7 +197,7 @@ def floor(x: array, /) -> array:
See its docstring for more information.
"""
- return np.floor(x)
+ return ndarray._new(np.floor(x._array))
def floor_divide(x1: array, x2: array, /) -> array:
"""
@@ -204,7 +205,7 @@ def floor_divide(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.floor_divide(x1, x2)
+ return ndarray._new(np.floor_divide(x1._array, x2._array))
def greater(x1: array, x2: array, /) -> array:
"""
@@ -212,7 +213,7 @@ def greater(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.greater(x1, x2)
+ return ndarray._new(np.greater(x1._array, x2._array))
def greater_equal(x1: array, x2: array, /) -> array:
"""
@@ -220,7 +221,7 @@ def greater_equal(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.greater_equal(x1, x2)
+ return ndarray._new(np.greater_equal(x1._array, x2._array))
def isfinite(x: array, /) -> array:
"""
@@ -228,7 +229,7 @@ def isfinite(x: array, /) -> array:
See its docstring for more information.
"""
- return np.isfinite(x)
+ return ndarray._new(np.isfinite(x._array))
def isinf(x: array, /) -> array:
"""
@@ -236,7 +237,7 @@ def isinf(x: array, /) -> array:
See its docstring for more information.
"""
- return np.isinf(x)
+ return ndarray._new(np.isinf(x._array))
def isnan(x: array, /) -> array:
"""
@@ -244,7 +245,7 @@ def isnan(x: array, /) -> array:
See its docstring for more information.
"""
- return np.isnan(x)
+ return ndarray._new(np.isnan(x._array))
def less(x1: array, x2: array, /) -> array:
"""
@@ -252,7 +253,7 @@ def less(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.less(x1, x2)
+ return ndarray._new(np.less(x1._array, x2._array))
def less_equal(x1: array, x2: array, /) -> array:
"""
@@ -260,7 +261,7 @@ def less_equal(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.less_equal(x1, x2)
+ return ndarray._new(np.less_equal(x1._array, x2._array))
def log(x: array, /) -> array:
"""
@@ -268,7 +269,7 @@ def log(x: array, /) -> array:
See its docstring for more information.
"""
- return np.log(x)
+ return ndarray._new(np.log(x._array))
def log1p(x: array, /) -> array:
"""
@@ -276,7 +277,7 @@ def log1p(x: array, /) -> array:
See its docstring for more information.
"""
- return np.log1p(x)
+ return ndarray._new(np.log1p(x._array))
def log2(x: array, /) -> array:
"""
@@ -284,7 +285,7 @@ def log2(x: array, /) -> array:
See its docstring for more information.
"""
- return np.log2(x)
+ return ndarray._new(np.log2(x._array))
def log10(x: array, /) -> array:
"""
@@ -292,7 +293,7 @@ def log10(x: array, /) -> array:
See its docstring for more information.
"""
- return np.log10(x)
+ return ndarray._new(np.log10(x._array))
def logaddexp(x1: array, x2: array) -> array:
"""
@@ -300,7 +301,7 @@ def logaddexp(x1: array, x2: array) -> array:
See its docstring for more information.
"""
- return np.logaddexp(x1, x2)
+ return ndarray._new(np.logaddexp(x1._array, x2._array))
def logical_and(x1: array, x2: array, /) -> array:
"""
@@ -308,7 +309,7 @@ def logical_and(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.logical_and(x1, x2)
+ return ndarray._new(np.logical_and(x1._array, x2._array))
def logical_not(x: array, /) -> array:
"""
@@ -316,7 +317,7 @@ def logical_not(x: array, /) -> array:
See its docstring for more information.
"""
- return np.logical_not(x)
+ return ndarray._new(np.logical_not(x._array))
def logical_or(x1: array, x2: array, /) -> array:
"""
@@ -324,7 +325,7 @@ def logical_or(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.logical_or(x1, x2)
+ return ndarray._new(np.logical_or(x1._array, x2._array))
def logical_xor(x1: array, x2: array, /) -> array:
"""
@@ -332,7 +333,7 @@ def logical_xor(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.logical_xor(x1, x2)
+ return ndarray._new(np.logical_xor(x1._array, x2._array))
def multiply(x1: array, x2: array, /) -> array:
"""
@@ -340,7 +341,7 @@ def multiply(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.multiply(x1, x2)
+ return ndarray._new(np.multiply(x1._array, x2._array))
def negative(x: array, /) -> array:
"""
@@ -348,7 +349,7 @@ def negative(x: array, /) -> array:
See its docstring for more information.
"""
- return np.negative(x)
+ return ndarray._new(np.negative(x._array))
def not_equal(x1: array, x2: array, /) -> array:
"""
@@ -356,7 +357,7 @@ def not_equal(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.not_equal(x1, x2)
+ return ndarray._new(np.not_equal(x1._array, x2._array))
def positive(x: array, /) -> array:
"""
@@ -364,7 +365,7 @@ def positive(x: array, /) -> array:
See its docstring for more information.
"""
- return np.positive(x)
+ return ndarray._new(np.positive(x._array))
def pow(x1: array, x2: array, /) -> array:
"""
@@ -373,7 +374,7 @@ def pow(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
# Note: the function name is different here
- return np.power(x1, x2)
+ return ndarray._new(np.power(x1._array, x2._array))
def remainder(x1: array, x2: array, /) -> array:
"""
@@ -381,7 +382,7 @@ def remainder(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.remainder(x1, x2)
+ return ndarray._new(np.remainder(x1._array, x2._array))
def round(x: array, /) -> array:
"""
@@ -389,7 +390,7 @@ def round(x: array, /) -> array:
See its docstring for more information.
"""
- return np.round._implementation(x)
+ return ndarray._new(np.round._implementation(x._array))
def sign(x: array, /) -> array:
"""
@@ -397,7 +398,7 @@ def sign(x: array, /) -> array:
See its docstring for more information.
"""
- return np.sign(x)
+ return ndarray._new(np.sign(x._array))
def sin(x: array, /) -> array:
"""
@@ -405,7 +406,7 @@ def sin(x: array, /) -> array:
See its docstring for more information.
"""
- return np.sin(x)
+ return ndarray._new(np.sin(x._array))
def sinh(x: array, /) -> array:
"""
@@ -413,7 +414,7 @@ def sinh(x: array, /) -> array:
See its docstring for more information.
"""
- return np.sinh(x)
+ return ndarray._new(np.sinh(x._array))
def square(x: array, /) -> array:
"""
@@ -421,7 +422,7 @@ def square(x: array, /) -> array:
See its docstring for more information.
"""
- return np.square(x)
+ return ndarray._new(np.square(x._array))
def sqrt(x: array, /) -> array:
"""
@@ -429,7 +430,7 @@ def sqrt(x: array, /) -> array:
See its docstring for more information.
"""
- return np.sqrt(x)
+ return ndarray._new(np.sqrt(x._array))
def subtract(x1: array, x2: array, /) -> array:
"""
@@ -437,7 +438,7 @@ def subtract(x1: array, x2: array, /) -> array:
See its docstring for more information.
"""
- return np.subtract(x1, x2)
+ return ndarray._new(np.subtract(x1._array, x2._array))
def tan(x: array, /) -> array:
"""
@@ -445,7 +446,7 @@ def tan(x: array, /) -> array:
See its docstring for more information.
"""
- return np.tan(x)
+ return ndarray._new(np.tan(x._array))
def tanh(x: array, /) -> array:
"""
@@ -453,7 +454,7 @@ def tanh(x: array, /) -> array:
See its docstring for more information.
"""
- return np.tanh(x)
+ return ndarray._new(np.tanh(x._array))
def trunc(x: array, /) -> array:
"""
@@ -461,4 +462,4 @@ def trunc(x: array, /) -> array:
See its docstring for more information.
"""
- return np.trunc(x)
+ return ndarray._new(np.trunc(x._array))