docs: public float getS15Fixed16(int index) throws IOException
      {
          validateIndex(index, 4);
  
          if (_isMotorolaByteOrder) {
              float res = (getByte(index    ) & 0xFF) << 8 |
                          (getByte(index + 1) & 0xFF);
              int d =     (getByte(index + 2) & 0xFF) << 8 |
                          (getByte(index + 3) & 0xFF);
              return (float)(res + d/65536.0);
          } else {
              // this particular branch is untested
              float res = (getByte(index + 3) & 0xFF) << 8 |
                          (getByte(index + 2) & 0xFF);
              int d =     (getByte(index + 1) & 0xFF) << 8 |
                          (getByte(index    ) & 0xFF);
              return (float)(res + d/65536.0);
          }
      }