Beispiel #1
0
 def test_trig(self):
     z = interval[-10,
                  10].newton(lambda x: imath.cospi(x / 3) - 0.5,
                             lambda x: -imath.pi * imath.sinpi(x / 3) / 3)
     w = interval(-7, -5, -1, 1, 5, 7)
     assert w in z
     assert max(helpers.ulpwidth(z)) == 4
Beispiel #2
0
 def test_width(self):
     self.assertEqual(helpers.ulpwidth(interval[3]**-1), [1])
     self.assertEqual(helpers.ulpwidth(interval([9007199254740991 * 2.0 ** -51, 4503599627370496 * 2.0 ** -50],
                               [9007199254740991 * 2.0 ** -49, 16],
                               [-16, -9007199254740991 * 2.0 ** -49],
                               )),[1, 1, 1])
     self.assertEqual(helpers.ulpwidth(interval([5249383869325653 * 2.0 ** -51, 5249383869325655 * 2.0 ** -51])),[2])
     self.assertEqual(helpers.ulpwidth(interval[123.34]), [0])
     self.assertEqual(helpers.ulpwidth(interval[fpu.infinity]), [0])
     self.assertEqual(helpers.ulpwidth(interval[2, fpu.infinity]), [fpu.infinity])
Beispiel #3
0
 def test_width(self):
     assert helpers.ulpwidth(interval[3] ** -1) == [1]
     assert [1, 1, 1] == helpers.ulpwidth(interval(
         [9007199254740991 * 2.0 ** -51, 4503599627370496 * 2.0 ** -50],
         [9007199254740991 * 2.0 ** -49, 16],
         [-16, -9007199254740991 * 2.0 ** -49]))
     assert helpers.ulpwidth(interval([5249383869325653 * 2.0 ** -51, 5249383869325655 * 2.0 ** -51])) == [2]
     assert helpers.ulpwidth(interval[123.34])                                                         == [0]
     assert helpers.ulpwidth(interval[fpu.infinity])                                                   == [0]
     assert helpers.ulpwidth(interval[2, fpu.infinity])                                                == [fpu.infinity]
Beispiel #4
0
 def test_width(self):
     assert helpers.ulpwidth(interval[3]**-1) == [1]
     assert [1, 1, 1] == helpers.ulpwidth(
         interval(
             [9007199254740991 * 2.0**-51, 4503599627370496 * 2.0**-50],
             [9007199254740991 * 2.0**-49, 16],
             [-16, -9007199254740991 * 2.0**-49]))
     assert helpers.ulpwidth(
         interval(
             [5249383869325653 * 2.0**-51,
              5249383869325655 * 2.0**-51])) == [2]
     assert helpers.ulpwidth(interval[123.34]) == [0]
     assert helpers.ulpwidth(interval[fpu.infinity]) == [0]
     assert helpers.ulpwidth(interval[2, fpu.infinity]) == [fpu.infinity]
Beispiel #5
0
 def test_width(self):
     self.assertEqual(helpers.ulpwidth(interval[3]**-1), [1])
     self.assertEqual(
         helpers.ulpwidth(
             interval(
                 [9007199254740991 * 2.0**-51, 4503599627370496 * 2.0**-50],
                 [9007199254740991 * 2.0**-49, 16],
                 [-16, -9007199254740991 * 2.0**-49],
             )), [1, 1, 1])
     self.assertEqual(
         helpers.ulpwidth(
             interval(
                 [5249383869325653 * 2.0**-51,
                  5249383869325655 * 2.0**-51])), [2])
     self.assertEqual(helpers.ulpwidth(interval[123.34]), [0])
     self.assertEqual(helpers.ulpwidth(interval[fpu.infinity]), [0])
     self.assertEqual(helpers.ulpwidth(interval[2, fpu.infinity]),
                      [fpu.infinity])
Beispiel #6
0
 def test_trig(self):
     z = interval[-10, 10].newton(lambda x: imath.cospi(x/3) - 0.5, lambda x: -imath.pi * imath.sinpi(x/3) / 3)
     w = interval(-7, -5, -1, 1, 5, 7)
     assert w in z
     assert max(helpers.ulpwidth(z)) == 4
Beispiel #7
0
 def assertApproximate(self, value, reference, maxdelta):
     self.assertEqual(max(helpers.ulpwidth(value) or [0]), maxdelta)
     self.assertTrue(value == reference or reference in value)
Beispiel #8
0
def within(x, y, d):
    return y in x and all(c < d for c in helpers.ulpwidth(x))
Beispiel #9
0
 def assertApproximate(self, value, reference, maxdelta):
     assert max(helpers.ulpwidth(value) or [0]) ==  maxdelta
     assert value == reference or reference in value
Beispiel #10
0
 def assertApproximate(self, value, reference, maxdelta):
     self.assertEqual(max(helpers.ulpwidth(value) or [0]), maxdelta)
     self.assertTrue(value == reference or reference in value)
Beispiel #11
0
def within(x, y, d):
    return y in x and all(c < d for c in helpers.ulpwidth(x))
Beispiel #12
0
 def assertApproximate(self, value, reference, maxdelta):
     assert max(helpers.ulpwidth(value) or [0]) == maxdelta
     assert value == reference or reference in value