예제 #1
0
    def test_hist_generation(self):
        # Make sure dist.dump() matches initial probability dist
        n_trials = 10
        for each in range(n_trials):
            array_size = np.random.randint(1,1000)
            prob_dist = np.zeros(array_size)
            for i in range(array_size):
                prob_dist[i] = np.random.rand()
            prob_dist = prob_dist/np.sum(prob_dist)
            d1 = Dist(prob_dist)
            self.assertTrue(np.allclose(prob_dist,d1.dump()))
            prob_list = np.ndarray.tolist(prob_dist)
            d2 = Dist(prob_list)
            self.assertTrue(np.allclose(prob_dist,d2.dump()))

        # Make sure integer types are all supported
        dtype_array = [np.int64,np.int32,np.int16,np.int8,np.int,np.longlong,np.short,np.intc,np.uint64,np.uint32,np.uint16,np.uint8,np.uint,np.ulonglong,np.ushort,np.uintc]
        for each in dtype_array:
            d = np.asarray([2,2,4],dtype=each)
            self.assertTrue(np.allclose(Dist(d).dump(),[0.25,0.25,0.5]))
        
        # Make sure floating types are all supported
        dtype_array = [np.single,np.double,np.float,np.longfloat,np.float16,np.float32,np.float64]
        for each in dtype_array:
            d = np.asarray([0.25,0.25,0.5],dtype=each)
            self.assertTrue(np.allclose(Dist(d).dump(),[0.25,0.25,0.5]))       
예제 #2
0
 def test_dump(self):
     d = Dist(5)
     for i in range(1, len(d)):
         d[i] = i+1
     self.assertEqual(14, d.counts())
     probs = d.dump()
     self.assertTrue((probs == np.array([0., 2./14, 3./14, 4./14, 5./14])).all())
예제 #3
0
 def test_dump(self):
     d = Dist(5)
     for i in range(1, len(d)):
         d[i] = i + 1
     self.assertEqual(14, d.counts())
     probs = d.dump()
     self.assertTrue(
         (probs == np.array([0., 2. / 14, 3. / 14, 4. / 14, 5. / 14])).all())
예제 #4
0
 def test_dump_invalid(self):
     d = Dist(2)
     with self.assertRaises(ValueError):
         d.dump()
예제 #5
0
 def test_dump_invalid(self):
     d = Dist(2)
     with self.assertRaises(ValueError):
         d.dump()