-- | Haskell implementations of hydra/lib/equality primitives. These simply make use of derived Eq.

module Hydra.Lib.Equality where

import Hydra.Core

import Data.Int


equal :: Eq a => a -> a -> Bool
equal :: forall a. Eq a => a -> a -> Bool
equal = a -> a -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalBinary :: String -> String -> Bool
equalBinary :: String -> String -> Bool
equalBinary = String -> String -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalBoolean :: Bool -> Bool -> Bool
equalBoolean :: Bool -> Bool -> Bool
equalBoolean = Bool -> Bool -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalBigfloat :: Double -> Double -> Bool
equalBigfloat :: Double -> Double -> Bool
equalBigfloat = Double -> Double -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalFloat32 :: Float -> Float -> Bool
equalFloat32 :: Float -> Float -> Bool
equalFloat32 = Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalFloat64 :: Double -> Double -> Bool
equalFloat64 :: Double -> Double -> Bool
equalFloat64 = Double -> Double -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalBigint :: Integer -> Integer -> Bool
equalBigint :: Integer -> Integer -> Bool
equalBigint = Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalInt8 :: Int8 -> Int8 -> Bool
equalInt8 :: Int8 -> Int8 -> Bool
equalInt8 = Int8 -> Int8 -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalInt16 :: Int16 -> Int16 -> Bool
equalInt16 :: Int16 -> Int16 -> Bool
equalInt16 = Int16 -> Int16 -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalInt32 :: Int -> Int -> Bool
equalInt32 :: Int -> Int -> Bool
equalInt32 = Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalInt64 :: Int64 -> Int64 -> Bool
equalInt64 :: Int64 -> Int64 -> Bool
equalInt64 = Int64 -> Int64 -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalUint8 :: Int16 -> Int16 -> Bool
equalUint8 :: Int16 -> Int16 -> Bool
equalUint8 = Int16 -> Int16 -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalUint16 :: Int -> Int -> Bool
equalUint16 :: Int -> Int -> Bool
equalUint16 = Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalUint32 :: Int64 -> Int64 -> Bool
equalUint32 :: Int64 -> Int64 -> Bool
equalUint32 = Int64 -> Int64 -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalUint64 :: Integer -> Integer -> Bool
equalUint64 :: Integer -> Integer -> Bool
equalUint64 = Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalString :: String -> String -> Bool
equalString :: String -> String -> Bool
equalString = String -> String -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalTerm :: Term -> Term -> Bool
equalTerm :: Term -> Term -> Bool
equalTerm = Term -> Term -> Bool
forall a. Eq a => a -> a -> Bool
(==)

equalType :: Type -> Type -> Bool
equalType :: Type -> Type -> Bool
equalType = Type -> Type -> Bool
forall a. Eq a => a -> a -> Bool
(==)

gtInt32 :: Int -> Int -> Bool
gtInt32 :: Int -> Int -> Bool
gtInt32 = Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
(>)

gteInt32 :: Int -> Int -> Bool
gteInt32 :: Int -> Int -> Bool
gteInt32 = Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
(>=)

identity :: x -> x
identity :: forall x. x -> x
identity = x -> x
forall x. x -> x
id

ltInt32 :: Int -> Int -> Bool
ltInt32 :: Int -> Int -> Bool
ltInt32 = Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
(<)

lteInt32 :: Int -> Int -> Bool
lteInt32 :: Int -> Int -> Bool
lteInt32 = Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
(<=)