Created starter files for the project.
This commit is contained in:
commit
73f0c0db42
1992 changed files with 769897 additions and 0 deletions
104
venv/Lib/site-packages/numpy/lib/tests/test_ufunclike.py
Normal file
104
venv/Lib/site-packages/numpy/lib/tests/test_ufunclike.py
Normal file
|
@ -0,0 +1,104 @@
|
|||
import numpy as np
|
||||
import numpy.core as nx
|
||||
import numpy.lib.ufunclike as ufl
|
||||
from numpy.testing import (
|
||||
assert_, assert_equal, assert_array_equal, assert_warns, assert_raises
|
||||
)
|
||||
|
||||
|
||||
class TestUfunclike:
|
||||
|
||||
def test_isposinf(self):
|
||||
a = nx.array([nx.inf, -nx.inf, nx.nan, 0.0, 3.0, -3.0])
|
||||
out = nx.zeros(a.shape, bool)
|
||||
tgt = nx.array([True, False, False, False, False, False])
|
||||
|
||||
res = ufl.isposinf(a)
|
||||
assert_equal(res, tgt)
|
||||
res = ufl.isposinf(a, out)
|
||||
assert_equal(res, tgt)
|
||||
assert_equal(out, tgt)
|
||||
|
||||
a = a.astype(np.complex_)
|
||||
with assert_raises(TypeError):
|
||||
ufl.isposinf(a)
|
||||
|
||||
def test_isneginf(self):
|
||||
a = nx.array([nx.inf, -nx.inf, nx.nan, 0.0, 3.0, -3.0])
|
||||
out = nx.zeros(a.shape, bool)
|
||||
tgt = nx.array([False, True, False, False, False, False])
|
||||
|
||||
res = ufl.isneginf(a)
|
||||
assert_equal(res, tgt)
|
||||
res = ufl.isneginf(a, out)
|
||||
assert_equal(res, tgt)
|
||||
assert_equal(out, tgt)
|
||||
|
||||
a = a.astype(np.complex_)
|
||||
with assert_raises(TypeError):
|
||||
ufl.isneginf(a)
|
||||
|
||||
def test_fix(self):
|
||||
a = nx.array([[1.0, 1.1, 1.5, 1.8], [-1.0, -1.1, -1.5, -1.8]])
|
||||
out = nx.zeros(a.shape, float)
|
||||
tgt = nx.array([[1., 1., 1., 1.], [-1., -1., -1., -1.]])
|
||||
|
||||
res = ufl.fix(a)
|
||||
assert_equal(res, tgt)
|
||||
res = ufl.fix(a, out)
|
||||
assert_equal(res, tgt)
|
||||
assert_equal(out, tgt)
|
||||
assert_equal(ufl.fix(3.14), 3)
|
||||
|
||||
def test_fix_with_subclass(self):
|
||||
class MyArray(nx.ndarray):
|
||||
def __new__(cls, data, metadata=None):
|
||||
res = nx.array(data, copy=True).view(cls)
|
||||
res.metadata = metadata
|
||||
return res
|
||||
|
||||
def __array_wrap__(self, obj, context=None):
|
||||
if isinstance(obj, MyArray):
|
||||
obj.metadata = self.metadata
|
||||
return obj
|
||||
|
||||
def __array_finalize__(self, obj):
|
||||
self.metadata = getattr(obj, 'metadata', None)
|
||||
return self
|
||||
|
||||
a = nx.array([1.1, -1.1])
|
||||
m = MyArray(a, metadata='foo')
|
||||
f = ufl.fix(m)
|
||||
assert_array_equal(f, nx.array([1, -1]))
|
||||
assert_(isinstance(f, MyArray))
|
||||
assert_equal(f.metadata, 'foo')
|
||||
|
||||
# check 0d arrays don't decay to scalars
|
||||
m0d = m[0,...]
|
||||
m0d.metadata = 'bar'
|
||||
f0d = ufl.fix(m0d)
|
||||
assert_(isinstance(f0d, MyArray))
|
||||
assert_equal(f0d.metadata, 'bar')
|
||||
|
||||
def test_deprecated(self):
|
||||
# NumPy 1.13.0, 2017-04-26
|
||||
assert_warns(DeprecationWarning, ufl.fix, [1, 2], y=nx.empty(2))
|
||||
assert_warns(DeprecationWarning, ufl.isposinf, [1, 2], y=nx.empty(2))
|
||||
assert_warns(DeprecationWarning, ufl.isneginf, [1, 2], y=nx.empty(2))
|
||||
|
||||
def test_scalar(self):
|
||||
x = np.inf
|
||||
actual = np.isposinf(x)
|
||||
expected = np.True_
|
||||
assert_equal(actual, expected)
|
||||
assert_equal(type(actual), type(expected))
|
||||
|
||||
x = -3.4
|
||||
actual = np.fix(x)
|
||||
expected = np.float64(-3.0)
|
||||
assert_equal(actual, expected)
|
||||
assert_equal(type(actual), type(expected))
|
||||
|
||||
out = np.array(0.0)
|
||||
actual = np.fix(x, out=out)
|
||||
assert_(actual is out)
|
Loading…
Add table
Add a link
Reference in a new issue