\r
BYTE* op = (BYTE*) dest;\r
\r
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\r
const size_t DeBruijnBytePos[32] = { 0, 0, 3, 0, 3, 1, 3, 0, 3, 2, 2, 1, 3, 2, 0, 1, 3, 3, 1, 2, 2, 2, 2, 0, 3, 1, 2, 0, 1, 0, 1, 1 };\r
+#endif\r
int len, length;\r
const int skipStrength = SKIPSTRENGTH;\r
U32 forwardH;\r
\r
_next_match:\r
// Encode Offset\r
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\r
A16(op) = (ip-ref); op+=2;\r
+#else\r
+ { int delta = ip-ref; *op++ = delta; *op++ = delta>>8; }\r
+#endif\r
\r
// Start Counting\r
ip+=MINMATCH; ref+=MINMATCH; // MinMatch verified\r
\r
BYTE* op = (BYTE*) dest;\r
\r
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\r
const size_t DeBruijnBytePos[32] = { 0, 0, 3, 0, 3, 1, 3, 0, 3, 2, 2, 1, 3, 2, 0, 1, 3, 3, 1, 2, 2, 2, 2, 0, 3, 1, 2, 0, 1, 0, 1, 1 };\r
+#endif\r
int len, length;\r
const int skipStrength = SKIPSTRENGTH;\r
U32 forwardH;\r
\r
_next_match:\r
// Encode Offset\r
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\r
A16(op) = (ip-ref); op+=2;\r
+#else\r
+ { int delta = ip-ref; *op++ = delta; *op++ = delta>>8; }\r
+#endif\r
\r
// Start Counting\r
ip+=MINMATCH; ref+=MINMATCH; // MinMatch verified\r
\r
\r
// get offset\r
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\r
ref = cpy - A16(ip); ip+=2;\r
+#else\r
+ { int delta = *ip++; delta += *ip++ << 8; ref = cpy - delta; }\r
+#endif\r
\r
// get matchlength\r
if ((length=(token&ML_MASK)) == ML_MASK) { for (;*ip==255;length+=255) {ip++;} length += *ip++; } \r
LZ4_WILDCOPY(ip, op, cpy); ip -= (op-cpy); op = cpy;\r
if (ip>=iend) break; // check EOF\r
\r
-\r
// get offset\r
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\r
ref = cpy - A16(ip); ip+=2;\r
+#else\r
+ { int delta = *ip++; delta += *ip++ << 8; ref = cpy - delta; }\r
+#endif\r
\r
// get matchlength\r
if ((length=(token&ML_MASK)) == ML_MASK) { for (;(len=*ip++)==255;length+=255){} length += len; }\r