Example #1
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)
Example #2
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)
Example #3
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())
Example #4
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())