a8 <- arbitrary :: Gen Bit
return (Octet a1 a2 a3 a4 a5 a6 a7 a8)
- coarbitrary _ = variant 0
-
instance Maskable Octet where
apply_mask _ Maskbits.None _ = Octet.None
| mask == Three = oct { b8 = bit, b7 = bit, b6 = bit, b5 = bit, b4 = bit }
| mask == Two = oct { b8 = bit, b7 = bit, b6 = bit, b5 = bit, b4 = bit, b3 = bit }
| mask == Maskbits.One = oct { b8 = bit, b7 = bit, b6 = bit, b5 = bit, b4 = bit, b3 = bit, b2 = bit }
- | mask == Maskbits.Zero = min_octet
+ | mask == Maskbits.Zero = oct { b8 = bit, b7 = bit, b6 = bit, b5 = bit, b4 = bit, b3 = bit, b2 = bit, b1 = bit }
| otherwise = Octet.None