symbolic-base-0.1.0.0: ZkFold Symbolic compiler and zero-knowledge proof protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

ZkFold.Symbolic.Data.Ord

Documentation

class Monoid ordering => IsOrdering ordering where Source #

Methods

lt :: ordering Source #

eq :: ordering Source #

gt :: ordering Source #

Instances

Instances details
IsOrdering Ordering Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Symbolic c => IsOrdering (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

data Ordering c Source #

Instances

Instances details
Symbolic c => Monoid (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Methods

mempty :: Ordering c #

mappend :: Ordering c -> Ordering c -> Ordering c #

mconcat :: [Ordering c] -> Ordering c #

Symbolic c => Semigroup (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Methods

(<>) :: Ordering c -> Ordering c -> Ordering c #

sconcat :: NonEmpty (Ordering c) -> Ordering c #

stimes :: Integral b => b -> Ordering c -> Ordering c #

Generic (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type Rep (Ordering c) :: Type -> Type #

Methods

from :: Ordering c -> Rep (Ordering c) x #

to :: Rep (Ordering c) x -> Ordering c #

Show (c Par1) => Show (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Methods

showsPrec :: Int -> Ordering c -> ShowS #

show :: Ordering c -> String #

showList :: [Ordering c] -> ShowS #

NFData (c Par1) => NFData (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Methods

rnf :: Ordering c -> () #

Symbolic c => SymbolicData (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type Context (Ordering c) :: (Type -> Type) -> Type Source #

type Support (Ordering c) Source #

type Layout (Ordering c) :: Type -> Type Source #

type Payload (Ordering c) :: Type -> Type Source #

Symbolic c => Eq (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type BooleanOf (Ordering c) Source #

Symbolic c => IsOrdering (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Symbolic c => Ord (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf (Ordering c) Source #

Symbolic c => Conditional (Bool c) (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Methods

bool :: Ordering c -> Ordering c -> Bool c -> Ordering c Source #

type Rep (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

type Rep (Ordering c) = D1 ('MetaData "Ordering" "ZkFold.Symbolic.Data.Ord" "symbolic-base-0.1.0.0-inplace" 'True) (C1 ('MetaCons "Ordering" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (c Par1))))
type Context (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

type Layout (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

type Payload (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

type Support (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

type BooleanOf (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

type OrderingOf (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

class (Eq a, IsOrdering (OrderingOf a)) => Ord a where Source #

Minimal complete definition

Nothing

Associated Types

type OrderingOf a Source #

Methods

ordering :: a -> a -> a -> OrderingOf a -> a Source #

default ordering :: (Generic a, GOrd (Rep a), OrderingOf a ~ GOrderingOf (Rep a)) => a -> a -> a -> OrderingOf a -> a Source #

compare :: a -> a -> OrderingOf a Source #

default compare :: (Generic a, GOrd (Rep a), OrderingOf a ~ GOrderingOf (Rep a)) => a -> a -> OrderingOf a Source #

(<) :: a -> a -> BooleanOf a infix 4 Source #

default (<) :: (Ord (BooleanOf a), OrderingOf (BooleanOf a) ~ OrderingOf a) => a -> a -> BooleanOf a Source #

(<=) :: a -> a -> BooleanOf a infix 4 Source #

default (<=) :: (Ord (BooleanOf a), OrderingOf (BooleanOf a) ~ OrderingOf a) => a -> a -> BooleanOf a Source #

(>) :: a -> a -> BooleanOf a infix 4 Source #

default (>) :: (Ord (BooleanOf a), OrderingOf (BooleanOf a) ~ OrderingOf a) => a -> a -> BooleanOf a Source #

(>=) :: a -> a -> BooleanOf a infix 4 Source #

default (>=) :: (Ord (BooleanOf a), OrderingOf (BooleanOf a) ~ OrderingOf a) => a -> a -> BooleanOf a Source #

max :: a -> a -> a Source #

min :: a -> a -> a Source #

Instances

Instances details
Ord String Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf String Source #

Ord Natural Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf Natural Source #

Ord Bool Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf Bool Source #

KnownNat n => Ord (Zp n) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf (Zp n) Source #

Methods

ordering :: Zp n -> Zp n -> Zp n -> OrderingOf (Zp n) -> Zp n Source #

compare :: Zp n -> Zp n -> OrderingOf (Zp n) Source #

(<) :: Zp n -> Zp n -> BooleanOf (Zp n) Source #

(<=) :: Zp n -> Zp n -> BooleanOf (Zp n) Source #

(>) :: Zp n -> Zp n -> BooleanOf (Zp n) Source #

(>=) :: Zp n -> Zp n -> BooleanOf (Zp n) Source #

max :: Zp n -> Zp n -> Zp n Source #

min :: Zp n -> Zp n -> Zp n Source #

Symbolic c => Ord (Bool c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf (Bool c) Source #

Methods

ordering :: Bool c -> Bool c -> Bool c -> OrderingOf (Bool c) -> Bool c Source #

compare :: Bool c -> Bool c -> OrderingOf (Bool c) Source #

(<) :: Bool c -> Bool c -> BooleanOf (Bool c) Source #

(<=) :: Bool c -> Bool c -> BooleanOf (Bool c) Source #

(>) :: Bool c -> Bool c -> BooleanOf (Bool c) Source #

(>=) :: Bool c -> Bool c -> BooleanOf (Bool c) Source #

max :: Bool c -> Bool c -> Bool c Source #

min :: Bool c -> Bool c -> Bool c Source #

Symbolic c => Ord (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Associated Types

type OrderingOf (FieldElement c) Source #

Symbolic c => Ord (Ordering c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf (Ordering c) Source #

(Symbolic c, LayoutFunctor f) => Ord (c f) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type OrderingOf (c f) Source #

Methods

ordering :: c f -> c f -> c f -> OrderingOf (c f) -> c f Source #

compare :: c f -> c f -> OrderingOf (c f) Source #

(<) :: c f -> c f -> BooleanOf (c f) Source #

(<=) :: c f -> c f -> BooleanOf (c f) Source #

(>) :: c f -> c f -> BooleanOf (c f) Source #

(>=) :: c f -> c f -> BooleanOf (c f) Source #

max :: c f -> c f -> c f Source #

min :: c f -> c f -> c f Source #

(Symbolic c, KnownNat n, KnownRegisterSize r, KnownRegisters c n r, regSize ~ GetRegisterSize (BaseField c) n r, KnownNat (Ceil regSize OrdWord)) => Ord (UInt n r c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.UInt

Associated Types

type OrderingOf (UInt n r c) Source #

Methods

ordering :: UInt n r c -> UInt n r c -> UInt n r c -> OrderingOf (UInt n r c) -> UInt n r c Source #

compare :: UInt n r c -> UInt n r c -> OrderingOf (UInt n r c) Source #

(<) :: UInt n r c -> UInt n r c -> BooleanOf (UInt n r c) Source #

(<=) :: UInt n r c -> UInt n r c -> BooleanOf (UInt n r c) Source #

(>) :: UInt n r c -> UInt n r c -> BooleanOf (UInt n r c) Source #

(>=) :: UInt n r c -> UInt n r c -> BooleanOf (UInt n r c) Source #

max :: UInt n r c -> UInt n r c -> UInt n r c Source #

min :: UInt n r c -> UInt n r c -> UInt n r c Source #

class (GEq u, IsOrdering (GOrderingOf u)) => GOrd u where Source #

Associated Types

type GOrderingOf u Source #

Methods

gordering :: u x -> u x -> u x -> GOrderingOf u -> u x Source #

gcompare :: u x -> u x -> GOrderingOf u Source #

Instances

Instances details
Ord x => GOrd (Rec0 x :: k -> Type) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type GOrderingOf (Rec0 x) Source #

Methods

gordering :: forall (x0 :: k0). Rec0 x x0 -> Rec0 x x0 -> Rec0 x x0 -> GOrderingOf (Rec0 x) -> Rec0 x x0 Source #

gcompare :: forall (x0 :: k0). Rec0 x x0 -> Rec0 x x0 -> GOrderingOf (Rec0 x) Source #

(GOrd u, GOrd v, GBooleanOf u ~ GBooleanOf v, GOrderingOf u ~ GOrderingOf v) => GOrd (u :*: v :: k -> Type) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type GOrderingOf (u :*: v) Source #

Methods

gordering :: forall (x :: k0). (u :*: v) x -> (u :*: v) x -> (u :*: v) x -> GOrderingOf (u :*: v) -> (u :*: v) x Source #

gcompare :: forall (x :: k0). (u :*: v) x -> (u :*: v) x -> GOrderingOf (u :*: v) Source #

GOrd v => GOrd (M1 i c v :: k -> Type) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ord

Associated Types

type GOrderingOf (M1 i c v) Source #

Methods

gordering :: forall (x :: k0). M1 i c v x -> M1 i c v x -> M1 i c v x -> GOrderingOf (M1 i c v) -> M1 i c v x Source #

gcompare :: forall (x :: k0). M1 i c v x -> M1 i c v x -> GOrderingOf (M1 i c v) Source #