summaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/7zip/win/C/RotateDefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/7zip/win/C/RotateDefs.h')
-rw-r--r--src/libs/3rdparty/7zip/win/C/RotateDefs.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/libs/3rdparty/7zip/win/C/RotateDefs.h b/src/libs/3rdparty/7zip/win/C/RotateDefs.h
new file mode 100644
index 000000000..1b83e5ea1
--- /dev/null
+++ b/src/libs/3rdparty/7zip/win/C/RotateDefs.h
@@ -0,0 +1,26 @@
+/* RotateDefs.h -- Rotate functions
+2013-11-12 : Igor Pavlov : Public domain */
+
+#ifndef __ROTATE_DEFS_H
+#define __ROTATE_DEFS_H
+
+#ifdef _MSC_VER
+
+#include <stdlib.h>
+
+// #if (_MSC_VER >= 1200)
+#pragma intrinsic(_rotl)
+#pragma intrinsic(_rotr)
+// #endif
+
+#define rotlFixed(x, n) _rotl((x), (n))
+#define rotrFixed(x, n) _rotr((x), (n))
+
+#else
+
+#define rotlFixed(x, n) (((x) << (n)) | ((x) >> (32 - (n))))
+#define rotrFixed(x, n) (((x) >> (n)) | ((x) << (32 - (n))))
+
+#endif
+
+#endif