code: public void putDouble(Double val) throws IOException {
      long v = java.lang.Double.doubleToLongBits(val.getValue());
      if (byteOrder == ByteOrder.BIG_ENDIAN) {
        writeIntCurrentPosition((int) (v >>> 56) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 48) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 40) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 32) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 24) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 16) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 8) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 0) & 0xFF);
      } else {
        writeIntCurrentPosition((int) (v >>> 0) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 8) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 16) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 24) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 32) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 40) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 48) & 0xFF);
        writeIntCurrentPosition((int) (v >>> 56) & 0xFF);
      }
    }
docs: Puts a double (4 bytes).
  
  @param val the val
  @throws IOException Signals that an I/O exception has occurred.