summaryrefslogtreecommitdiff
path: root/numpy/core/numeric.py
diff options
context:
space:
mode:
authorJeroen Demeyer <jdemeyer@cage.ugent.be>2017-09-15 12:22:51 +0200
committerJeroen Demeyer <jdemeyer@cage.ugent.be>2017-09-15 21:50:08 +0200
commitcd76e630972c67364dfb12f2fc264becd8e40d12 (patch)
treec68d24535c2a2d661d5cacd8962fbffd909df274 /numpy/core/numeric.py
parentf7be36b05feff7f54b3e118a9af265d0b9de94e2 (diff)
downloadnumpy-cd76e630972c67364dfb12f2fc264becd8e40d12.tar.gz
PEP 3141 numbers should be considered scalars
Diffstat (limited to 'numpy/core/numeric.py')
-rw-r--r--numpy/core/numeric.py17
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):