예제 #1
0
 def test_is_disjoint(self):
     a = IntervalVector(2, Interval(-2, 4))
     b = IntervalVector(2, Interval(1, 3))
     c = IntervalVector(2, Interval(-4, -2.5))
     self.assertFalse(a.is_disjoint(b))
     self.assertTrue(a.is_disjoint(c))
예제 #2
0
 def test_is_unbounded(self):
     a = IntervalVector(3, Interval(-2, 3))
     self.assertFalse(a.is_unbounded())
     a[1] = Interval.POS_REALS
     self.assertTrue(a.is_unbounded())
예제 #3
0
 def test_is_strict_interior_subset(self):
     a = IntervalVector(3, Interval(-2, 3))
     b = IntervalVector([-1.8, -1, 2]).inflate(0.1)
     self.assertTrue(b.is_strict_interior_subset(a))
예제 #4
0
 def test_init(self):
     a = IntervalVector(3, Interval(-2, 4))
     a.init(Interval(2, 4))
     self.assertEqual(a[0], Interval(2, 4))
예제 #5
0
 def test_resize(self):
     a = IntervalVector(3, Interval(-2, 4))
     self.assertEqual(a.size(), 3)
     a.resize(1000)
     self.assertEqual(a.size(), 1000)
예제 #6
0
 def test_bwd_mul(self):
     a = IntervalVector(2, Interval(2, 4))
     b = Interval(1, 2)
     c = IntervalVector(2)
     pyIbex.bwd_mul(a, b, c)
     pyIbex.bwd_mul(b, a, c)
예제 #7
0
 def test_set_empty(self):
     a = IntervalVector(3)
     a.set_empty()
     self.assertTrue(a.is_empty())
예제 #8
0
 def test_rel_distance(self):
     a = IntervalVector(list(range(0, 3))).inflate(1)
     b = IntervalVector(list(range(0, 3)))
     self.assertEqual(a.rel_distance(b), 0.5)
예제 #9
0
 def test_diff(self):
     a = IntervalVector([[-1, 1], [0, 2], [1, 5]])
     b = IntervalVector(list(range(0, 3))).inflate(1)
     l = a.diff(b)
     self.assertEqual(len(l), 1)
     self.assertEqual(l[0], IntervalVector([[-1, 1], [0, 2], [3, 5]]))
예제 #10
0
 def test_volume(self):
     a = IntervalVector(list(range(0, 3))).inflate(1)
     self.assertEqual(round(a.volume()), 8)
예제 #11
0
 def test_perimeter(self):
     a = IntervalVector(list(range(0, 3))).inflate(1)
     self.assertEqual(a.perimeter(), 6.0)
예제 #12
0
 def test_min_max_diam(self):
     a = IntervalVector(list(range(0, 3))).inflate(1)
     a[1] = a[1].inflate(0.2)
     a[2] = a[2].inflate(0.5)
     self.assertEqual(a.max_diam(), 3)
     self.assertEqual(a.min_diam(), 2)
예제 #13
0
 def test_diam(self):
     a = IntervalVector(list(range(0, 3))).inflate(1)
     self.assertEqual(a.rad(), [1, 1, 1])
예제 #14
0
 def test_is_zero(self):
     a = IntervalVector(list(range(0, 3)))
     self.assertFalse(a.is_zero())
     a = IntervalVector([0, 0, 0])
     self.assertTrue(a.is_zero())
예제 #15
0
 def test_abs(self):
     a = IntervalVector(2, Interval(-2, 4))
     self.assertEqual(pyIbex.abs(a), IntervalVector(2, Interval(0, 4)))
예제 #16
0
 def test_diff_2(self):
     a = IntervalVector([[-1, 1], [0, 2], [1, 5]])
     b = IntervalVector(a)
     l = a.diff(b)
     self.assertEqual(len(l), 0)
예제 #17
0
 def test_bwd_mul(self):
     a = IntervalVector(2, Interval(2, 4))
     b = IntervalVector(2, Interval(-3, 4))
     c = IntervalVector(2)
     pyIbex.bwd_mul(c, a, b)
예제 #18
0
 def test_complementary(self):
     a = IntervalVector(list(range(0, 1))).inflate(1)
     l = a.complementary()
     self.assertEqual(l[0], IntervalVector(1, Interval(float("-inf"), -1)))
     self.assertEqual(l[1], IntervalVector(1, Interval(1, float("inf"))))
예제 #19
0
 def test_assignement(self):
     a = IntervalVector(2)
     a[1] = Interval(2, 1)
     self.assertEqual(a[1], Interval(2, 1))
예제 #20
0
 def test_bisect(self):
     a = IntervalVector(list(range(0, 3))).inflate(1)
     (c, d) = a.bisect(2)
예제 #21
0
 def test_clear(self):
     a = IntervalVector(3, Interval(-2, 4))
     a.clear()
     self.assertEqual(a[0], Interval(0))
예제 #22
0
 def test_constructor2(self):
     c = IntervalVector(3, [1, 2])
     self.assertEqual(c[0], Interval(1, 2))
예제 #23
0
 def test_inflate(self):
     a = IntervalVector(3, Interval(-2, 4))
     a.inflate(2)
     b = IntervalVector(3, Interval(-4, 6))
예제 #24
0
 def test_constructor3(self):
     c = IntervalVector((Interval(1, 3), Interval(float('inf'), 4)))
     self.assertEqual(c[0], Interval(1, 3))
     self.assertEqual(c[1], Interval(float('inf'), 4))
예제 #25
0
 def test_is_flat(self):
     a = IntervalVector(range(1, 5))
     self.assertTrue(a.is_flat())
예제 #26
0
 def test_ops_5(self):
     a = IntervalVector(2, Interval(-1, 1))
     self.assertEqual(a + [1, 1], IntervalVector(2, Interval(0, 2)))
     self.assertEqual([1, 1] + a, IntervalVector(2, Interval(0, 2)))
예제 #27
0
 def test_is_subset(self):
     a = IntervalVector(3, Interval(-2, 3))
     b = IntervalVector([-2.0, -1, 2])
     self.assertTrue(b.is_subset(a))
예제 #28
0
 def test_ops_6(self):
     a = IntervalVector(2, Interval(-1, 1))
     self.assertEqual(a - [1, 1], IntervalVector(2, Interval(-2, 0)))
     self.assertEqual([1, 1] - a, IntervalVector(2, Interval(0, 2)))
예제 #29
0
 def test_is_strict_superset(self):
     a = IntervalVector(3, Interval(-2, 3))
     b = IntervalVector([-2.0, -1, 2])
     self.assertTrue(a.is_strict_superset(b))
예제 #30
0
 def test_overlaps(self):
     a = IntervalVector(2, Interval(-2, 4))
     b = IntervalVector(2, Interval(1, 3))
     self.assertTrue(a.overlaps(b))