View Javadoc

1   package org.catacomb.numeric.data;
2   
3   
4   public final class DoubleArray {
5   
6   
7       double[] data;
8       int npoint;
9   
10  
11      public DoubleArray() {
12          data = new double[100];
13          npoint = 0;
14      }
15  
16      public DoubleArray(double[] da) {
17          data = da;
18          npoint = da.length;
19      }
20  
21  
22      public int getNPoint() {
23          return npoint;
24      }
25  
26      public double[] getData() {
27          return data;
28      }
29  
30  
31      public void addPoint(double d) {
32          if (data == null) {
33              data = new double[100];
34          }
35  
36          if (npoint == data.length) {
37              double[] td = new double[2 * data.length];
38              System.arraycopy(data, 0, td, 0, npoint);
39              data = td;
40          }
41          data[npoint++] = d;
42      }
43  
44  
45      public double getValue(int n) {
46          return (n >= 0 && n < npoint ? data[n] : 0.);
47      }
48  
49      public double[] getCutDownArray() {
50          double[] da = new double[npoint];
51          System.arraycopy(data, 0, da, 0, npoint);
52          return da;
53      }
54  }