-- ~\~ language=Haskell filename=src/Test/LessArbitrary/Cost.hs
-- ~\~ begin <<less-arbitrary.md|src/Test/LessArbitrary/Cost.hs>>[0]
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Test.LessArbitrary.Cost where

-- ~\~ begin <<less-arbitrary.md|cost>>[0]
newtype Cost = Cost Int
  deriving (Cost -> Cost -> Bool
(Cost -> Cost -> Bool) -> (Cost -> Cost -> Bool) -> Eq Cost
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Cost -> Cost -> Bool
$c/= :: Cost -> Cost -> Bool
== :: Cost -> Cost -> Bool
$c== :: Cost -> Cost -> Bool
Eq,Eq Cost
Eq Cost
-> (Cost -> Cost -> Ordering)
-> (Cost -> Cost -> Bool)
-> (Cost -> Cost -> Bool)
-> (Cost -> Cost -> Bool)
-> (Cost -> Cost -> Bool)
-> (Cost -> Cost -> Cost)
-> (Cost -> Cost -> Cost)
-> Ord Cost
Cost -> Cost -> Bool
Cost -> Cost -> Ordering
Cost -> Cost -> Cost
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Cost -> Cost -> Cost
$cmin :: Cost -> Cost -> Cost
max :: Cost -> Cost -> Cost
$cmax :: Cost -> Cost -> Cost
>= :: Cost -> Cost -> Bool
$c>= :: Cost -> Cost -> Bool
> :: Cost -> Cost -> Bool
$c> :: Cost -> Cost -> Bool
<= :: Cost -> Cost -> Bool
$c<= :: Cost -> Cost -> Bool
< :: Cost -> Cost -> Bool
$c< :: Cost -> Cost -> Bool
compare :: Cost -> Cost -> Ordering
$ccompare :: Cost -> Cost -> Ordering
$cp1Ord :: Eq Cost
Ord,Int -> Cost
Cost -> Int
Cost -> [Cost]
Cost -> Cost
Cost -> Cost -> [Cost]
Cost -> Cost -> Cost -> [Cost]
(Cost -> Cost)
-> (Cost -> Cost)
-> (Int -> Cost)
-> (Cost -> Int)
-> (Cost -> [Cost])
-> (Cost -> Cost -> [Cost])
-> (Cost -> Cost -> [Cost])
-> (Cost -> Cost -> Cost -> [Cost])
-> Enum Cost
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: Cost -> Cost -> Cost -> [Cost]
$cenumFromThenTo :: Cost -> Cost -> Cost -> [Cost]
enumFromTo :: Cost -> Cost -> [Cost]
$cenumFromTo :: Cost -> Cost -> [Cost]
enumFromThen :: Cost -> Cost -> [Cost]
$cenumFromThen :: Cost -> Cost -> [Cost]
enumFrom :: Cost -> [Cost]
$cenumFrom :: Cost -> [Cost]
fromEnum :: Cost -> Int
$cfromEnum :: Cost -> Int
toEnum :: Int -> Cost
$ctoEnum :: Int -> Cost
pred :: Cost -> Cost
$cpred :: Cost -> Cost
succ :: Cost -> Cost
$csucc :: Cost -> Cost
Enum,Cost
Cost -> Cost -> Bounded Cost
forall a. a -> a -> Bounded a
maxBound :: Cost
$cmaxBound :: Cost
minBound :: Cost
$cminBound :: Cost
Bounded,Integer -> Cost
Cost -> Cost
Cost -> Cost -> Cost
(Cost -> Cost -> Cost)
-> (Cost -> Cost -> Cost)
-> (Cost -> Cost -> Cost)
-> (Cost -> Cost)
-> (Cost -> Cost)
-> (Cost -> Cost)
-> (Integer -> Cost)
-> Num Cost
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> Cost
$cfromInteger :: Integer -> Cost
signum :: Cost -> Cost
$csignum :: Cost -> Cost
abs :: Cost -> Cost
$cabs :: Cost -> Cost
negate :: Cost -> Cost
$cnegate :: Cost -> Cost
* :: Cost -> Cost -> Cost
$c* :: Cost -> Cost -> Cost
- :: Cost -> Cost -> Cost
$c- :: Cost -> Cost -> Cost
+ :: Cost -> Cost -> Cost
$c+ :: Cost -> Cost -> Cost
Num)
-- ~\~ end
-- ~\~ end