module Data.SpirV.Enum.FPDenormMode where import Data.String (IsString(..)) import Data.Word (Word32) import Foreign (Storable(..)) import GHC.Read (Read(..)) import Text.ParserCombinators.ReadPrec (pfail) import qualified GHC.Read as Read import qualified Text.Read.Lex as Lex newtype FPDenormMode = FPDenormMode Word32 deriving (FPDenormMode -> FPDenormMode -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: FPDenormMode -> FPDenormMode -> Bool $c/= :: FPDenormMode -> FPDenormMode -> Bool == :: FPDenormMode -> FPDenormMode -> Bool $c== :: FPDenormMode -> FPDenormMode -> Bool Eq, Eq FPDenormMode FPDenormMode -> FPDenormMode -> Bool FPDenormMode -> FPDenormMode -> Ordering FPDenormMode -> FPDenormMode -> FPDenormMode 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 :: FPDenormMode -> FPDenormMode -> FPDenormMode $cmin :: FPDenormMode -> FPDenormMode -> FPDenormMode max :: FPDenormMode -> FPDenormMode -> FPDenormMode $cmax :: FPDenormMode -> FPDenormMode -> FPDenormMode >= :: FPDenormMode -> FPDenormMode -> Bool $c>= :: FPDenormMode -> FPDenormMode -> Bool > :: FPDenormMode -> FPDenormMode -> Bool $c> :: FPDenormMode -> FPDenormMode -> Bool <= :: FPDenormMode -> FPDenormMode -> Bool $c<= :: FPDenormMode -> FPDenormMode -> Bool < :: FPDenormMode -> FPDenormMode -> Bool $c< :: FPDenormMode -> FPDenormMode -> Bool compare :: FPDenormMode -> FPDenormMode -> Ordering $ccompare :: FPDenormMode -> FPDenormMode -> Ordering Ord, Ptr FPDenormMode -> IO FPDenormMode Ptr FPDenormMode -> Int -> IO FPDenormMode Ptr FPDenormMode -> Int -> FPDenormMode -> IO () Ptr FPDenormMode -> FPDenormMode -> IO () FPDenormMode -> Int forall b. Ptr b -> Int -> IO FPDenormMode forall b. Ptr b -> Int -> FPDenormMode -> IO () forall a. (a -> Int) -> (a -> Int) -> (Ptr a -> Int -> IO a) -> (Ptr a -> Int -> a -> IO ()) -> (forall b. Ptr b -> Int -> IO a) -> (forall b. Ptr b -> Int -> a -> IO ()) -> (Ptr a -> IO a) -> (Ptr a -> a -> IO ()) -> Storable a poke :: Ptr FPDenormMode -> FPDenormMode -> IO () $cpoke :: Ptr FPDenormMode -> FPDenormMode -> IO () peek :: Ptr FPDenormMode -> IO FPDenormMode $cpeek :: Ptr FPDenormMode -> IO FPDenormMode pokeByteOff :: forall b. Ptr b -> Int -> FPDenormMode -> IO () $cpokeByteOff :: forall b. Ptr b -> Int -> FPDenormMode -> IO () peekByteOff :: forall b. Ptr b -> Int -> IO FPDenormMode $cpeekByteOff :: forall b. Ptr b -> Int -> IO FPDenormMode pokeElemOff :: Ptr FPDenormMode -> Int -> FPDenormMode -> IO () $cpokeElemOff :: Ptr FPDenormMode -> Int -> FPDenormMode -> IO () peekElemOff :: Ptr FPDenormMode -> Int -> IO FPDenormMode $cpeekElemOff :: Ptr FPDenormMode -> Int -> IO FPDenormMode alignment :: FPDenormMode -> Int $calignment :: FPDenormMode -> Int sizeOf :: FPDenormMode -> Int $csizeOf :: FPDenormMode -> Int Storable) pattern Preserve :: FPDenormMode pattern $bPreserve :: FPDenormMode $mPreserve :: forall {r}. FPDenormMode -> ((# #) -> r) -> ((# #) -> r) -> r Preserve = FPDenormMode 0 pattern FlushToZero :: FPDenormMode pattern $bFlushToZero :: FPDenormMode $mFlushToZero :: forall {r}. FPDenormMode -> ((# #) -> r) -> ((# #) -> r) -> r FlushToZero = FPDenormMode 1 toName :: IsString a => FPDenormMode -> a toName :: forall a. IsString a => FPDenormMode -> a toName FPDenormMode x = case FPDenormMode x of FPDenormMode Preserve -> a "Preserve" FPDenormMode FlushToZero -> a "FlushToZero" FPDenormMode unknown -> forall a. IsString a => [Char] -> a fromString forall a b. (a -> b) -> a -> b $ [Char] "FPDenormMode " forall a. [a] -> [a] -> [a] ++ forall a. Show a => a -> [Char] show FPDenormMode unknown instance Show FPDenormMode where show :: FPDenormMode -> [Char] show = forall a. IsString a => FPDenormMode -> a toName fromName :: (IsString a, Eq a) => a -> Maybe FPDenormMode fromName :: forall a. (IsString a, Eq a) => a -> Maybe FPDenormMode fromName a x = case a x of a "Preserve" -> forall a. a -> Maybe a Just FPDenormMode Preserve a "FlushToZero" -> forall a. a -> Maybe a Just FPDenormMode FlushToZero a _unknown -> forall a. Maybe a Nothing instance Read FPDenormMode where readPrec :: ReadPrec FPDenormMode readPrec = forall a. ReadPrec a -> ReadPrec a Read.parens do Lex.Ident [Char] s <- ReadPrec Lexeme Read.lexP forall b a. b -> (a -> b) -> Maybe a -> b maybe forall a. ReadPrec a pfail forall (f :: * -> *) a. Applicative f => a -> f a pure forall a b. (a -> b) -> a -> b $ forall a. (IsString a, Eq a) => a -> Maybe FPDenormMode fromName [Char] s