コード例 #1
0
 def test_setup_number_of_weights(self):
     "Test setup weight with number of weights"
     for n in range(1, 20):
         p = IMP.Particle(self.m)
         w = Weight.setup_particle(p, n)
         self.assertTrue(Weight.get_is_setup(p))
         self.assertEqual(w.get_number_of_weights(), n)
         for k in range(n):
             self.assertAlmostEqual(w.get_weight(k), 1.0 / n, delta=1e-6)
コード例 #2
0
 def test_setup_weights(self):
     "Test setup weight with initial values"
     for n in range(1, 20):
         p = IMP.Particle(self.m)
         ws = np.random.uniform(size=n)
         w = Weight.setup_particle(p, ws)
         self.assertTrue(Weight.get_is_setup(p))
         self.assertEqual(w.get_number_of_weights(), n)
         self.assertSequenceAlmostEqual(
             w.get_weights(),
             IMP.algebra.get_projected(
                 w.get_unit_simplex(), IMP.algebra.VectorKD(ws)
             ),
         )