diff options
author | Jeroen Demeyer <jdemeyer@cage.ugent.be> | 2017-09-15 12:22:51 +0200 |
---|---|---|
committer | Jeroen Demeyer <jdemeyer@cage.ugent.be> | 2017-09-15 21:50:08 +0200 |
commit | cd76e630972c67364dfb12f2fc264becd8e40d12 (patch) | |
tree | c68d24535c2a2d661d5cacd8962fbffd909df274 /numpy/core/numeric.py | |
parent | f7be36b05feff7f54b3e118a9af265d0b9de94e2 (diff) | |
download | numpy-cd76e630972c67364dfb12f2fc264becd8e40d12.tar.gz |
PEP 3141 numbers should be considered scalars
Diffstat (limited to 'numpy/core/numeric.py')
-rw-r--r-- | numpy/core/numeric.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/numpy/core/numeric.py b/numpy/core/numeric.py index fde08490a..282fcbad0 100644 --- a/numpy/core/numeric.py +++ b/numpy/core/numeric.py @@ -5,6 +5,7 @@ import itertools import operator import sys import warnings +import numbers import numpy as np from . import multiarray @@ -2162,11 +2163,19 @@ def isscalar(num): >>> np.isscalar('numpy') True + NumPy supports PEP 3141 numbers: + + >>> from fractions import Fraction + >>> isscalar(Fraction(5, 17)) + True + >>> from numbers import Number + >>> isscalar(Number()) + True + """ - if isinstance(num, generic): - return True - else: - return type(num) in ScalarType + return (isinstance(num, generic) + or type(num) in ScalarType + or isinstance(num, numbers.Number)) def binary_repr(num, width=None): |