Edit v0.0.4

This commit is contained in:
Anatoly Prohacky 2023-03-05 18:40:21 +10:00
parent 45786d84a2
commit a39010bcfc

View File

@ -11,9 +11,9 @@ type AclBit int64
// New AclBit // New AclBit
func New(n ...NumBit) AclBit { func New(n ...NumBit) AclBit {
var i64 AclBit var i64 AclBit
for _, n0 := range n {
i64.SetTrue(n0) i64.SetTrue(n...)
}
return i64 return i64
} }
@ -28,27 +28,33 @@ func Unite(a ...AclBit) AclBit {
} }
// set acl bit in true // set acl bit in true
func (a *AclBit) SetTrue(n NumBit) { func (a *AclBit) SetTrue(n ...NumBit) {
if veryNumBit(n) { for _, n0 := range n {
*a = *a | (1 << n) if veryNumBit(n0) {
*a = *a | (1 << n0)
}
} }
} }
// set acl bit in false // set acl bit in false
func (a *AclBit) SetFalse(n NumBit) { func (a *AclBit) SetFalse(n ...NumBit) {
if veryNumBit(n) { for _, n0 := range n {
*a = *a &^ (1 << n) if veryNumBit(n0) {
*a = *a &^ (1 << n0)
}
} }
} }
// verify bit return true or false // verify bit return true or false
func (a AclBit) Verify(n NumBit) bool { func (a AclBit) Verify(n ...NumBit) bool {
if veryNumBit(n) { for _, n0 := range n {
var msk AclBit = 1 << n if veryNumBit(n0) {
var msk AclBit = 1 << n0
if (a & msk) == msk { if (a & msk) == msk {
return true return true
} }
} }
}
return false return false
} }