-bool get_float8 (int fd, double& f)
-{
- unsigned char buf[8];
- if (read (fd, &buf, 8) != 8)
- return false;
-
-#if WORDS_BIG_ENDIAN
- unsigned char c;
- c = buf[0]; buf[0] = buf[7]; buf[7] = c;
- c = buf[1]; buf[1] = buf[6]; buf[6] = c;
- c = buf[2]; buf[2] = buf[5]; buf[5] = c;
- c = buf[3]; buf[3] = buf[4]; buf[4] = c;
-#endif
-
- f = *(reinterpret_cast<double*>(buf));
-
- return true;
-}
-
-inline T nearest (double x)
-{ return (x > 0 ? static_cast<T>(x+0.5) : static_cast<T>(x-0.5)); }
-