module Data.Tensort.Utils.ComparisonFunctions ( lessThanBit, lessThanRecord, lessThanOrEqualBit, lessThanOrEqualRecord, greaterThanBit, greaterThanRecord, greaterThanOrEqualBit, greaterThanOrEqualRecord, equalBit, equalRecord, ) where import Data.Tensort.Utils.Types (Bit, Record) lessThanBit :: Bit -> Bit -> Bool lessThanBit :: TopBit -> TopBit -> Bool lessThanBit TopBit x TopBit y = TopBit x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool < TopBit y lessThanRecord :: Record -> Record -> Bool lessThanRecord :: Record -> Record -> Bool lessThanRecord Record x Record y = Record -> TopBit forall a b. (a, b) -> b snd Record x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool < Record -> TopBit forall a b. (a, b) -> b snd Record y lessThanOrEqualBit :: Bit -> Bit -> Bool lessThanOrEqualBit :: TopBit -> TopBit -> Bool lessThanOrEqualBit TopBit x TopBit y = TopBit x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool <= TopBit y lessThanOrEqualRecord :: Record -> Record -> Bool lessThanOrEqualRecord :: Record -> Record -> Bool lessThanOrEqualRecord Record x Record y = Record -> TopBit forall a b. (a, b) -> b snd Record x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool <= Record -> TopBit forall a b. (a, b) -> b snd Record y greaterThanBit :: Bit -> Bit -> Bool greaterThanBit :: TopBit -> TopBit -> Bool greaterThanBit TopBit x TopBit y = TopBit x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool > TopBit y greaterThanRecord :: Record -> Record -> Bool greaterThanRecord :: Record -> Record -> Bool greaterThanRecord Record x Record y = Record -> TopBit forall a b. (a, b) -> b snd Record x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool > Record -> TopBit forall a b. (a, b) -> b snd Record y greaterThanOrEqualBit :: Bit -> Bit -> Bool greaterThanOrEqualBit :: TopBit -> TopBit -> Bool greaterThanOrEqualBit TopBit x TopBit y = TopBit x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool >= TopBit y greaterThanOrEqualRecord :: Record -> Record -> Bool greaterThanOrEqualRecord :: Record -> Record -> Bool greaterThanOrEqualRecord Record x Record y = Record -> TopBit forall a b. (a, b) -> b snd Record x TopBit -> TopBit -> Bool forall a. Ord a => a -> a -> Bool >= Record -> TopBit forall a b. (a, b) -> b snd Record y equalBit :: Bit -> Bit -> Bool equalBit :: TopBit -> TopBit -> Bool equalBit TopBit x TopBit y = TopBit x TopBit -> TopBit -> Bool forall a. Eq a => a -> a -> Bool == TopBit y equalRecord :: Record -> Record -> Bool equalRecord :: Record -> Record -> Bool equalRecord Record x Record y = Record -> TopBit forall a b. (a, b) -> b snd Record x TopBit -> TopBit -> Bool forall a. Eq a => a -> a -> Bool == Record -> TopBit forall a b. (a, b) -> b snd Record y