{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}

module Data.Ord.ToolsYj (clamp, Min, Max) where

clamp :: Ord a => Min a -> Max a -> a -> a
clamp :: forall a. Ord a => a -> a -> a -> a
clamp a
mn a
mx a
x | a
x a -> a -> Bool
forall a. Ord a => a -> a -> Bool
< a
mn = a
mn | a
x a -> a -> Bool
forall a. Ord a => a -> a -> Bool
< a
mx = a
x | Bool
otherwise = a
mx

type Min a = a; type Max a = a