-/* File: z-util.c */
+/* File: z-util.c */
/*
* Copyright (c) 1997 Ben Harrison
*/
while (s64b_cmp(A1val, A2val, B1, B2) == 1)
{
- s64b_LSHIFT(B1, B2);
+ s64b_LSHIFT(B1, B2, 1);
bit++;
}
s64b_sub(&A1val, &A2val, B1, B2);
}
- s64b_RSHIFT(B1, B2);
+ s64b_RSHIFT(B1, B2, 1);
bit--;
}
s64b_sub(A1, A2, tmp1, tmp2);
}
+/*!
+* @brief 符号なし32ビット整数のビット数を返す。
+* @param x ビット数を調べたい変数
+* @return ビット数
+*/
+int count_bits(BIT_FLAGS x)
+{
+ int n = 0;
+
+ if (x) do
+ {
+ n++;
+ } while (0 != (x = x&(x - 1)));
+
+ return (n);
+}