浏览代码

Full MSVC Support

manuel5975p 6 年之前
父节点
当前提交
fac185b860
共有 4 个文件被更改,包括 8 次插入2 次删除
  1. 6 0
      crypt/BigInt64.hpp
  2. 2 2
      crypt/intrin.hpp
  3. 二进制
      test.obj
  4. 二进制
      uint128_t.obj

+ 6 - 0
crypt/BigInt64.hpp

@@ -14,6 +14,12 @@
 #include <bitset>
 #include <iostream>
 #include "intrin.hpp"
+#ifdef min
+#undef min
+#endif
+#ifdef max
+#undef max
+#endif
 const static std::vector<char> chars = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
 template<typename T>
 inline int signum(T t){

+ 2 - 2
crypt/intrin.hpp

@@ -43,12 +43,12 @@ inline unsigned long long _mulx_u64(unsigned long long a, unsigned long long b,
 #include <intrin.h>
 inline int _leading_zeros(unsigned long long x){
 	int index = 0;
-	_BitScanForward64(x, &index);
+	_BitScanForward64((unsigned long*)&index, x);
 	return index;
 }
 inline int _trailing_zeros(unsigned long long x){
 	int index = 0;
-	_BitScanReverse64(x, &index);
+	_BitScanReverse64((unsigned long*)&index, x);
 	return index;
 }
 bool _adc_u64(unsigned long long a,unsigned long long b,unsigned long long* c){

二进制
test.obj


二进制
uint128_t.obj