예제 #1
0
 def test_cmp(self):
     is_greater = lambda a, b, axes=None: self.assertEqual(pu.pcmp(a, b, axes=axes), 1)
     is_equal = lambda a, b, axes=None: self.assertEqual(pu.pcmp(a, b, axes=axes), 0)
     is_less = lambda a, b, axes=None: self.assertEqual(pu.pcmp(a, b, axes=axes), -1)
     is_equal((0, 0, 1), (0, 0, 1.0))
     is_greater((4.001, -2.0, 1), (4, -2, 1.0))
     is_greater((4, -2, 1), (4, -3, 1))
     is_greater((4, -2, 1), (4, -2, -1))
     is_less((4, -2, -1.1), (4, -2, -1))
예제 #2
0
 def test_near(self):
     is_near = lambda a, b, axes=None: self.assertTrue(pu.pnear(a, b, axes=axes))
     is_far = lambda a, b, axes=None: self.assertFalse(pu.pnear(a, b, axes=axes))
     is_near((0, 0, 1), (0, 0, 1.0))
     is_near((4.0, -2.0, 1), (4, -2, 1.0))
     is_far((12, 3, -3), (12, 3, 3))
     is_far((4, -2, 1), (4, -2, -1.0001))
     is_near((4, -2, 1), (4, -2, -1.0001), axes=(0, 1))
     is_far((4, -2, 1), (4, -2, -1.0001), axes=(1, 2))
     is_far((4, -2, 1), (4, -2, -1.0001), axes=(2, ))
예제 #3
0
 def test_normalized(self):
     norm_test = lambda vector, result: \
             self.assert_vector_equal(pu.pnormalized(vector), result)
     norm_test((1.0, 0.0, 0.0), (1, 0, 0))
     norm_test((1, 0, 0), (1, 0, 0))
     norm_test((0, 1, 0), (0, 1, 0))
     norm_test((0, 0, 1), (0, 0, 1))
     norm_test((-1, 0, 0), (-1, 0, 0))
     norm_test((0, -1, 0), (0, -1, 0))
     norm_test((0, 0, -1), (0, 0, -1))
     norm_test((0, -7, 0), (0, -1, 0))
     norm_test((1, -1, 0), (1/ROOT_2, -1/ROOT_2, 0))
     norm_test((1, 1, -1), (1/ROOT_3, 1/ROOT_3, -1/ROOT_3))
     norm_test((3, -4, 2), (0.55708601453, -0.7427813527, 0.37139067635))
     # normalized zero-length vector returns None
     self.assertIsNone(pu.pnormalized((0, 0, 0)))
예제 #4
0
 def dist_test(a, b, result, axes=None):
     self.assertAlmostEqual(pu.pdist(a, b, axes=axes), result)
     self.assertAlmostEqual(pu.pdist_sq(a, b, axes=axes), result**2)
예제 #5
0
 def norm_test(vector, result):
     self.assertAlmostEqual(pu.pnorm(vector), result)
     self.assertAlmostEqual(pu.pnormsq(vector), result**2)