module Satyros.Util where import Unsafe.Coerce (unsafeCoerce) intToWord :: Int -> Word intToWord :: Int -> Word intToWord = Int -> Word forall a b. a -> b unsafeCoerce {-# INLINE intToWord #-} wordToInt :: Word -> Int wordToInt :: Word -> Int wordToInt = Word -> Int forall a b. a -> b unsafeCoerce {-# INLINE wordToInt #-} showsTernaryWith :: (Int -> a -> ShowS) -> (Int -> b -> ShowS) -> (Int -> c -> ShowS) -> String -> Int -> a -> b -> c -> ShowS showsTernaryWith :: (Int -> a -> ShowS) -> (Int -> b -> ShowS) -> (Int -> c -> ShowS) -> String -> Int -> a -> b -> c -> ShowS showsTernaryWith Int -> a -> ShowS sp1 Int -> b -> ShowS sp2 Int -> c -> ShowS sp3 String name Int d a x b y c z = Bool -> ShowS -> ShowS showParen (Int d Int -> Int -> Bool forall a. Ord a => a -> a -> Bool > Int 10) (ShowS -> ShowS) -> ShowS -> ShowS forall a b. (a -> b) -> a -> b $ String -> ShowS showString String name ShowS -> ShowS -> ShowS forall b c a. (b -> c) -> (a -> b) -> a -> c . Char -> ShowS showChar Char ' ' ShowS -> ShowS -> ShowS forall b c a. (b -> c) -> (a -> b) -> a -> c . Int -> a -> ShowS sp1 Int 11 a x ShowS -> ShowS -> ShowS forall b c a. (b -> c) -> (a -> b) -> a -> c . Char -> ShowS showChar Char ' ' ShowS -> ShowS -> ShowS forall b c a. (b -> c) -> (a -> b) -> a -> c . Int -> b -> ShowS sp2 Int 11 b y ShowS -> ShowS -> ShowS forall b c a. (b -> c) -> (a -> b) -> a -> c . Char -> ShowS showChar Char ' ' ShowS -> ShowS -> ShowS forall b c a. (b -> c) -> (a -> b) -> a -> c . Int -> c -> ShowS sp3 Int 11 c z