Exemple #1
0
def test_failed_case():
    from compare_float import feq, flge


    #---------------------------------------------
    beta0 = 0.7636902920551788
    beta  = 0.76369029205517769
    assert feq(beta0, beta, 15) == False
    assert feq(beta0, beta, 14) == True


    #---------------------------------------------
    a = 0.078539816339744856
    b = 0.07853981633974483
    assert feq(a, b, 15) == True


    #---------------------------------------------
    a0, b0 = -0.026179938779915091, -0.75938935817214992
    a1, a2 = -0.078539816339744856, -0.021707871342270618
    b1, b2 = -0.76369029205517769, -0.70685834705770345
    assert flge(a1, a0, a2) == True
    assert flge(b1, b0, b2) == True


    #---------------------------------------------
    a = -0.10700554748256769
    b = -0.10700554748256959885
    assert feq(a, b, 15) == False
    assert feq(a, b, 14) == True
Exemple #2
0
def test_feq_float64():
    from compare_float import feq

    a = np.float64('0.123456789012345678')
    b = np.float64('0.123456789012345901')
    assert feq(a, b, 15) == True
    assert feq(a, b, 16) == False


    a = np.float64('0.00123456789012345678')
    b = np.float64('0.00123456789012345901')
    assert feq(a, b, 15) == True
    assert feq(a, b, 16) == False


    a = np.float64('0.00000123456789012345678')
    b = np.float64('0.00000123456789012345901')
    assert feq(a, b, 15) == True
    assert feq(a, b, 16) == False


    a = np.float64('1.23456789012345678')
    b = np.float64('1.23456789012345901')
    assert feq(a, b, 15) == True
    assert feq(a, b, 16) == False


    a = np.float64('123456.789012345678')
    b = np.float64('123456.789012345901')
    assert feq(a, b, 15) == True
    assert feq(a, b, 16) == False
Exemple #3
0
def test_feq_float32():
    from compare_float import feq

    a = np.float32('0.123456789012345678')
    b = np.float32('0.123456789012345901')
    assert feq(a, b, 15) == True
    assert feq(a, b, 16) == True


    a = np.float32('0.123456789012')
    b = np.float32('0.123456789703')
    assert feq(a, b, 9) == True
    assert feq(a, b, 10) == True


    a = np.float32('0.12345678901')
    b = np.float32('0.12345678123')
    assert feq(a, b, 8) == True
    assert feq(a, b, 9) == False

    # => 32 bit float number has 9 digit.


    a = np.float32('12345.678901')
    b = np.float32('12345.678123')
    assert feq(a, b, 8) == True
    assert feq(a, b, 9) == False
Exemple #4
0
    def gq_integrate_2d_iterate(self, x1, x2, y1, y2, func, qtype='lobatto'):
        gq_integrate = self.gq_integrate_2d

        int1 = gq_integrate_2d(x1, x2, y1, y2, func, 5, qtype)
        int2 = gq_integrate_2d(x1, x2, y1, y2, func, 7, qtype)

        for p_order in range(10,101,5):
            int3 = gq_integrate_2d(x1, x2, y1, y2, func, p_order, qtype)

            if feq(int1,int3) and feq(int2,int3):
                break
            else:
                int1, int2 = int2, int3

        return int3, p_order
Exemple #5
0
def test_feq_zero():
    from compare_float import feq

    a = np.float64('0.123456789012345678')
    b = np.float64('0.000000000000000521')
    assert feq(b, 0, 15) == True
    assert feq(b, 0, 16) == True
    assert feq(b, 0, 17) == False


    a = np.float64('0.123456789012345678')
    b = np.float64('0.000006789012345678')
    assert feq(b, 0, 5) == True
    assert feq(b, 0, 6) == True
    assert feq(b, 0, 7) == False
    assert feq(b, 0, 8) == False


    a = np.float64('0.123456789012345678')
    b = np.float64('8')
    assert feq(b, 0, 5) == False


    assert feq(8, 0, 5) == False