cdm/src/main/java/ucar/unidata/io/BeLeDataInputStream.java
public final void readLEDoubles(double[] d, int n) throws IOException {
    int nLeft = n;
    int dCount = 0;
    int nToRead = kLongs;
    while (nLeft > 0) {
      if (nToRead > nLeft)
        nToRead = nLeft;
      readLELongs(longWorkSpace, nToRead);
      for (int i = 0; i < nToRead; i++) {
        d[dCount++] = Double.longBitsToDouble(longWorkSpace[i]);
      }
      nLeft -= nToRead;
    }
  }
public final void readLEDoubles(double[] d, int n) throws IOException {
    int nLeft = n;
    int dCount = 0;
    int nToRead = kLongs;
    while (nLeft > 0) {
      if (nToRead > nLeft)
        nToRead = nLeft;
      readLELongs(longWorkSpace, nToRead);
      for (int i = 0; i < nToRead; i++) {
        d[dCount++] = Double.longBitsToDouble(longWorkSpace[i]);
      }
      nLeft -= nToRead;
    }
  }
Reads <code>n</code> little-endian doubles from a random access file.
<p/>
<p> This method is provided for speed when accessing a number
of consecutive values of the same type.

@param d the buffer into which the doubles are read
@param n number of little-endian doubles to read