TimeSeries implements Iterable<IndependentPair<Long, SINGLE_TYPE>> { public abstract void set(long[] time, DATA data) throws TimeSeriesSetException;  RETURNTYPE get(long time); abstract RETURNTYPE get(long time, int nbefore, int nafter); abstract RETURNTYPE get(long time, int nbefore, int nafter, RETURNTYPE output); abstract RETURNTYPE get(long time, long threshbefore, long threshafter); abstract RETURNTYPE get(long start, long end); abstract void set(long[] time, DATA data); abstract long[] getTimes(); abstract DATA getData(); abstract RETURNTYPE newInstance(); abstract int size(); abstract void internalAssign(RETURNTYPE interpolate); void internalAssign(long[] times, DATA data); @SuppressWarnings("unchecked") RETURNTYPE copy(); RETURNTYPE process(TimeSeriesProcessor<DATA, SINGLE_TYPE,RETURNTYPE> tsp); RETURNTYPE processInplace(TimeSeriesProcessor<DATA, SINGLE_TYPE,RETURNTYPE> tsp); OUTRET convert(TimeSeriesConverter<DATA,SINGLE_TYPE,RETURNTYPE,OUTDATA,OUTSING,OUTRET> converter); OUTRET convert(TimeSeriesConverter<DATA,SINGLE_TYPE,RETURNTYPE,OUTDATA,OUTSING,OUTRET> converter,TimeSeriesProcessor<OUTDATA,OUTSING,OUTRET> tsp); @Override abstract String toString();  }
@Test public void testDoubleTimeSeriesIterator() throws TimeSeriesSetException{ DoubleTimeSeries ts = new DoubleTimeSeries(); long[] times = new long[]{1,2,5,9,10}; double[] values = new double[]{1,2,5,9,10}; ts.set(times, values); }