private ByteBuffer PutDouble(long a, double x) { if (Unaligned) { long y = Double.doubleToRawLongBits(x); @unsafe.putLong(a, (NativeByteOrder ? y : Bits.Swap(y))); } else { Bits.PutDouble(a, x, BigEndian); } return(this); }