public double ReadDouble() { fixed (byte* ptr_workspace = workspace) { double tmp = *((double*)(ptr_workspace + readIndex)); readIndex += 8; return tmp; } }