コード例 #1
0
ファイル: test.py プロジェクト: fjarri/python-dcmt
	def testId(self):

		# valid calls
		DcmtRandom(id=20, gen_seed=1)
		DcmtRandom.range(1, 4, gen_seed=1)
		DcmtRandomState(id=3000, gen_seed=1)
		DcmtRandomState.range(100, 103, gen_seed=1)
		mt_range(4, gen_seed=1)

		# check that range functions behave like Python range()
		for func in (DcmtRandom.range, DcmtRandomState.range, mt_range):
			for args in ((), (1, 2, 3)):
				self.assertRaises(TypeError, func, *args)

			self.assertEqual(func(3, 1), [])

		# error: id < 0
		self.assertRaises(DcmtParameterError, DcmtRandom, id=-1, gen_seed=1)
		self.assertRaises(DcmtParameterError, DcmtRandom.range, -1, 3, gen_seed=1)
		self.assertRaises(DcmtParameterError, DcmtRandomState, id=-1, gen_seed=1)
		self.assertRaises(DcmtParameterError, DcmtRandomState.range, -1, 2, gen_seed=1)
		self.assertRaises(DcmtParameterError, mt_range, -1, 3, gen_seed=1)

		# error: id > 65535
		self.assertRaises(DcmtParameterError, DcmtRandom, id=65536, gen_seed=1)
		self.assertRaises(DcmtParameterError, DcmtRandom.range, 65535, 65537, gen_seed=1)
		self.assertRaises(DcmtParameterError, DcmtRandomState, id=65536, gen_seed=1)
		self.assertRaises(DcmtParameterError, DcmtRandomState.range, 65535, 65537, gen_seed=1)
		self.assertRaises(DcmtParameterError, mt_range, 65534, 65539, gen_seed=1)
		self.assertRaises(DcmtParameterError, mt_range, 65536, 65539, gen_seed=1)
コード例 #2
0
    def testSingleRandom(self):
        shape = (9, 10, 11)
        rng = DcmtRandomState(gen_seed=900)
        rng.seed(400)

        r = rng.rand()
        self.assert_(type(r) == float)
コード例 #3
0
ファイル: test.py プロジェクト: fjarri/python-dcmt
	def testSingleRandom(self):
		shape = (9, 10, 11)
		rng = DcmtRandomState(gen_seed=900)
		rng.seed(400)

		r = rng.rand()
		self.assert_(type(r) == float)
コード例 #4
0
    def testId(self):

        # valid calls
        DcmtRandom(id=20, gen_seed=1)
        DcmtRandom.range(1, 4, gen_seed=1)
        DcmtRandomState(id=3000, gen_seed=1)
        DcmtRandomState.range(100, 103, gen_seed=1)
        mt_range(4, gen_seed=1)

        # check that range functions behave like Python range()
        for func in (DcmtRandom.range, DcmtRandomState.range, mt_range):
            for args in ((), (1, 2, 3)):
                self.assertRaises(TypeError, func, *args)

            self.assertEqual(func(3, 1), [])

        # error: id < 0
        self.assertRaises(DcmtParameterError, DcmtRandom, id=-1, gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          DcmtRandom.range,
                          -1,
                          3,
                          gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          DcmtRandomState,
                          id=-1,
                          gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          DcmtRandomState.range,
                          -1,
                          2,
                          gen_seed=1)
        self.assertRaises(DcmtParameterError, mt_range, -1, 3, gen_seed=1)

        # error: id > 65535
        self.assertRaises(DcmtParameterError, DcmtRandom, id=65536, gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          DcmtRandom.range,
                          65535,
                          65537,
                          gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          DcmtRandomState,
                          id=65536,
                          gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          DcmtRandomState.range,
                          65535,
                          65537,
                          gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          mt_range,
                          65534,
                          65539,
                          gen_seed=1)
        self.assertRaises(DcmtParameterError,
                          mt_range,
                          65536,
                          65539,
                          gen_seed=1)
コード例 #5
0
ファイル: test.py プロジェクト: fjarri/python-dcmt
	def testRand(self):

		shape = (9, 10, 11)
		rng = DcmtRandomState(gen_seed=900)
		rng.seed(400)

		randoms = rng.rand(*shape)

		self.assert_(randoms.shape == shape)
		diff_mean, diff_var = testLimits(randoms, 0, 1)
		self.assert_(diff_mean < 0.05)
		self.assert_(diff_var < 0.05)
コード例 #6
0
    def testRand(self):

        shape = (9, 10, 11)
        rng = DcmtRandomState(gen_seed=900)
        rng.seed(400)

        randoms = rng.rand(*shape)

        self.assert_(randoms.shape == shape)
        diff_mean, diff_var = testLimits(randoms, 0, 1)
        self.assert_(diff_mean < 0.05)
        self.assert_(diff_var < 0.05)
コード例 #7
0
ファイル: test.py プロジェクト: fjarri/python-dcmt
	def testRandrawFill(self):
		shape = (9, 10, 11)
		rng = DcmtRandomState(gen_seed=900)
		rng.seed(400)

		wrong_val = "aaa"
		wrong_arr = numpy.empty(shape, numpy.int64)
		self.assertRaises(TypeError, rng.rand_fill, wrong_val)
		self.assertRaises(TypeError, rng.rand_fill, wrong_arr)

		for dtype in (numpy.int32, numpy.uint32, numpy.float32):
			randoms = numpy.empty(shape, dtype)
			rng.randraw_fill(randoms)
コード例 #8
0
ファイル: test.py プロジェクト: fjarri/python-dcmt
	def testRandFill(self):
		shape = (9, 10, 11)
		rng = DcmtRandomState(gen_seed=900)
		rng.seed(400)

		wrong_val = "aaa"
		wrong_arr = numpy.empty(shape, numpy.float32)
		self.assertRaises(TypeError, rng.rand_fill, wrong_val)
		self.assertRaises(TypeError, rng.rand_fill, wrong_arr)

		randoms = numpy.empty(shape, numpy.float64)
		rng.rand_fill(randoms)

		diff_mean, diff_var = testLimits(randoms, 0, 1)
		self.assert_(diff_mean < 0.05)
		self.assert_(diff_var < 0.05)
コード例 #9
0
ファイル: test.py プロジェクト: fjarri/python-dcmt
	def testMtRange(self):
		start = 0
		stop = 3
		seed = 100
		init_seeds = [4, 5, 6]
		N = 10

		mt_common, mt_unique = mt_range(start, stop, gen_seed=seed)
		rngs0 = DcmtRandomState.from_mt_range(mt_common, mt_unique)
		rngs1 = DcmtRandomState.range(start, stop, gen_seed=seed)

		for rng0, rng1, seed in zip(rngs0, rngs1, init_seeds):
			rng0.seed(seed)
			rng1.seed(seed)

		for rng0, rng1 in zip(rngs0, rngs1):
			randoms0 = getRandomArray(rng0, N)
			randoms1 = getRandomArray(rng1, N)
			self.assert_((randoms0 == randoms1).all())
コード例 #10
0
    def testMtRange(self):
        start = 0
        stop = 3
        seed = 100
        init_seeds = [4, 5, 6]
        N = 10

        mt_common, mt_unique = mt_range(start, stop, gen_seed=seed)
        rngs0 = DcmtRandomState.from_mt_range(mt_common, mt_unique)
        rngs1 = DcmtRandomState.range(start, stop, gen_seed=seed)

        for rng0, rng1, seed in zip(rngs0, rngs1, init_seeds):
            rng0.seed(seed)
            rng1.seed(seed)

        for rng0, rng1 in zip(rngs0, rngs1):
            randoms0 = getRandomArray(rng0, N)
            randoms1 = getRandomArray(rng1, N)
            self.assert_((randoms0 == randoms1).all())
コード例 #11
0
    def testDefaultSeed(self):
        """Check that RNG is useable even if seed was not set explicitly"""

        ids = (1, )
        tests = ((DcmtRandom, (), lambda x: x), (DcmtRandom.range, ids,
                                                 lambda x: x[0]),
                 (DcmtRandomState, (), lambda x: x), (DcmtRandomState.range,
                                                      ids, lambda x: x[0]),
                 (mt_range, ids,
                  lambda x: DcmtRandomState.from_mt_range(*x)[0]))

        for func, args, get_rng in tests:
            rng = get_rng(func(*args, gen_seed=1))
            getRandomArray(rng, 10)
コード例 #12
0
ファイル: test.py プロジェクト: fjarri/python-dcmt
	def testDefaultSeed(self):
		"""Check that RNG is useable even if seed was not set explicitly"""

		ids = (1,)
		tests = (
			(DcmtRandom, (), lambda x: x),
			(DcmtRandom.range, ids, lambda x: x[0]),
			(DcmtRandomState, (), lambda x: x),
			(DcmtRandomState.range, ids, lambda x: x[0]),
			(mt_range, ids, lambda x: DcmtRandomState.from_mt_range(*x)[0])
		)

		for func, args, get_rng in tests:
			rng = get_rng(func(*args, gen_seed=1))
			getRandomArray(rng, 10)
コード例 #13
0
    def testRandrawFill(self):
        shape = (9, 10, 11)
        rng = DcmtRandomState(gen_seed=900)
        rng.seed(400)

        wrong_val = "aaa"
        wrong_arr = numpy.empty(shape, numpy.int64)
        self.assertRaises(TypeError, rng.rand_fill, wrong_val)
        self.assertRaises(TypeError, rng.rand_fill, wrong_arr)

        for dtype in (numpy.int32, numpy.uint32, numpy.float32):
            randoms = numpy.empty(shape, dtype)
            rng.randraw_fill(randoms)
コード例 #14
0
    def testRandFill(self):
        shape = (9, 10, 11)
        rng = DcmtRandomState(gen_seed=900)
        rng.seed(400)

        wrong_val = "aaa"
        wrong_arr = numpy.empty(shape, numpy.float32)
        self.assertRaises(TypeError, rng.rand_fill, wrong_val)
        self.assertRaises(TypeError, rng.rand_fill, wrong_arr)

        randoms = numpy.empty(shape, numpy.float64)
        rng.rand_fill(randoms)

        diff_mean, diff_var = testLimits(randoms, 0, 1)
        self.assert_(diff_mean < 0.05)
        self.assert_(diff_var < 0.05)