}
myRateHistory = new float[]{spikeTime>=0 ? 1f/dt : 0};
if (myMode.equals(SimulationMode.DEFAULT)) {
result = new SpikeOutputImpl(new boolean[]{spikeTime>=0f}, Units.SPIKES, time[time.length-1]);
} else {
result = new PreciseSpikeOutputImpl(new float[]{spikeTime}, Units.SPIKES, time[time.length-1]);
}
} else if (myMode.equals(SimulationMode.RATE)) {
float rate = I > 1 ? 1f / ( myTauRef - myTauRC * ((float) Math.log(1f - 1f/I)) ) : 0;