feldspar-language-0.7: A functional embedded language for DSP and parallelism

Safe HaskellNone

Feldspar.Core.Constructs.Bits

Description

Implementation of constructs and operations on Bits

Synopsis

Documentation

data BITS a whereSource

Bits constructs

Constructors

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) 

Instances

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