00001
00009 #include "StArchInfo.h"
00010
00011 #include <iostream>
00012 using namespace std;
00013
00014
00016 StArchInfo::StArchInfo()
00017 {
00018
00019 fEndian = 0;
00020 }
00021
00023 StArchInfo::~StArchInfo()
00024 {
00025
00026 }
00027
00028
00030 Bool_t StArchInfo::isBigEndian()
00031 {
00032 return (Endian() == __BIG_ENDIAN);
00033 }
00034
00036 Bool_t StArchInfo::isLittleEndian()
00037 {
00038 return (Endian() == __LITTLE_ENDIAN);
00039 }
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057 Int_t StArchInfo::Endian()
00058 {
00059
00060 if ( fEndian == 0){
00061
00062
00063 unsigned char endian[2] = {1, 0};
00064 short x;
00065
00066 x = * ((short *) endian);
00067
00068 if ( x == 1) {
00069
00070 fEndian = __LITTLE_ENDIAN;
00071 } else {
00072
00073 fEndian = __BIG_ENDIAN;
00074
00075
00076
00077
00078
00079 }
00080
00081 }
00082 return fEndian;
00083 }