Ejemplo n.º 1
0
 def test_event_generator_poisson_schedule(self):
     cm = arb.cell_member(4, 2)
     ps = arb.poisson_schedule(0., 10., 0)
     pg = arb.event_generator(cm, 42., ps)
     self.assertEqual(pg.target.gid, 4)
     self.assertEqual(pg.target.index, 2)
     self.assertEqual(pg.weight, 42.)
Ejemplo n.º 2
0
 def test_set_tstart_freq_seed_poisson_schedule(self):
     ps = arb.poisson_schedule()
     ps.tstart = 4.5
     ps.freq = 5.5
     ps.seed = 83
     self.assertAlmostEqual(ps.tstart, 4.5)
     self.assertAlmostEqual(ps.freq, 5.5)
     self.assertEqual(ps.seed, 83)
Ejemplo n.º 3
0
 def test_events_poisson_schedule(self):
     expected = [17.4107, 502.074, 506.111, 597.116]
     ps = arb.poisson_schedule(0., 10., 0)
     for i in range(len(expected)):
         self.assertAlmostEqual(expected[i], ps.events(0., 600.)[i], places = 3)
     expected = [5030.22, 5045.75, 5069.84, 5091.56, 5182.17, 5367.3, 5566.73, 5642.13, 5719.85, 5796, 5808.33]
     for i in range(len(expected)):
         self.assertAlmostEqual(expected[i], ps.events(5000., 6000.)[i], places = 2)
Ejemplo n.º 4
0
 def event_generators(self, gid):
     t0 = 0
     idx = 0
     sched = arbor.poisson_schedule(t0, self.lambda_, gid + self.seed_)
     return [arbor.event_generator(idx, self.weight_ext_, sched)]
Ejemplo n.º 5
0
 def test_exceptions_poisson_schedule(self):
     with self.assertRaisesRegex(RuntimeError,
                                 "tstart must be a non-negative number"):
         arb.poisson_schedule(tstart=-10.)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(tstart=None)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(tstart='tstart')
     with self.assertRaisesRegex(RuntimeError,
                                 "frequency must be a non-negative number"):
         arb.poisson_schedule(freq=-100.)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq='freq')
     with self.assertRaises(TypeError):
         arb.poisson_schedule(seed=-1)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(seed=10.)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(seed='seed')
     with self.assertRaises(TypeError):
         arb.poisson_schedule(seed=None)
Ejemplo n.º 6
0
 def test_tstart_freq_seed_contor_poisson_schedule(self):
     ps = arb.poisson_schedule(10., 100., 1000)
     self.assertEqual(ps.tstart, 10.)
     self.assertEqual(ps.freq, 100.)
     self.assertEqual(ps.seed, 1000)
Ejemplo n.º 7
0
 def test_freq_seed_contor_poisson_schedule(self):
     ps = arb.poisson_schedule(freq=5., seed=42)
     self.assertEqual(ps.freq, 5.)
     self.assertEqual(ps.seed, 42)
Ejemplo n.º 8
0
 def test_event_generator_poisson_schedule(self):
     ps = arb.poisson_schedule(0., 10., 0)
     pg = arb.event_generator("tgt2", 42., ps)
     self.assertEqual(pg.target.label, "tgt2")
     self.assertEqual(pg.target.policy, arb.selection_policy.univalent)
     self.assertEqual(pg.weight, 42.)
Ejemplo n.º 9
0
 def test_event_generator_poisson_schedule(self):
     ps = arb.poisson_schedule(0., 10., 0)
     pg = arb.event_generator(2, 42., ps)
     self.assertEqual(pg.target, 2)
     self.assertEqual(pg.weight, 42.)
Ejemplo n.º 10
0
 def test_tstop_poisson_schedule(self):
     tstop = 50
     events = arb.poisson_schedule(0., 1, 0, tstop).events(0, 100)
     self.assertTrue(max(events) < tstop)
Ejemplo n.º 11
0
 def test_exceptions_poisson_schedule(self):
     with self.assertRaises(TypeError):
         arb.poisson_schedule()
     with self.assertRaises(TypeError):
         arb.poisson_schedule(tstart=10.)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(seed=1432)
     with self.assertRaisesRegex(RuntimeError,
                                 "tstart must be a non-negative number"):
         arb.poisson_schedule(freq=34., tstart=-10.)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq=34., tstart=None)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq=34., tstart='tstart')
     with self.assertRaisesRegex(RuntimeError,
                                 "frequency must be a non-negative number"):
         arb.poisson_schedule(freq=-100.)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq='freq')
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq=34., seed=-1)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq=34., seed=10.)
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq=34., seed='seed')
     with self.assertRaises(TypeError):
         arb.poisson_schedule(freq=34., seed=None)
     with self.assertRaisesRegex(RuntimeError,
                                 "t0 must be a non-negative number"):
         ps = arb.poisson_schedule(0, 0.01)
         ps.events(-1., 1.)
     with self.assertRaisesRegex(RuntimeError,
                                 "t1 must be a non-negative number"):
         ps = arb.poisson_schedule(0, 0.01)
         ps.events(1., -1.)
     with self.assertRaisesRegex(
             RuntimeError, "tstop must be a non-negative number, or None"):
         arb.poisson_schedule(0, 0.1, tstop='tstop')
         ps.events(1., -1.)
Ejemplo n.º 12
0
 def test_freq_tstart_contor_poisson_schedule(self):
     ps = arb.poisson_schedule(freq=5., tstart=4.3)
     self.assertEqual(ps.freq, 5.)
     self.assertEqual(ps.tstart, 4.3)
Ejemplo n.º 13
0
 def test_freq_poisson_schedule(self):
     ps = arb.poisson_schedule(42.)
     self.assertEqual(ps.freq, 42.)