Files
geant4/source/analysis/include/tools/platform
T
2016-06-09 16:46:55 +02:00

29 lines
676 B
Plaintext

// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.
#ifndef tools_platform
#define tools_platform
// We do not byteswap on intel (LE) (common platform).
// We have then a better compression on these machines.
// NOTE : this is the contrary to what is done in ROOT (and Rio).
namespace tools {
inline bool is_little_endian() {
unsigned int i = 1;
unsigned char* b = (unsigned char*)&i;
// BE = Big Endian, LE = Little Endian.
// The Intels x86 are LE.
// Mac PPC b[3] is 1 (BE)
// Mac Intel b[0] is 1 (LE)
// Linux i386 b[0] is 1 (LE)
// Linux x86_64 b[0] is 1 (LE)
return (b[0]==1?true:false);
}
}
#endif