Exemple #1
0
    def test_fmin(self):
        from _numpypy import fmin
        import math

        nnan, nan, inf, ninf = float('-nan'), float('nan'), float('inf'), float('-inf')

        a = [ninf, -5, 0, 5, inf]
        assert (fmin(a, [ninf]*5) == [ninf]*5).all()
        assert (fmin(a, [inf]*5) == a).all()
        assert (fmin(a, [1]*5) == [ninf, -5, 0, 1, 1]).all()
        assert math.isnan(fmin(nan, 0))
        assert math.isnan(fmin(0, nan))
        assert math.isnan(fmin(nan, nan))
        # The numpy docs specify that the FIRST NaN should be used if both are NaN
        assert math.copysign(1.0, fmin(nnan, nan)) == -1.0
Exemple #2
0
    def test_fmin(self):
        from _numpypy import fmin
        import math

        nnan, nan, inf, ninf = float('-nan'), float('nan'), float('inf'), float('-inf')

        a = [ninf, -5, 0, 5, inf]
        assert (fmin(a, [ninf]*5) == [ninf]*5).all()
        assert (fmin(a, [inf]*5) == a).all()
        assert (fmin(a, [1]*5) == [ninf, -5, 0, 1, 1]).all()
        assert math.isnan(fmin(nan, 0))
        assert math.isnan(fmin(0, nan))
        assert math.isnan(fmin(nan, nan))
        # The numpy docs specify that the FIRST NaN should be used if both are NaN
        # use copysign on both sides to sidestep bug in nan representaion
        # on Microsoft win32
        assert math.copysign(1., fmin(nnan, nan)) == math.copysign(1., nnan)
Exemple #3
0
    def test_fmin(self):
        from _numpypy import fmin
        import math

        nnan, nan, inf, ninf = float('-nan'), float('nan'), float(
            'inf'), float('-inf')

        a = [ninf, -5, 0, 5, inf]
        assert (fmin(a, [ninf] * 5) == [ninf] * 5).all()
        assert (fmin(a, [inf] * 5) == a).all()
        assert (fmin(a, [1] * 5) == [ninf, -5, 0, 1, 1]).all()
        assert math.isnan(fmin(nan, 0))
        assert math.isnan(fmin(0, nan))
        assert math.isnan(fmin(nan, nan))
        # The numpy docs specify that the FIRST NaN should be used if both are NaN
        # use copysign on both sides to sidestep bug in nan representaion
        # on Microsoft win32
        assert math.copysign(1., fmin(nnan, nan)) == math.copysign(1., nnan)