is this even right?
This commit is contained in:
parent
a31d50359a
commit
4eb554aa38
1
dh/.gitignore
vendored
Normal file
1
dh/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
moduli.c
|
@ -30,11 +30,3 @@ const (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
)
|
)
|
||||||
|
|
||||||
// Bit* functions operate on 32-bit words
|
|
||||||
func BitClear(a []uint32, n uint32) (i uint32) {
|
|
||||||
|
|
||||||
i = a[n >> ShiftWord] &= ~(uint32(1) << (n & 31))
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
52
dh/func_utils.go
Normal file
52
dh/func_utils.go
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
package dh
|
||||||
|
|
||||||
|
func bitShiftWord(a []uint32, n uint32) (i uint32) {
|
||||||
|
|
||||||
|
i = a[n>>ShiftWord]
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bit* functions operate on 32-bit words
|
||||||
|
func BitClear(a []uint32, n uint32) (i uint32) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
#define BIT_CLEAR(a,n) ((a)[(n)>>SHIFT_WORD] &= ~(1L << ((n) & 31)))
|
||||||
|
*/
|
||||||
|
|
||||||
|
var x uint32 = bitShiftWord(a, n)
|
||||||
|
var y uint32 = uint32(1) << (n & 31)
|
||||||
|
var z uint32 = ^y
|
||||||
|
|
||||||
|
i = x & z
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func BitSet(a []uint32, n uint32) (i uint32) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
#define BIT_SET(a,n) ((a)[(n)>>SHIFT_WORD] |= (1L << ((n) & 31)))
|
||||||
|
*/
|
||||||
|
|
||||||
|
var x uint32 = bitShiftWord(a, n)
|
||||||
|
var y uint32 = uint32(1) << (n & 31)
|
||||||
|
|
||||||
|
i = x | y
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func BitTest(a []uint32, n uint32) (i uint32) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
#define BIT_TEST(a,n) ((a)[(n)>>SHIFT_WORD] & (1L << ((n) & 31)))
|
||||||
|
*/
|
||||||
|
|
||||||
|
var x uint32 = bitShiftWord(a, n)
|
||||||
|
var y uint32 = uint32(1) << (n & 31)
|
||||||
|
|
||||||
|
i = x & y
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user