Skip to content

Commit 720a0b0

Browse files
authored
Merge pull request #362 from rsokl/no-monkey-patching
removes monkey-patched methods
2 parents 419bec5 + ce00240 commit 720a0b0

File tree

7 files changed

+833
-72
lines changed

7 files changed

+833
-72
lines changed

src/mygrad/__init__.py

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,3 @@
3535

3636
__version__ = get_versions()["version"]
3737
del get_versions
38-
39-
40-
for _attr in (
41-
sum,
42-
prod,
43-
cumprod,
44-
cumsum,
45-
mean,
46-
std,
47-
var,
48-
max,
49-
min,
50-
argmax,
51-
argmin,
52-
swapaxes,
53-
transpose,
54-
moveaxis,
55-
squeeze,
56-
ravel,
57-
matmul,
58-
any,
59-
):
60-
setattr(Tensor, _attr.__name__, _attr)
61-
62-
del _attr

src/mygrad/math/nondifferentiable.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
from typing import Optional, Tuple, Union
2+
13
import numpy as np
24

35
from mygrad.tensor_base import Tensor
6+
from mygrad.typing import ArrayLike
47

5-
__all__ = ["argmin", "argmax"]
8+
__all__ = ["any", "argmin", "argmax"]
69

710

8-
def argmax(a, axis=None, out=None):
11+
def argmax(
12+
a: ArrayLike, axis: Optional[int] = None, out: Optional[np.ndarray] = None
13+
) -> np.ndarray:
914
"""Returns the indices of the maximum values along an axis.
1015
1116
Parameters
@@ -26,7 +31,9 @@ def argmax(a, axis=None, out=None):
2631
return np.argmax(a, axis, out)
2732

2833

29-
def argmin(a, axis=None, out=None):
34+
def argmin(
35+
a: ArrayLike, axis: Optional[int] = None, out: Optional[np.ndarray] = None
36+
) -> np.ndarray:
3037
"""Returns the indices of the minimum values along an axis.
3138
3239
Parameters
@@ -47,7 +54,12 @@ def argmin(a, axis=None, out=None):
4754
return np.argmin(a, axis, out)
4855

4956

50-
def any(a, axis=None, out=None, keepdims=False):
57+
def any(
58+
a: ArrayLike,
59+
axis: Optional[Union[int, Tuple[int, ...]]] = None,
60+
out: Optional[np.ndarray] = None,
61+
keepdims: bool = False,
62+
) -> np.ndarray:
5163
"""Test whether any array or Tensor element along a given axis evaluates to True.
5264
5365
Returns single boolean if `axis` is ``None``

0 commit comments

Comments
 (0)