Blob Blame History Raw
diff -r f7be487d31b2 src/backend/APT/APTFileIO.cpp
--- src/backend/APT/APTFileIO.cpp	Sun Aug 27 05:07:02 2017 +0100
+++ src/backend/APT/APTFileIO.cpp	Sun Aug 27 05:08:00 2017 +0100
@@ -22,6 +22,7 @@
 #include "../../common/stringFuncs.h"
 #include "../../common/basics.h"
 #include "../../common/translation.h"
+#include "../../common/endianTest.h"
 
 
 #include <cstring>
@@ -1230,9 +1231,9 @@
 			pt.switchEndian();
 			h.setPos(pt);
 
-			uint16_t s;
-			s =*( (uint16_t*)(buffer+12) );
-			shortSwapBytes(s);
+			uint16_t *s;
+			s =( (uint16_t*)(buffer+12) );
+			uint16_tSwapBytes(s);
 
 			
 
diff -r f7be487d31b2 src/backend/APT/ionhit.cpp
--- src/backend/APT/ionhit.cpp	Sun Aug 27 05:07:02 2017 +0100
+++ src/backend/APT/ionhit.cpp	Sun Aug 27 05:08:00 2017 +0100
@@ -75,14 +75,12 @@
 	pos=p;
 }
 
-#ifdef __LITTLE_ENDIAN__
 void IonHit::switchEndian()
 {
 	
 	pos.switchEndian();
 	floatSwapBytes(&(massToCharge));
 }
-#endif
 
 const IonHit &IonHit::operator=(const IonHit &obj)
 {
diff -r f7be487d31b2 src/backend/APT/ionhit.h
--- src/backend/APT/ionhit.h	Sun Aug 27 05:07:02 2017 +0100
+++ src/backend/APT/ionhit.h	Sun Aug 27 05:08:00 2017 +0100
@@ -64,9 +64,8 @@
 		//returns true if any of the 4 data pts are +-inf
 		bool hasInf();
 
-#ifdef __LITTLE_ENDIAN__		
+		//!Flip the endian of the point contained in this class
 		void switchEndian();
-#endif
 		//this does the endian switch for you
 		//but you must supply a valid array.
 		void makePosData(float *floatArr) const;
diff -r f7be487d31b2 src/common/endianTest.h
--- src/common/endianTest.h	Sun Aug 27 05:07:02 2017 +0100
+++ src/common/endianTest.h	Sun Aug 27 05:08:00 2017 +0100
@@ -25,10 +25,12 @@
 #include <endian.h>
 #endif
 #endif
+#include <stdint.h>
 
 #ifdef __BYTE_ORDER
 //if both are not defined it is TRUE!
-#if __BYTE_ORDER == __BIG_ENDIAN
+// on F28 ppc64, is defined as __ORDER_BIG_ENDIAN
+#if (__BYTE_ORDER == __BIG_ENDIAN) || (__BYTE_ORDER == __ORDER_BIG_ENDIAN)
 #ifndef __BIG_ENDIAN__
 #define __BIG_ENDIAN__
 #endif
@@ -69,14 +71,14 @@
 
 	*inFloat=fb.f;
 }
-inline void shortSwapBytes(short *inShort)
+inline void uint16_tSwapBytes(uint16_t *inShort)
 {
 	//Use a union to avoid strict-aliasing error
-	union ShortSwapUnion{
-	   short s;
+	union Uint16SwapUnion{
+	   uint16_t s;
 	   char c[2];
 	} ;
-	ShortSwapUnion sa,sb;
+	Uint16SwapUnion sa,sb;
 	sa.s = *inShort;
 
 	sb.c[0] = sa.c[1];
diff -r f7be487d31b2 src/common/mathfuncs.cpp
--- src/common/mathfuncs.cpp	Sun Aug 27 05:07:02 2017 +0100
+++ src/common/mathfuncs.cpp	Sun Aug 27 05:08:00 2017 +0100
@@ -455,7 +455,6 @@
 	return true;
 }
 
-#ifdef __LITTLE_ENDIAN__
 
 void Point3D::switchEndian()
 {
@@ -463,7 +462,6 @@
 	floatSwapBytes(&value[1]);
 	floatSwapBytes(&value[2]);
 }
-#endif
 
 std::ostream& operator<<(std::ostream &stream, const Point3D &pt)
 {
diff -r f7be487d31b2 src/common/mathfuncs.h
--- src/common/mathfuncs.h	Sun Aug 27 05:07:02 2017 +0100
+++ src/common/mathfuncs.h	Sun Aug 27 05:08:00 2017 +0100
@@ -174,10 +174,9 @@
 		static Point3D centroid(const Point3D *p, unsigned int n);
 		
 		static Point3D centroid(const std::vector<Point3D> &p); 
-#ifdef __LITTLE_ENDIAN__
-                //!Flip the endian state for data stored in this point
+
+		//!Flip the endian state for data stored in this point
                 void switchEndian();
-#endif
 };
 
 //IMPORTANT!!!