Changeset 970 for trunk

Show
Ignore:
Timestamp:
05/27/11 16:27:05 (12 months ago)
Author:
pierre
Message:

Caching also the data in NEST when recorded from memory and not to file, to have similar behaviours between to_file=True/False?. Fix also a minor bug in FastSmallWorldConnector?.

Location:
trunk/src/nest
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/nest/connectors.py

    r957 r970  
    6666                 
    6767        if (rewiring is not None) and (rewiring > 0): 
     68            idx = numpy.arange(0, self.N)           
    6869            if not self.allow_self_connections and self.projection.pre == self.projection.post: 
    6970                i   = numpy.where(self.candidates == tgt)[0] 
    70                 idx = numpy.delete(self.candidates, i) 
     71                idx = numpy.delete(idx, i) 
    7172             
    7273            rarr    = self.probas_generator.get(self.M)[precreate] 
  • trunk/src/nest/recording.py

    r961 r970  
    136136        if compatible_output: 
    137137            data = self.events_to_array(data) 
    138             data = self.scale_data(data) 
     138            data = self.scale_data(data)   
    139139        if gather and simulator.state.num_processes > 1: 
    140             data = recording.gather(data) 
     140            data = recording.gather(data)      
     141            self._gathered_file = tempfile.TemporaryFile() 
     142            numpy.save(self._gathered_file, data) 
     143            self._gathered = True 
    141144        return data 
    142145     
     
    164167            non_empty_nest_files = [filename for filename in nest_files if os.stat(filename).st_size > 0] 
    165168            if len(non_empty_nest_files) > 0: 
    166                 data = numpy.concatenate([numpy.loadtxt(nest_file) for nest_file in non_empty_nest_files]) 
     169                data = numpy.concatenate([numpy.loadtxt(nest_file, dtype=float) for nest_file in non_empty_nest_files]) 
    167170            if len(non_empty_nest_files) == 0 or data.size == 0: 
    168171                if self.type is "spike_detector": 
     
    281284            data = self._device.read_subset(variables, gather, compatible_output, always_local) 
    282285        assert len(data.shape) == 2 
    283         if not self._device._gathered: 
    284             filtered_ids = self.filter_recorded(filter) 
    285             mask = reduce(numpy.add, (data[:,0]==id for id in filtered_ids)) 
     286        if not self._device._gathered:             
     287            filtered_ids = self.filter_recorded(filter)             
     288            mask = reduce(numpy.add, (data[:,0]==id for id in filtered_ids))                 
    286289            if len(data) > 0: 
    287290                data = data[mask]