aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-09-20 21:09:38 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-09-20 21:09:38 +0800
commitb2924a90cf8257c314110919316e767d3c556a3f (patch)
tree3bf7475085c2e35960b1586e91e626b6b5be436d
parent59e7de0aa70eb605b3c64988ab5a13ecec1969d9 (diff)
downloaddatalab2026-b2924a90cf8257c314110919316e767d3c556a3f.tar.gz
datalab2026-b2924a90cf8257c314110919316e767d3c556a3f.tar.xz
samesign
-rw-r--r--bits.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bits.c b/bits.c
index 951cc91..7e0ed68 100644
--- a/bits.c
+++ b/bits.c
@@ -50,7 +50,11 @@ int bitXor(int x, int y) {
* 1 if x and y have the same sign , 0 otherwise.
*/
int samesign(int x, int y) {
- return 2;
+ if (!x)
+ return !y;
+ if (!y)
+ return 0;
+ return !((x ^ y) >> 31);
}
/*