unsigned int JDMwrite_float64 (float64 *ss, unsigned int n, FILE *fp) /*{{{*/ { unsigned int nwrote; #ifdef NEEDS_BYTE_SWAP byte_swap64 ((unsigned char *) ss, n); #endif nwrote = fwrite (ss, 8, n, fp); #ifdef NEEDS_BYTE_SWAP byte_swap64 ((unsigned char *) ss, n); #endif return nwrote; }
unsigned int JDMread_float64 (float64 *ss, unsigned int n, FILE *fp) /*{{{*/ { unsigned int nread = fread (ss, 8, n, fp); #ifdef NEEDS_BYTE_SWAP byte_swap64 ((unsigned char *)ss, nread); #endif return nread; }
unsigned char *JDMstr_write_float64 (float64 *ss, unsigned int n, unsigned char *s) /*{{{*/ { unsigned int len = 8 * n; memcpy ((char *) s, (char *) ss, len); #ifdef NEEDS_BYTE_SWAP byte_swap64 ((unsigned char *) s, n); #endif return s + len; }
static int byteswap (int order, unsigned char *b, unsigned int size, unsigned int num) { if (Native_Byte_Order == order) return 0; switch (size) { case 2: byte_swap16 (b, num); break; case 4: byte_swap32 (b, num); break; case 8: byte_swap64 (b, num); break; default: return -1; } return 0; }