Safe Haskell | None |
---|
Implementation of constructs and operations on Bits
- data BITS a where
- BAnd :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (a :-> Full a))
- BOr :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (a :-> Full a))
- BXor :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (a :-> Full a))
- Complement :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full a)
- Bit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (Index :-> Full a)
- SetBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a))
- ClearBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a))
- ComplementBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a))
- TestBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full Bool))
- ShiftLU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a))
- ShiftRU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a))
- ShiftL :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a))
- ShiftR :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a))
- RotateLU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a))
- RotateRU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a))
- RotateL :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a))
- RotateR :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a))
- ReverseBits :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full a)
- BitScan :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full Index)
- BitCount :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full Index)
Documentation
Bits constructs
BAnd :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (a :-> Full a)) | |
BOr :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (a :-> Full a)) | |
BXor :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (a :-> Full a)) | |
Complement :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full a) | |
Bit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (Index :-> Full a) | |
SetBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a)) | |
ClearBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a)) | |
ComplementBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a)) | |
TestBit :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full Bool)) | |
ShiftLU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a)) | |
ShiftRU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a)) | |
ShiftL :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a)) | |
ShiftR :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a)) | |
RotateLU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a)) | |
RotateRU :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (Index :-> Full a)) | |
RotateL :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a)) | |
RotateR :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> (IntN :-> Full a)) | |
ReverseBits :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full a) | |
BitScan :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full Index) | |
BitCount :: (Type a, Bits a, BoundedInt a, Size a ~ Range a) => BITS (a :-> Full Index) |
Semantic BITS | |
StringTree BITS | |
Render BITS | |
Eval BITS | |
Equality BITS | |
EvalBind BITS | |
Monotonic BITS | |
Sharable BITS | |
AlphaEq dom dom dom env => AlphaEq BITS BITS dom env | |
SizeProp (:|| BITS Type) | |
(:<: (:|| BITS Type) dom, :<: (:|| Logic Type) dom, :<: (:|| EQ Type) dom, :<: (:|| ORD Type) dom, Monotonic dom, OptimizeSuper dom) => Optimize (:|| BITS Type) dom |