diff options
Diffstat (limited to 'micropeak/MicroData.java')
-rw-r--r-- | micropeak/MicroData.java | 77 |
1 files changed, 11 insertions, 66 deletions
diff --git a/micropeak/MicroData.java b/micropeak/MicroData.java index 8ccd5fd8..2afd3cd7 100644 --- a/micropeak/MicroData.java +++ b/micropeak/MicroData.java @@ -22,7 +22,7 @@ import java.io.*; import java.util.*; import org.altusmetrum.AltosLib.*; -abstract class MicroIterator implements Iterator<Double> { +class MicroIterator implements Iterator<MicroDataPoint> { int i; MicroData data; @@ -30,6 +30,10 @@ abstract class MicroIterator implements Iterator<Double> { return i < data.pressures.length; } + public MicroDataPoint next() { + return new MicroDataPoint(data, i++); + } + public MicroIterator (MicroData data) { this.data = data; i = 0; @@ -39,66 +43,15 @@ abstract class MicroIterator implements Iterator<Double> { } } -class MicroHeightIterator extends MicroIterator { - public Double next() { - return data.height(i++); - } - - public MicroHeightIterator(MicroData data) { - super(data); - } -} - -class MicroHeightIterable implements Iterable<Double> { - MicroData data; - - public Iterator<Double> iterator() { - return new MicroHeightIterator(data); - } - - public MicroHeightIterable(MicroData data) { - this.data = data; - } -} - -class MicroSpeedIterator extends MicroIterator { - public Double next() { - return data.speed(i++); - } - public MicroSpeedIterator(MicroData data) { - super(data); - } -} - -class MicroSpeedIterable implements Iterable<Double> { - MicroData data; - - public Iterator<Double> iterator() { - return new MicroSpeedIterator(data); - } - - public MicroSpeedIterable(MicroData data) { - this.data = data; - } -} +class MicroIterable implements Iterable<MicroDataPoint> { -class MicroAccelIterator extends MicroIterator { - public Double next() { - return data.acceleration(i++); - } - public MicroAccelIterator(MicroData data) { - super(data); - } -} - -class MicroAccelIterable implements Iterable<Double> { MicroData data; - public Iterator<Double> iterator() { - return new MicroAccelIterator(data); + public Iterator<MicroDataPoint> iterator() { + return new MicroIterator(data); } - public MicroAccelIterable(MicroData data) { + public MicroIterable(MicroData data) { this.data = data; } } @@ -225,16 +178,8 @@ public class MicroData { return AltosConvert.pressure_to_altitude(pressures[i]); } - public Iterable<Double> heights() { - return new MicroHeightIterable(this); - } - - public Iterable<Double> speeds() { - return new MicroSpeedIterable(this); - } - - public Iterable<Double> accels() { - return new MicroAccelIterable(this); + public Iterable<MicroDataPoint> points() { + return new MicroIterable(this); } int fact(int n) { |