- Timestamp:
- 10/12/11 11:20:03 (7 months ago)
- Location:
- trunk
- Files:
-
- 6 added
- 1 removed
- 21 modified
-
src/brian/__init__.py (modified) (1 diff)
-
src/common (added)
-
src/common.py (deleted)
-
src/common/__init__.py (added)
-
src/common/control.py (added)
-
src/common/populations.py (added)
-
src/common/procedural_api.py (added)
-
src/common/projections.py (added)
-
src/connectors.py (modified) (3 diffs)
-
src/core.py (modified) (2 diffs)
-
src/moose/__init__.py (modified) (1 diff)
-
src/multisim.py (modified) (1 diff)
-
src/nemo/__init__.py (modified) (1 diff)
-
src/nest/__init__.py (modified) (1 diff)
-
src/neuron/__init__.py (modified) (1 diff)
-
src/neuron/nineml.py (modified) (1 diff)
-
src/nineml/__init__.py (modified) (1 diff)
-
src/pcsim/__init__.py (modified) (1 diff)
-
src/recording/files.py (modified) (2 diffs)
-
test/unittests/test_assembly.py (modified) (1 diff)
-
test/unittests/test_basepopulation.py (modified) (10 diffs)
-
test/unittests/test_connectors.py (modified) (8 diffs)
-
test/unittests/test_lowlevelapi.py (modified) (4 diffs)
-
test/unittests/test_neuron.py (modified) (2 diffs)
-
test/unittests/test_population.py (modified) (6 diffs)
-
test/unittests/test_projection.py (modified) (4 diffs)
-
test/unittests/test_simulation_control.py (modified) (2 diffs)
-
test/unittests/test_utility_functions.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/brian/__init__.py
r998 r999 14 14 from pyNN.brian import simulator 15 15 from pyNN import common, recording, space, core, __doc__ 16 common. simulator = simulator16 common.control.simulator = simulator 17 17 recording.simulator = simulator 18 18 from pyNN.random import * -
trunk/src/connectors.py
r998 r999 25 25 logger = logging.getLogger("PyNN") 26 26 27 DEFAULT_WEIGHT = 0.0 27 28 28 29 def expand_distances(d_expression): … … 149 150 def check(self, weight): 150 151 if weight is None: 151 weight = common.DEFAULT_WEIGHT152 weight = DEFAULT_WEIGHT 152 153 if core.is_listlike(weight): 153 154 weight = numpy.array(weight) … … 900 901 self.weights = weights 901 902 if weights is None: 902 self.weights = common.DEFAULT_WEIGHT903 self.weights = DEFAULT_WEIGHT 903 904 self.delays = delays 904 905 if delays is None: -
trunk/src/core.py
r998 r999 277 277 return functools.partial(self.__call__, obj) 278 278 279 279 280 class deprecated(object): 280 281 """ … … 297 298 new_func.__dict__.update(func.__dict__) 298 299 return new_func 300 301 -
trunk/src/moose/__init__.py
r998 r999 17 17 from pyNN.moose import simulator 18 18 from pyNN import common, recording, core 19 common. simulator = simulator19 common.control.simulator = simulator 20 20 recording.simulator = simulator 21 21 -
trunk/src/multisim.py
r957 r999 17 17 """ 18 18 print "Running simulation with %s" % sim.__name__ 19 common. simulator = sim.simulator19 common.control.simulator = sim.simulator 20 20 recording.simulator = sim.simulator 21 21 network = network_model(sim, parameters) -
trunk/src/nemo/__init__.py
r998 r999 14 14 from pyNN.nemo import simulator 15 15 from pyNN import common, recording, space, core, __doc__ 16 common. simulator = simulator16 common.control.simulator = simulator 17 17 recording.simulator = simulator 18 18 from pyNN.random import * -
trunk/src/nest/__init__.py
r998 r999 11 11 from pyNN.nest import simulator 12 12 from pyNN import common, recording, errors, space, __doc__ 13 common. simulator = simulator13 common.control.simulator = simulator 14 14 recording.simulator = simulator 15 15 -
trunk/src/neuron/__init__.py
r998 r999 13 13 from pyNN.neuron import simulator 14 14 from pyNN import common, core, recording as base_recording, space, __doc__ 15 common. simulator = simulator15 common.control.simulator = simulator 16 16 base_recording.simulator = simulator 17 17 -
trunk/src/neuron/nineml.py
r986 r999 31 31 from pyNN.neuron import simulator 32 32 from pyNN import common, recording 33 common. simulator = simulator33 common.control.simulator = simulator 34 34 recording.simulator = simulator 35 35 -
trunk/src/nineml/__init__.py
r957 r999 80 80 state = State() 81 81 simulator = DummySimulator() 82 common. simulator = simulator82 common.control.simulator = simulator 83 83 recording.simulator = simulator 84 84 -
trunk/src/pcsim/__init__.py
r998 r999 22 22 from pyNN import common, recording, errors, space, core, __doc__ 23 23 from pyNN.pcsim import simulator 24 common. simulator = simulator24 common.control.simulator = simulator 25 25 recording.simulator = simulator 26 26 import os.path -
trunk/src/recording/files.py
r957 r999 21 21 import numpy, sys, os, shutil 22 22 import cPickle as pickle 23 from numpy.lib import format24 23 25 24 try: … … 47 46 __doc__ = numpy.savez.__doc__ 48 47 import zipfile 49 48 from numpy.lib import format 49 50 50 if isinstance(file, basestring): 51 51 if not file.endswith('.npz'): -
trunk/test/unittests/test_assembly.py
r879 r999 1 1 from pyNN import common 2 from pyNN.common import Assembly, BasePopulation2 from pyNN.common.populations import Assembly, BasePopulation 3 3 from nose.tools import assert_equal, assert_raises 4 4 import numpy -
trunk/test/unittests/test_basepopulation.py
r926 r999 1 from pyNN import common, errors, random, standardmodels 1 from pyNN import common, errors, random, standardmodels, recording 2 from pyNN.common import populations, control 2 3 from nose.tools import assert_equal, assert_raises 3 4 import numpy … … 17 18 return parameters 18 19 19 class MockPopulation( common.BasePopulation):20 class MockPopulation(populations.BasePopulation): 20 21 size = 13 21 22 all_cells = numpy.arange(100, 113) … … 56 57 57 58 def test__getitem__slice(): 58 orig_PV = common.PopulationView59 common.PopulationView = Mock()59 orig_PV = populations.PopulationView 60 populations.PopulationView = Mock() 60 61 p = MockPopulation() 61 62 pv = p[3:9] 62 common.PopulationView.assert_called_with(p, slice(3,9,None))63 common.PopulationView = orig_PV63 populations.PopulationView.assert_called_with(p, slice(3,9,None)) 64 populations.PopulationView = orig_PV 64 65 65 66 def test__getitem__list(): 66 orig_PV = common.PopulationView67 common.PopulationView = Mock()67 orig_PV = populations.PopulationView 68 populations.PopulationView = Mock() 68 69 p = MockPopulation() 69 70 pv = p[range(3,9)] 70 common.PopulationView.assert_called_with(p, range(3,9))71 common.PopulationView = orig_PV71 populations.PopulationView.assert_called_with(p, range(3,9)) 72 populations.PopulationView = orig_PV 72 73 73 74 def test__getitem__tuple(): 74 orig_PV = common.PopulationView75 common.PopulationView = Mock()75 orig_PV = populations.PopulationView 76 populations.PopulationView = Mock() 76 77 p = MockPopulation() 77 78 pv = p[(3,5,7)] 78 common.PopulationView.assert_called_with(p, [3,5,7])79 common.PopulationView = orig_PV79 populations.PopulationView.assert_called_with(p, [3,5,7]) 80 populations.PopulationView = orig_PV 80 81 81 82 def test__getitem__invalid(): … … 112 113 p2 = MockPopulation() 113 114 assembly = p1 + p2 114 assert isinstance(assembly, common.Assembly)115 assert isinstance(assembly, populations.Assembly) 115 116 assert_equal(assembly.populations, [p1, p2]) 116 117 … … 150 151 151 152 def test_sample(): 152 orig_pv = common.PopulationView153 common.PopulationView = Mock()153 orig_pv = populations.PopulationView 154 populations.PopulationView = Mock() 154 155 p = MockPopulation() 155 156 rng = Mock() 156 157 rng.permutation = Mock(return_value=numpy.array([7,4,8,12,0,3,9,1,2,11,5,10,6])) 157 158 pv = p.sample(5, rng=rng) 158 assert_arrays_equal( common.PopulationView.call_args[0][1], numpy.array([7,4,8,12,0]))159 common.PopulationView = orig_pv159 assert_arrays_equal(populations.PopulationView.call_args[0][1], numpy.array([7,4,8,12,0])) 160 populations.PopulationView = orig_pv 160 161 161 162 def test_get_should_call_get_array_if_it_exists(): … … 174 175 175 176 def test_get_with_gather(): 176 np_orig = co mmon.num_processes177 rank_orig = co mmon.rank178 gd_orig = common.recording.gather_dict179 co mmon.num_processes = lambda: 2180 co mmon.rank = lambda: 0177 np_orig = control.num_processes 178 rank_orig = control.rank 179 gd_orig = recording.gather_dict 180 control.num_processes = lambda: 2 181 control.rank = lambda: 0 181 182 def mock_gather_dict(D): # really hacky 182 183 assert isinstance(D[0], list) 183 184 D[1] = [i-1 for i in D[0]] + [D[0][-1] + 1] 184 185 return D 185 common.recording.gather_dict = mock_gather_dict186 recording.gather_dict = mock_gather_dict 186 187 187 188 p = MockPopulation() … … 190 191 numpy.arange(10.0, 23.0)) 191 192 192 co mmon.num_processes = np_orig193 co mmon.rank = rank_orig194 common.recording.gather_dict = gd_orig193 control.num_processes = np_orig 194 control.rank = rank_orig 195 recording.gather_dict = gd_orig 195 196 196 197 def test_set_from_dict(): … … 436 437 437 438 def test_meanSpikeCount(): 438 orig_rank = co mmon.rank439 co mmon.rank = lambda: 0439 orig_rank = control.rank 440 control.rank = lambda: 0 440 441 p = MockPopulation() 441 442 p.recorders = {'spikes': Mock()} 442 443 p.recorders['spikes'].count = Mock(return_value={0: 2, 1: 5}) 443 444 assert_equal(p.meanSpikeCount(), 3.5) 444 co mmon.rank = orig_rank445 control.rank = orig_rank 445 446 446 447 def test_meanSpikeCount_on_slave_node(): 447 orig_rank = co mmon.rank448 co mmon.rank = lambda: 1448 orig_rank = control.rank 449 control.rank = lambda: 1 449 450 p = MockPopulation() 450 451 p.recorders = {'spikes': Mock()} 451 452 p.recorders['spikes'].count = Mock(return_value={0: 2, 1: 5}) 452 453 assert p.meanSpikeCount() is numpy.NaN 453 co mmon.rank = orig_rank454 control.rank = orig_rank 454 455 455 456 def test_inject(): … … 468 469 def test_save_positions(): 469 470 import os 470 orig_rank = co mmon.rank471 co mmon.rank = lambda: 0471 orig_rank = control.rank 472 control.rank = lambda: 0 472 473 p = MockPopulation() 473 474 p.all_cells = numpy.array([34, 45, 56, 67]) … … 479 480 assert_equal(output_file.write.call_args[0][1], {'population': p.label}) 480 481 # arguably, the first column should contain indices, not ids. 481 co mmon.rank = orig_rank482 control.rank = orig_rank -
trunk/test/unittests/test_connectors.py
r998 r999 105 105 106 106 def setup(self): 107 common. simulator = MockSimulator107 common.control.simulator = MockSimulator 108 108 self.prj = MockProjection(MockPre(5), MockPost(numpy.array([0,1,0,1,0], dtype=bool))) 109 109 … … 129 129 130 130 def setup(self): 131 common. simulator = MockSimulator131 common.control.simulator = MockSimulator 132 132 self.prj = MockProjection(MockPre(4), MockPost(numpy.array([0,1,0,1,0], dtype=bool))) 133 133 … … 202 202 203 203 def setup(self): 204 common. simulator = MockSimulator204 common.control.simulator = MockSimulator 205 205 self.prj = MockProjection(MockPre(4), 206 206 MockPost(numpy.array([0,1,0,1,0], dtype=bool))) … … 222 222 223 223 def setup(self): 224 common. simulator = MockSimulator224 common.control.simulator = MockSimulator 225 225 self.prj = MockProjection(MockPre(4), 226 226 MockPost(numpy.array([0,1,0,1,0], dtype=bool))) … … 243 243 244 244 def setup(self): 245 common. simulator = MockSimulator245 common.control.simulator = MockSimulator 246 246 self.prj = MockProjection(MockPre(4), 247 247 MockPost(numpy.array([0,1,0,1,0], dtype=bool))) … … 282 282 283 283 def setup(self): 284 common. simulator = MockSimulator284 common.control.simulator = MockSimulator 285 285 self.prj = MockProjection(MockPre(4), 286 286 MockPost(numpy.array([0,1,0,1,0], dtype=bool))) … … 321 321 322 322 def setup(self): 323 common. simulator = MockSimulator323 common.control.simulator = MockSimulator 324 324 self.prj = MockProjection(MockPre(4), 325 325 MockPost(numpy.array([0,1,0,1,0], dtype=bool))) … … 352 352 353 353 def setup(self): 354 common. simulator = MockSimulator354 common.control.simulator = MockSimulator 355 355 self.prj = MockProjection(MockPre(4), 356 356 MockPost(numpy.array([0,1,0,1,0], dtype=bool))) -
trunk/test/unittests/test_lowlevelapi.py
r993 r999 1 1 from pyNN import common 2 from pyNN.common.populations import BasePopulation 2 3 from mock import Mock 3 4 from inspect import isfunction … … 31 32 32 33 def test_set(): 33 cells = common.BasePopulation()34 cells = BasePopulation() 34 35 cells.set = Mock() 35 36 common.set(cells, "param", "val") … … 42 43 assert isfunction(record_function) 43 44 44 source = common.BasePopulation()45 source = BasePopulation() 45 46 source._record = Mock() 46 47 source.recorders = {'foo': Mock()} … … 55 56 assert isfunction(record_function) 56 57 57 p1 = common.BasePopulation()58 p2 = common.BasePopulation()58 p1 = BasePopulation() 59 p2 = BasePopulation() 59 60 source = common.Assembly(p1, p2) 60 61 source._record = Mock() -
trunk/test/unittests/test_neuron.py
r888 r999 1 1 from neuron import h 2 2 from pyNN.neuron import electrodes, recording, simulator 3 from pyNN import common3 from pyNN.common import populations 4 4 from mock import Mock 5 5 from nose.tools import assert_equal, assert_raises, assert_almost_equal … … 37 37 self._cell = MockCell() 38 38 39 class MockPopulation( common.BasePopulation):39 class MockPopulation(populations.BasePopulation): 40 40 celltype = MockCellClass() 41 41 local_cells = [MockID(44), MockID(33)] -
trunk/test/unittests/test_population.py
r870 r999 1 from pyNN import common, errors, random, standardmodels, space 1 from pyNN import errors, random, standardmodels, space 2 from pyNN.common import control, populations 2 3 from nose.tools import assert_equal, assert_raises 3 4 import numpy … … 6 7 7 8 8 class MockID(int, common.IDMixin):9 class MockID(int, populations.IDMixin): 9 10 def __init__(self, n): 10 11 int.__init__(n) 11 common.IDMixin.__init__(self)12 populations.IDMixin.__init__(self) 12 13 def get_parameters(self): 13 14 return {} 14 15 15 class MockPopulation( common.Population):16 class MockPopulation(populations.Population): 16 17 recorder_class = Mock() 17 18 initialize = Mock() … … 79 80 def test_id_to_index(): 80 81 p = MockPopulation(11, MockStandardCell) 81 assert isinstance(p[0], common.IDMixin)82 assert isinstance(p[0], populations.IDMixin) 82 83 assert_equal(p.id_to_index(p[0]), 0) 83 84 assert_equal(p.id_to_index(p[10]), 10) … … 85 86 def test_id_to_index_with_array(): 86 87 p = MockPopulation(11, MockStandardCell) 87 assert isinstance(p[0], common.IDMixin)88 assert isinstance(p[0], populations.IDMixin) 88 89 assert_arrays_equal(p.id_to_index(p.all_cells[3:9:2]), numpy.arange(3,9,2)) 89 90 90 91 def test_id_to_index_with_populationview(): 91 92 p = MockPopulation(11, MockStandardCell) 92 assert isinstance(p[0], common.IDMixin)93 assert isinstance(p[0], populations.IDMixin) 93 94 view = p[3:7] 94 assert isinstance(view, common.PopulationView)95 assert isinstance(view, populations.PopulationView) 95 96 assert_arrays_equal(p.id_to_index(view), numpy.arange(3,7)) 96 97 97 98 def test_id_to_index_with_invalid_id(): 98 99 p = MockPopulation(11, MockStandardCell) 99 assert isinstance(p[0], common.IDMixin)100 assert isinstance(p[0], populations.IDMixin) 100 101 assert_raises(ValueError, p.id_to_index, MockID(p.last_id+1)) 101 102 assert_raises(ValueError, p.id_to_index, MockID(p.first_id-1)) … … 106 107 107 108 def test_id_to_local_index(): 108 orig_np = co mmon.num_processes109 co mmon.num_processes = lambda: 5109 orig_np = control.num_processes 110 control.num_processes = lambda: 5 110 111 p = MockPopulation(11, MockStandardCell) 111 112 # every 5th cell, starting with the 4th, is on this node. … … 113 114 assert_equal(p.id_to_local_index(p[8]), 1) 114 115 115 co mmon.num_processes = lambda: 1116 control.num_processes = lambda: 1 116 117 # only one node 117 118 assert_equal(p.id_to_local_index(p[3]), 3) 118 119 assert_equal(p.id_to_local_index(p[8]), 8) 119 co mmon.num_processes = orig_np120 control.num_processes = orig_np 120 121 121 122 def test_id_to_local_index_with_invalid_id(): 122 orig_np = co mmon.num_processes123 co mmon.num_processes = lambda: 5123 orig_np = control.num_processes 124 control.num_processes = lambda: 5 124 125 p = MockPopulation(11, MockStandardCell) 125 126 # every 5th cell, starting with the 4th, is on this node. 126 127 assert_raises(ValueError, p.id_to_local_index, p[0]) 127 co mmon.num_processes = orig_np128 control.num_processes = orig_np 128 129 129 130 # test structure property -
trunk/test/unittests/test_projection.py
r998 r999 1 from pyNN import common, standardmodels 1 from pyNN import common, standardmodels, recording 2 from pyNN.common.populations import BasePopulation 2 3 from nose.tools import assert_equal, assert_raises 3 4 from mock import Mock … … 20 21 recordable = ['v', 'spikes'] 21 22 22 class MockPopulation( common.BasePopulation):23 class MockPopulation(BasePopulation): 23 24 label = "mock_population" 24 25 first_id = 555 … … 59 60 60 61 def test_size_with_gather(): 61 orig_mpi_sum = common.recording.mpi_sum62 orig_len = common.Projection.__len__ 63 common.recording.mpi_sum = Mock()62 orig_mpi_sum = recording.mpi_sum 63 orig_len = common.Projection.__len__ 64 recording.mpi_sum = Mock() 64 65 common.Projection.__len__ = Mock(return_value=42) 65 66 p1 = MockPopulation() … … 67 68 prj = common.Projection(p1, p2, method=Mock()) 68 69 prj.size(gather=True) 69 common.recording.mpi_sum.assert_called_with(len(prj))70 common.recording.mpi_sum = orig_mpi_sum70 recording.mpi_sum.assert_called_with(len(prj)) 71 recording.mpi_sum = orig_mpi_sum 71 72 common.Projection.__len__ = orig_len 72 73 -
trunk/test/unittests/test_simulation_control.py
r858 r999 38 38 39 39 def test_reset(): 40 common. simulator = MockSimulator()40 common.control.simulator = MockSimulator() 41 41 common.reset() 42 assert common. simulator.reset_called42 assert common.control.simulator.reset_called 43 43 44 44 def test_initialize(): … … 48 48 49 49 def test_current_time(): 50 common. simulator = MockSimulator()50 common.control.simulator = MockSimulator() 51 51 common.get_current_time() 52 assert_equal(common. simulator.state.accesses, ['t'])52 assert_equal(common.control.simulator.state.accesses, ['t']) 53 53 54 54 def test_time_step(): 55 common. simulator = MockSimulator()55 common.control.simulator = MockSimulator() 56 56 common.get_time_step() 57 assert_equal(common. simulator.state.accesses, ['dt'])57 assert_equal(common.control.simulator.state.accesses, ['dt']) 58 58 59 59 def test_min_delay(): 60 common. simulator = MockSimulator()60 common.control.simulator = MockSimulator() 61 61 common.get_min_delay() 62 assert_equal(common. simulator.state.accesses, ['min_delay'])62 assert_equal(common.control.simulator.state.accesses, ['min_delay']) 63 63 64 64 def test_max_delay(): 65 common. simulator = MockSimulator()65 common.control.simulator = MockSimulator() 66 66 common.get_max_delay() 67 assert_equal(common. simulator.state.accesses, ['max_delay'])67 assert_equal(common.control.simulator.state.accesses, ['max_delay']) 68 68 69 69 def test_num_processes(): 70 common. simulator = MockSimulator()70 common.control.simulator = MockSimulator() 71 71 common.num_processes() 72 assert_equal(common. simulator.state.accesses, ['num_processes'])72 assert_equal(common.control.simulator.state.accesses, ['num_processes']) 73 73 74 74 def test_rank(): 75 common. simulator = MockSimulator()75 common.control.simulator = MockSimulator() 76 76 common.rank() 77 assert_equal(common. simulator.state.accesses, ['mpi_rank'])77 assert_equal(common.control.simulator.state.accesses, ['mpi_rank']) -
trunk/test/unittests/test_utility_functions.py
r870 r999 25 25 26 26 def setup(): 27 common. simulator = MockSimulator27 common.control.simulator = MockSimulator 28 28 29 29 def test_is_conductance():
