cryptol-2.5.0: Cryptol: The Language of Cryptography

Copyright(c) 2013-2016 Galois Inc.
LicenseBSD3
Maintainercryptol@galois.com
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Cryptol.Symbolic.Prims

Contents

Description

 

Synopsis

Documentation

traverseSnd :: Functor f => (a -> f b) -> (t, a) -> f (t, b) Source #

shifter :: Monad m => (SBool -> a -> a -> a) -> (a -> Integer -> m a) -> a -> [SBool] -> m a Source #

Barrel-shifter algorithm. Takes a list of bits in big-endian order.

selectV :: forall a. (SBool -> Eval a -> Eval a -> Eval a) -> WordValue SBool SWord -> (Integer -> Eval a) -> Eval a Source #

sLg2 :: Integer -> SWord -> Eval SWord Source #

Ceiling (log_2 x)

cmpValue :: (SBool -> SBool -> Eval a -> Eval a) -> (SWord -> SWord -> Eval a -> Eval a) -> Value -> Value -> Eval a -> Eval a Source #

addPoly :: [SBool] -> [SBool] -> [SBool] Source #

Add two polynomials

ites :: SBool -> [SBool] -> [SBool] -> [SBool] Source #

mdp :: [SBool] -> [SBool] -> ([SBool], [SBool]) Source #

nth :: [SBool] -> Int -> SBool Source #

divx :: Int -> Int -> [SBool] -> [SBool] -> ([SBool], [SBool]) Source #

Orphan instances