cognimeta-utils-0.1.2: Utilities for Cognimeta products (such as perdure). API may change often.

Safe HaskellNone

Cgm.Data.WordN

Documentation

data RWord w n Source

Instances

Typeable2 RWord 
RWordC w n => Bounded (RWord w n) 
RWordC w n => Enum (RWord w n) 
RWordC w n => Eq (RWord w n) 
(Real (RWord w n), Enum (RWord w n), RWordC w n) => Integral (RWord w n) 
RWordC w n => Num (RWord w n) 
(Eq (RWord w n), RWordC w n) => Ord (RWord w n) 
(Num (RWord w n), Ord (RWord w n), RWordC w n) => Real (RWord w n) 
(Show w, RWordC w n) => Show (RWord w n) 
(Arbitrary w, RWordC w n) => Arbitrary (RWord w n) 
(Eq (RWord w n), RWordC w n) => Bits (RWord w n) 
(Bits (RWord w n), Integral (RWord w n), Nat (WordNBits (RWord w n)), RWordC w n) => WordN (RWord w n) 
(RWordC w n, RWordC w' n) => Super (RWord w n) w' 

toRWord :: WordN w => w -> RWord w (WordNBits w)Source

class (Bits w, Integral w, Nat (WordNBits w)) => WordN w Source

Associated Types

type WordNBits w :: *Source

Instances

wordNBits :: forall w. WordN w => w -> IntSource

class (WordN w, Nat n, Nat (WordNBits w :-: n)) => RWordC w n Source

Instances

(WordN w, Nat n, Nat (:-: (WordNBits w) n)) => RWordC w n 

rChangeWord :: forall w w' n. (RWordC w n, RWordC w' n) => Bijection' (RWord w n) (RWord w' n)Source

rChangeWord' :: forall w w' n. (RWordC w n, WordN w', Nat (WordNBits w' :-: WordNBits w)) => Bijection' (RWord w n) (RWord w' n)Source

rAdd :: Num w => RWord w n -> RWord w n -> RWord w (Succ n)Source

rWordJoin :: forall n m w. (Nat n, Nat m, Bits w) => RWord w n -> RWord w m -> Tagged n (RWord w (m :+: n))Source

rWordSplit :: forall w n m. (RWordC w (n :+: m), RWordC w n, RWordC w m) => RWord w (n :+: m) -> Tagged m (RWord w m, RWord w n)Source