@@ -14,6 +14,12 @@
#include <bitset>
#include <iostream>
#include "intrin.hpp"
+#ifdef min
+#undef min
+#endif
+#ifdef max
+#undef max
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){
@@ -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){
- _BitScanReverse64(x, &index);
+ _BitScanReverse64((unsigned long*)&index, x);
bool _adc_u64(unsigned long long a,unsigned long long b,unsigned long long* c){