module Hydra.Dsl.Lib.Equality where

import Hydra.Core
import Hydra.Phantoms
import Hydra.Sources.Libraries
import qualified Hydra.Dsl.Terms as Terms

import Data.Int


equal :: TTerm (a -> a -> Bool)
equal :: forall a. TTerm (a -> a -> Bool)
equal = Term -> TTerm (a -> a -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (a -> a -> Bool)) -> Term -> TTerm (a -> a -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equal

equalBinary :: TTerm (String -> String -> Bool)
equalBinary :: TTerm (String -> String -> Bool)
equalBinary = Term -> TTerm (String -> String -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (String -> String -> Bool))
-> Term -> TTerm (String -> String -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalBinary

equalBoolean :: TTerm (Bool -> Bool -> Bool)
equalBoolean :: TTerm (Bool -> Bool -> Bool)
equalBoolean = Term -> TTerm (Bool -> Bool -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Bool -> Bool -> Bool))
-> Term -> TTerm (Bool -> Bool -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalBoolean

equalBigfloat :: TTerm (Double -> Double -> Bool)
equalBigfloat :: TTerm (Double -> Double -> Bool)
equalBigfloat = Term -> TTerm (Double -> Double -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Double -> Double -> Bool))
-> Term -> TTerm (Double -> Double -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalBigfloat

equalFloat32 :: TTerm (Float -> Float -> Bool)
equalFloat32 :: TTerm (Float -> Float -> Bool)
equalFloat32 = Term -> TTerm (Float -> Float -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Float -> Float -> Bool))
-> Term -> TTerm (Float -> Float -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalFloat32

equalFloat64 :: TTerm (Double -> Double -> Bool)
equalFloat64 :: TTerm (Double -> Double -> Bool)
equalFloat64 = Term -> TTerm (Double -> Double -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Double -> Double -> Bool))
-> Term -> TTerm (Double -> Double -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalFloat64

equalBigint :: TTerm (Integer -> Integer -> Bool)
equalBigint :: TTerm (Integer -> Integer -> Bool)
equalBigint = Term -> TTerm (Integer -> Integer -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Integer -> Integer -> Bool))
-> Term -> TTerm (Integer -> Integer -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalBigint

equalInt8 :: TTerm (Int8 -> Int8 -> Bool)
equalInt8 :: TTerm (Int8 -> Int8 -> Bool)
equalInt8 = Term -> TTerm (Int8 -> Int8 -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int8 -> Int8 -> Bool))
-> Term -> TTerm (Int8 -> Int8 -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalInt8

equalInt16 :: TTerm (Int16 -> Int16 -> Bool)
equalInt16 :: TTerm (Int16 -> Int16 -> Bool)
equalInt16 = Term -> TTerm (Int16 -> Int16 -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int16 -> Int16 -> Bool))
-> Term -> TTerm (Int16 -> Int16 -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalInt16

equalInt32 :: TTerm (Int -> Int -> Bool)
equalInt32 :: TTerm (Int -> Int -> Bool)
equalInt32 = Term -> TTerm (Int -> Int -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int -> Int -> Bool))
-> Term -> TTerm (Int -> Int -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalInt32

equalInt64 :: TTerm (Int64 -> Int64 -> Bool)
equalInt64 :: TTerm (Int64 -> Int64 -> Bool)
equalInt64 = Term -> TTerm (Int64 -> Int64 -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int64 -> Int64 -> Bool))
-> Term -> TTerm (Int64 -> Int64 -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalInt64

equalString :: TTerm (String -> String -> Bool)
equalString :: TTerm (String -> String -> Bool)
equalString = Term -> TTerm (String -> String -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (String -> String -> Bool))
-> Term -> TTerm (String -> String -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalString

equalTerm :: TTerm (Term -> Term -> Bool)
equalTerm :: TTerm (Term -> Term -> Bool)
equalTerm = Term -> TTerm (Term -> Term -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Term -> Term -> Bool))
-> Term -> TTerm (Term -> Term -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalTerm

equalType :: TTerm (Type -> Type -> Bool)
equalType :: TTerm (Type -> Type -> Bool)
equalType = Term -> TTerm (Type -> Type -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Type -> Type -> Bool))
-> Term -> TTerm (Type -> Type -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalType

equalUint8 :: TTerm (Int16 -> Int16 -> Bool)
equalUint8 :: TTerm (Int16 -> Int16 -> Bool)
equalUint8 = Term -> TTerm (Int16 -> Int16 -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int16 -> Int16 -> Bool))
-> Term -> TTerm (Int16 -> Int16 -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalUint8

equalUint16 :: TTerm (Int -> Int -> Bool)
equalUint16 :: TTerm (Int -> Int -> Bool)
equalUint16 = Term -> TTerm (Int -> Int -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int -> Int -> Bool))
-> Term -> TTerm (Int -> Int -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalUint16

equalUint32 :: TTerm (Int64 -> Int64 -> Bool)
equalUint32 :: TTerm (Int64 -> Int64 -> Bool)
equalUint32 = Term -> TTerm (Int64 -> Int64 -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int64 -> Int64 -> Bool))
-> Term -> TTerm (Int64 -> Int64 -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalUint32

equalUint64 :: TTerm (Integer -> Integer -> Bool)
equalUint64 :: TTerm (Integer -> Integer -> Bool)
equalUint64 = Term -> TTerm (Integer -> Integer -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Integer -> Integer -> Bool))
-> Term -> TTerm (Integer -> Integer -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_equalUint64

identity :: TTerm (x -> x)
identity :: forall x. TTerm (x -> x)
identity = Term -> TTerm (x -> x)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (x -> x)) -> Term -> TTerm (x -> x)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_identity

gtInt32 :: TTerm (Int -> Int -> Bool)
gtInt32 :: TTerm (Int -> Int -> Bool)
gtInt32 = Term -> TTerm (Int -> Int -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int -> Int -> Bool))
-> Term -> TTerm (Int -> Int -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_gtInt32

gteInt32 :: TTerm (Int -> Int -> Bool)
gteInt32 :: TTerm (Int -> Int -> Bool)
gteInt32 = Term -> TTerm (Int -> Int -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int -> Int -> Bool))
-> Term -> TTerm (Int -> Int -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_gteInt32

ltInt32 :: TTerm (Int -> Int -> Bool)
ltInt32 :: TTerm (Int -> Int -> Bool)
ltInt32 = Term -> TTerm (Int -> Int -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int -> Int -> Bool))
-> Term -> TTerm (Int -> Int -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_ltInt32

lteInt32 :: TTerm (Int -> Int -> Bool)
lteInt32 :: TTerm (Int -> Int -> Bool)
lteInt32 = Term -> TTerm (Int -> Int -> Bool)
forall a. Term -> TTerm a
TTerm (Term -> TTerm (Int -> Int -> Bool))
-> Term -> TTerm (Int -> Int -> Bool)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_equality_lteInt32