/* HTS_fwrite_little_endian: fwrite with byteswap */ size_t HTS_fwrite_little_endian(const void *buf, size_t size, size_t n, FILE * fp) { #ifdef WORDS_BIGENDIAN HTS_byte_swap(buf, size, n * size); #endif /* WORDS_BIGENDIAN */ return fwrite(buf, size, n, fp); }
/* HTS_fread_big_endian: fread with byteswap */ int HTS_fread_big_endian(void *p, const int size, const int num, HTS_File * fp) { const int block = HTS_fread(p, size, num, fp); if(is_machine_little_endian()) HTS_byte_swap(p, size, block); return block; }
/* HTS_fread_little_endian: fread with byteswap */ size_t HTS_fread_little_endian(void *buf, size_t size, size_t n, HTS_File *fp) { size_t block = HTS_fread(buf, size, n, fp); #ifdef WORDS_BIGENDIAN HTS_byte_swap(buf, size, block); #endif /* WORDS_BIGENDIAN */ return block; }
/* HTS_fwrite_little_endian: fwrite with byteswap */ int HTS_fwrite_little_endian(void *p, const int size, const int num, FILE * fp) { const int block = num * size; #ifdef WORDS_BIGENDIAN HTS_byte_swap(p, size, block); #endif /* WORDS_BIGENDIAN */ fwrite(p, size, num, fp); return block; }
/* HTS_fread_big_endian: fread with byteswap */ int HTS_fread_big_endian(void *p, const int size, const int num, FILE * fp) { const int block = fread(p, size, num, fp); #ifndef WORDS_BIGENDIAN HTS_byte_swap(p, size, block); #endif /* WORDS_LITTLEENDIAN */ /* WORDS_BIGENDIAN */ // return block; //#ifdef WORDS_LITTLEENDIAN // HTS_byte_swap(p, size, block); //#endif /* WORDS_LITTLEENDIAN */ return block; }