spirv-enum-0.1.0.0: src/Data/SpirV/Enum/FPRoundingMode.hs
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Data.SpirV.Enum.FPRoundingMode where
import Data.Int (Int32)
import Foreign.Storable (Storable)
newtype FPRoundingMode = FPRoundingMode Int32
deriving newtype (Eq, Ord, Storable)
instance Show FPRoundingMode where
showsPrec p (FPRoundingMode v) = case v of
0 -> showString "RTE"
1 -> showString "RTZ"
2 -> showString "RTP"
3 -> showString "RTN"
x -> showParen (p > 10) $ showString "FPRoundingMode " . showsPrec (p + 1) x
pattern RTE :: FPRoundingMode
pattern RTE = FPRoundingMode 0
pattern RTZ :: FPRoundingMode
pattern RTZ = FPRoundingMode 1
pattern RTP :: FPRoundingMode
pattern RTP = FPRoundingMode 2
pattern RTN :: FPRoundingMode
pattern RTN = FPRoundingMode 3