mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 20:17:54 +08:00
32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
|
From 004f415c5d04dd1f616a953eb8ad078a20b72c58 Mon Sep 17 00:00:00 2001
|
||
|
From: "Steven G. Johnson" <stevenj@mit.edu>
|
||
|
Date: Sat, 9 May 2020 13:56:40 -0400
|
||
|
Subject: [PATCH] suppress MS compiler complaint about negating unsigned
|
||
|
(closes #330)
|
||
|
|
||
|
---
|
||
|
src/util/sobolseq.c | 7 ++++++-
|
||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/src/util/sobolseq.c b/src/util/sobolseq.c
|
||
|
index 6626f51..848ff68 100644
|
||
|
--- a/src/util/sobolseq.c
|
||
|
+++ b/src/util/sobolseq.c
|
||
|
@@ -93,7 +93,12 @@ static unsigned rightzero32(uint32_t n)
|
||
|
const uint32_t a = 0x05f66a47; /* magic number, found by brute force */
|
||
|
static const unsigned decode[32] = { 0, 1, 2, 26, 23, 3, 15, 27, 24, 21, 19, 4, 12, 16, 28, 6, 31, 25, 22, 14, 20, 18, 11, 5, 30, 13, 17, 10, 29, 9, 8, 7 };
|
||
|
n = ~n; /* change to rightmost-one problem */
|
||
|
- n = a * (n & (-n)); /* store in n to make sure mult. is 32 bits */
|
||
|
+#ifdef _MSC_VER
|
||
|
+#pragma warning(suppress:4146)
|
||
|
+ n = a * (n & (-n)); /* same as below, but suppress spurious warning/error with MS compiler about negating unsigned int */
|
||
|
+#else
|
||
|
+ n = a * (n & (-n)); /* store in n to make sure mult. is 32 bits */
|
||
|
+#endif
|
||
|
return decode[n >> 27];
|
||
|
#endif
|
||
|
}
|
||
|
--
|
||
|
2.26.2.windows.1
|
||
|
|