ソースを参照

update sinfl_bsr

Rico P 6 ヶ月 前
コミット
e7872a700d
1 ファイル変更4 行追加3 行削除
  1. 4 3
      src/external/sinfl.h

+ 4 - 3
src/external/sinfl.h

@@ -171,9 +171,10 @@ extern int zsinflate(void *out, int cap, const void *in, int size);
 
 static int
 sinfl_bsr(unsigned n) {
-#if defined(_MSC_VER) && !defined(__clang__)
-  _BitScanReverse(&n, n);
-  return n;
+#ifdef _MSC_VER
+  unsigned long r = 0;
+  _BitScanReverse(&r, n);
+  return int(r);
 #else // defined(__GNUC__) || defined(__clang__) || defined(__TINYC__)
   return 31 - __builtin_clz(n);
 #endif