Example #1
0
def test_build_connect():
    projection_class = Mock()
    connector_class = Mock(return_value="connector")
    syn_class = Mock(return_value="syn")
    connect_function = common.build_connect(projection_class, connector_class,
                                            syn_class)
    assert isfunction(connect_function)

    prj = connect_function("source", "target", "weight", "delay",
                           "receptor_type", "p", "rng")
    syn_class.assert_called_with(weight="weight", delay="delay")
    connector_class.assert_called_with(p_connect="p", rng="rng")
    projection_class.assert_called_with("source",
                                        "target",
                                        "connector",
                                        synapse_type="syn",
                                        receptor_type="receptor_type")

    class MockID(common.IDMixin):
        def as_view(self):
            return "view"

    prj = connect_function(MockID(), MockID(), "weight", "delay",
                           "receptor_type", "p", "rng")
    projection_class.assert_called_with("view",
                                        "view",
                                        "connector",
                                        synapse_type="syn",
                                        receptor_type="receptor_type")
Example #2
0
def _create_overloaded_functions(spinnaker_simulator):
    """ Creates functions that the main PyNN interface supports\
        (given from PyNN)

    :param spinnaker_simulator: the simulator object we use underneath
    :rtype: None
    """

    # overload the failed ones with now valid ones, now that we're in setup
    # phase.
    __pynn["run"], __pynn["run_until"] = pynn_common.build_run(
        spinnaker_simulator)

    __pynn["get_current_time"], __pynn["get_time_step"], \
        __pynn["get_min_delay"], __pynn["get_max_delay"], \
        __pynn["num_processes"], __pynn["rank"] = \
        pynn_common.build_state_queries(spinnaker_simulator)

    __pynn["reset"] = pynn_common.build_reset(spinnaker_simulator)
    __pynn["create"] = pynn_common.build_create(Population)

    __pynn["connect"] = pynn_common.build_connect(Projection,
                                                  FixedProbabilityConnector,
                                                  StaticSynapse)

    __pynn["record"] = pynn_common.build_record(spinnaker_simulator)
Example #3
0
def test_build_connect():
    projection_class = Mock()
    connector_class = Mock(return_value="connector")
    connect_function = common.build_connect(projection_class, connector_class)
    assert isfunction(connect_function)
    
    prj = connect_function("source", "target", "weight", "delay", "synapse_type", "p", "rng")
    connector_class.assert_called_with(p_connect="p", weights="weight", delays="delay")
    projection_class.assert_called_with("source", "target", "connector", target="synapse_type", rng="rng")
    
    class MockID(common.IDMixin):
       def as_view(self):
            return "view"
 
    prj = connect_function(MockID(), MockID(), "weight", "delay", "synapse_type", "p", "rng")
    projection_class.assert_called_with("view", "view", "connector", target="synapse_type", rng="rng")
Example #4
0

def end(compatible_output=True):
    """Do any necessary cleaning up before exiting."""
    for (population, variables, filename) in simulator.state.write_on_end:
        io = get_io(filename)
        population.write_data(io, variables)
    simulator.state.write_on_end = []
    # should have common implementation of end()

run, run_until = common.build_run(simulator)
run_for = run

reset = common.build_reset(simulator)

initialize = common.initialize

get_current_time, get_time_step, get_min_delay, get_max_delay, \
                    num_processes, rank = common.build_state_queries(simulator)

create = common.build_create(Population)

connect = common.build_connect(Projection, FixedProbabilityConnector, StaticSynapse)


record = common.build_record(simulator)

record_v = lambda source, filename: record(['v'], source, filename)

record_gsyn = lambda source, filename: record(['gsyn_exc', 'gsyn_inh'], source, filename)
Example #5
0
                    synapse_object = target._cell.esyn
                elif self.synapse_type == "inhibitory":
                    synapse_object = target._cell.isyn
                else:
                    synapse_object = getattr(target._cell, self.synapse_type)
                source._cell.source.connect('event', synapse_object, 'synapse')
                synapse_object.n_incoming_connections += 1
                index = synapse_object.n_incoming_connections - 1
                synapse_object.setWeight(index, weight)
                synapse_object.setDelay(index, delay)
                self.connections.append((source, target, index))
                
# ==============================================================================
#   Low-level API for creating, connecting and recording from individual neurons
# ==============================================================================

create = common.build_create(Population)

connect = common.build_connect(Projection, FixedProbabilityConnector)

set = common.set

record = common.build_record('spikes', simulator)

record_v = common.build_record('v', simulator)

record_gsyn = common.build_record('gsyn', simulator)

# ==============================================================================

Example #6
0
def end(compatible_output=True):
    """Do any necessary cleaning up before exiting."""
    for (population, variables, filename) in simulator.state.write_on_end:
        io = get_io(filename)
        population.write_data(io, variables)
    simulator.state.write_on_end = []
    # should have common implementation of end()


run, run_until = common.build_run(simulator)
run_for = run

reset = common.build_reset(simulator)

initialize = common.initialize

get_current_time, get_time_step, get_min_delay, get_max_delay, \
                    num_processes, rank = common.build_state_queries(simulator)

create = common.build_create(Population)

connect = common.build_connect(Projection, FixedProbabilityConnector,
                               StaticSynapse)

record = common.build_record(simulator)

record_v = lambda source, filename: record(['v'], source, filename)

record_gsyn = lambda source, filename: record(['gsyn_exc', 'gsyn_inh'], source,
                                              filename)