1 package org.opentrafficsim.kpi.sampling.data;
2
3 import java.util.Arrays;
4
5 import org.opentrafficsim.kpi.interfaces.GtuData;
6
7
8
9
10
11
12
13
14
15
16
17
18 public abstract class ExtendedDataNumber<G extends GtuData> extends ExtendedDataType<Float, float[], float[], G>
19 {
20
21
22
23
24
25
26 public ExtendedDataNumber(final String id, final String description)
27 {
28 super(id, description, Float.class);
29 }
30
31 @Override
32 public float[] setValue(final float[] storage, final int index, final Float value)
33 {
34 float[] out;
35 if (index == storage.length)
36 {
37 int cap = (index - 1) + ((index - 1) >> 1);
38 out = Arrays.copyOf(storage, cap);
39 }
40 else
41 {
42 out = storage;
43 }
44 out[index] = value;
45 return out;
46 }
47
48 @Override
49 public Float getOutputValue(final float[] output, final int index)
50 {
51 return output[index];
52 }
53
54 @Override
55 public Float getStorageValue(final float[] storage, final int index)
56 {
57 return storage[index];
58 }
59
60 @Override
61 public float[] initializeStorage()
62 {
63 return new float[10];
64 }
65
66 @Override
67 public float[] convert(final float[] storage, final int size)
68 {
69 return Arrays.copyOf(storage, size);
70 }
71
72 @Override
73 public Float parseValue(final String string)
74 {
75 return Float.valueOf(string);
76 }
77
78 }