endian_utils.c

説明を見る。
00001 /*------------------------------------------------------------------------*/
00013 /* ヘッダファイル */
00014 #include <string.h>
00015 #include "utils/endian_utils.h"
00016 
00017 
00018 #pragma mark -
00019 /*------------------------------------------------------------------------*/
00027 double swapd(double d)
00028 {
00029     uint64_t    tmp = 0;
00030 
00031     memcpy(&tmp, &d, sizeof(d));
00032     tmp = (tmp >> 32) | (tmp << 32);
00033     tmp = ((tmp & 0xff00ff00ff00ff00ULL) >> 8) | ((tmp & 0x00ff00ff00ff00ffULL) << 8);
00034     tmp = ((tmp & 0xffff0000ffff0000ULL) >> 16) | ((tmp & 0x0000ffff0000ffffULL) << 16);
00035     memcpy(&d, &tmp, sizeof(d));
00036 
00037     return d;
00038 }
00039 

NEWT/0に対してThu Nov 23 16:50:42 2006に生成されました。  doxygen 1.5.0