annotate DEPENDENCIES/mingw32/Python27/Lib/site-packages/numpy/lib/tests/test_ufunclike.py @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2a2c65a20a8b
children
rev   line source
Chris@87 1 from __future__ import division, absolute_import, print_function
Chris@87 2
Chris@87 3 import numpy.core as nx
Chris@87 4 import numpy.lib.ufunclike as ufl
Chris@87 5 from numpy.testing import (
Chris@87 6 run_module_suite, TestCase, assert_, assert_equal, assert_array_equal
Chris@87 7 )
Chris@87 8
Chris@87 9
Chris@87 10 class TestUfunclike(TestCase):
Chris@87 11
Chris@87 12 def test_isposinf(self):
Chris@87 13 a = nx.array([nx.inf, -nx.inf, nx.nan, 0.0, 3.0, -3.0])
Chris@87 14 out = nx.zeros(a.shape, bool)
Chris@87 15 tgt = nx.array([True, False, False, False, False, False])
Chris@87 16
Chris@87 17 res = ufl.isposinf(a)
Chris@87 18 assert_equal(res, tgt)
Chris@87 19 res = ufl.isposinf(a, out)
Chris@87 20 assert_equal(res, tgt)
Chris@87 21 assert_equal(out, tgt)
Chris@87 22
Chris@87 23 def test_isneginf(self):
Chris@87 24 a = nx.array([nx.inf, -nx.inf, nx.nan, 0.0, 3.0, -3.0])
Chris@87 25 out = nx.zeros(a.shape, bool)
Chris@87 26 tgt = nx.array([False, True, False, False, False, False])
Chris@87 27
Chris@87 28 res = ufl.isneginf(a)
Chris@87 29 assert_equal(res, tgt)
Chris@87 30 res = ufl.isneginf(a, out)
Chris@87 31 assert_equal(res, tgt)
Chris@87 32 assert_equal(out, tgt)
Chris@87 33
Chris@87 34 def test_fix(self):
Chris@87 35 a = nx.array([[1.0, 1.1, 1.5, 1.8], [-1.0, -1.1, -1.5, -1.8]])
Chris@87 36 out = nx.zeros(a.shape, float)
Chris@87 37 tgt = nx.array([[1., 1., 1., 1.], [-1., -1., -1., -1.]])
Chris@87 38
Chris@87 39 res = ufl.fix(a)
Chris@87 40 assert_equal(res, tgt)
Chris@87 41 res = ufl.fix(a, out)
Chris@87 42 assert_equal(res, tgt)
Chris@87 43 assert_equal(out, tgt)
Chris@87 44 assert_equal(ufl.fix(3.14), 3)
Chris@87 45
Chris@87 46 def test_fix_with_subclass(self):
Chris@87 47 class MyArray(nx.ndarray):
Chris@87 48 def __new__(cls, data, metadata=None):
Chris@87 49 res = nx.array(data, copy=True).view(cls)
Chris@87 50 res.metadata = metadata
Chris@87 51 return res
Chris@87 52
Chris@87 53 def __array_wrap__(self, obj, context=None):
Chris@87 54 obj.metadata = self.metadata
Chris@87 55 return obj
Chris@87 56
Chris@87 57 a = nx.array([1.1, -1.1])
Chris@87 58 m = MyArray(a, metadata='foo')
Chris@87 59 f = ufl.fix(m)
Chris@87 60 assert_array_equal(f, nx.array([1, -1]))
Chris@87 61 assert_(isinstance(f, MyArray))
Chris@87 62 assert_equal(f.metadata, 'foo')
Chris@87 63
Chris@87 64 if __name__ == "__main__":
Chris@87 65 run_module_suite()