module Data.SpirV.Enum.FunctionControl where import Data.Bits (Bits) 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 FunctionControl = FunctionControl Word32 deriving (FunctionControl -> FunctionControl -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: FunctionControl -> FunctionControl -> Bool $c/= :: FunctionControl -> FunctionControl -> Bool == :: FunctionControl -> FunctionControl -> Bool $c== :: FunctionControl -> FunctionControl -> Bool Eq, Eq FunctionControl FunctionControl -> FunctionControl -> Bool FunctionControl -> FunctionControl -> Ordering FunctionControl -> FunctionControl -> FunctionControl 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 :: FunctionControl -> FunctionControl -> FunctionControl $cmin :: FunctionControl -> FunctionControl -> FunctionControl max :: FunctionControl -> FunctionControl -> FunctionControl $cmax :: FunctionControl -> FunctionControl -> FunctionControl >= :: FunctionControl -> FunctionControl -> Bool $c>= :: FunctionControl -> FunctionControl -> Bool > :: FunctionControl -> FunctionControl -> Bool $c> :: FunctionControl -> FunctionControl -> Bool <= :: FunctionControl -> FunctionControl -> Bool $c<= :: FunctionControl -> FunctionControl -> Bool < :: FunctionControl -> FunctionControl -> Bool $c< :: FunctionControl -> FunctionControl -> Bool compare :: FunctionControl -> FunctionControl -> Ordering $ccompare :: FunctionControl -> FunctionControl -> Ordering Ord, Ptr FunctionControl -> IO FunctionControl Ptr FunctionControl -> Int -> IO FunctionControl Ptr FunctionControl -> Int -> FunctionControl -> IO () Ptr FunctionControl -> FunctionControl -> IO () FunctionControl -> Int forall b. Ptr b -> Int -> IO FunctionControl forall b. Ptr b -> Int -> FunctionControl -> 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 FunctionControl -> FunctionControl -> IO () $cpoke :: Ptr FunctionControl -> FunctionControl -> IO () peek :: Ptr FunctionControl -> IO FunctionControl $cpeek :: Ptr FunctionControl -> IO FunctionControl pokeByteOff :: forall b. Ptr b -> Int -> FunctionControl -> IO () $cpokeByteOff :: forall b. Ptr b -> Int -> FunctionControl -> IO () peekByteOff :: forall b. Ptr b -> Int -> IO FunctionControl $cpeekByteOff :: forall b. Ptr b -> Int -> IO FunctionControl pokeElemOff :: Ptr FunctionControl -> Int -> FunctionControl -> IO () $cpokeElemOff :: Ptr FunctionControl -> Int -> FunctionControl -> IO () peekElemOff :: Ptr FunctionControl -> Int -> IO FunctionControl $cpeekElemOff :: Ptr FunctionControl -> Int -> IO FunctionControl alignment :: FunctionControl -> Int $calignment :: FunctionControl -> Int sizeOf :: FunctionControl -> Int $csizeOf :: FunctionControl -> Int Storable, Eq FunctionControl FunctionControl Int -> FunctionControl FunctionControl -> Bool FunctionControl -> Int FunctionControl -> Maybe Int FunctionControl -> FunctionControl FunctionControl -> Int -> Bool FunctionControl -> Int -> FunctionControl FunctionControl -> FunctionControl -> FunctionControl forall a. Eq a -> (a -> a -> a) -> (a -> a -> a) -> (a -> a -> a) -> (a -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> a -> (Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> Bool) -> (a -> Maybe Int) -> (a -> Int) -> (a -> Bool) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int) -> Bits a popCount :: FunctionControl -> Int $cpopCount :: FunctionControl -> Int rotateR :: FunctionControl -> Int -> FunctionControl $crotateR :: FunctionControl -> Int -> FunctionControl rotateL :: FunctionControl -> Int -> FunctionControl $crotateL :: FunctionControl -> Int -> FunctionControl unsafeShiftR :: FunctionControl -> Int -> FunctionControl $cunsafeShiftR :: FunctionControl -> Int -> FunctionControl shiftR :: FunctionControl -> Int -> FunctionControl $cshiftR :: FunctionControl -> Int -> FunctionControl unsafeShiftL :: FunctionControl -> Int -> FunctionControl $cunsafeShiftL :: FunctionControl -> Int -> FunctionControl shiftL :: FunctionControl -> Int -> FunctionControl $cshiftL :: FunctionControl -> Int -> FunctionControl isSigned :: FunctionControl -> Bool $cisSigned :: FunctionControl -> Bool bitSize :: FunctionControl -> Int $cbitSize :: FunctionControl -> Int bitSizeMaybe :: FunctionControl -> Maybe Int $cbitSizeMaybe :: FunctionControl -> Maybe Int testBit :: FunctionControl -> Int -> Bool $ctestBit :: FunctionControl -> Int -> Bool complementBit :: FunctionControl -> Int -> FunctionControl $ccomplementBit :: FunctionControl -> Int -> FunctionControl clearBit :: FunctionControl -> Int -> FunctionControl $cclearBit :: FunctionControl -> Int -> FunctionControl setBit :: FunctionControl -> Int -> FunctionControl $csetBit :: FunctionControl -> Int -> FunctionControl bit :: Int -> FunctionControl $cbit :: Int -> FunctionControl zeroBits :: FunctionControl $czeroBits :: FunctionControl rotate :: FunctionControl -> Int -> FunctionControl $crotate :: FunctionControl -> Int -> FunctionControl shift :: FunctionControl -> Int -> FunctionControl $cshift :: FunctionControl -> Int -> FunctionControl complement :: FunctionControl -> FunctionControl $ccomplement :: FunctionControl -> FunctionControl xor :: FunctionControl -> FunctionControl -> FunctionControl $cxor :: FunctionControl -> FunctionControl -> FunctionControl .|. :: FunctionControl -> FunctionControl -> FunctionControl $c.|. :: FunctionControl -> FunctionControl -> FunctionControl .&. :: FunctionControl -> FunctionControl -> FunctionControl $c.&. :: FunctionControl -> FunctionControl -> FunctionControl Bits) pattern Inline :: FunctionControl pattern $bInline :: FunctionControl $mInline :: forall {r}. FunctionControl -> ((# #) -> r) -> ((# #) -> r) -> r Inline = FunctionControl 0x1 pattern DontInline :: FunctionControl pattern $bDontInline :: FunctionControl $mDontInline :: forall {r}. FunctionControl -> ((# #) -> r) -> ((# #) -> r) -> r DontInline = FunctionControl 0x2 pattern Pure :: FunctionControl pattern $bPure :: FunctionControl $mPure :: forall {r}. FunctionControl -> ((# #) -> r) -> ((# #) -> r) -> r Pure = FunctionControl 0x4 pattern Const :: FunctionControl pattern $bConst :: FunctionControl $mConst :: forall {r}. FunctionControl -> ((# #) -> r) -> ((# #) -> r) -> r Const = FunctionControl 0x8 pattern OptNoneINTEL :: FunctionControl pattern $bOptNoneINTEL :: FunctionControl $mOptNoneINTEL :: forall {r}. FunctionControl -> ((# #) -> r) -> ((# #) -> r) -> r OptNoneINTEL = FunctionControl 0x10000 toName :: IsString a => FunctionControl -> a toName :: forall a. IsString a => FunctionControl -> a toName FunctionControl x = case FunctionControl x of FunctionControl Inline -> a "Inline" FunctionControl DontInline -> a "DontInline" FunctionControl Pure -> a "Pure" FunctionControl Const -> a "Const" FunctionControl OptNoneINTEL -> a "OptNoneINTEL" FunctionControl unknown -> forall a. IsString a => [Char] -> a fromString forall a b. (a -> b) -> a -> b $ [Char] "FunctionControl " forall a. [a] -> [a] -> [a] ++ forall a. Show a => a -> [Char] show FunctionControl unknown instance Show FunctionControl where show :: FunctionControl -> [Char] show = forall a. IsString a => FunctionControl -> a toName fromName :: (IsString a, Eq a) => a -> Maybe FunctionControl fromName :: forall a. (IsString a, Eq a) => a -> Maybe FunctionControl fromName a x = case a x of a "Inline" -> forall a. a -> Maybe a Just FunctionControl Inline a "DontInline" -> forall a. a -> Maybe a Just FunctionControl DontInline a "Pure" -> forall a. a -> Maybe a Just FunctionControl Pure a "Const" -> forall a. a -> Maybe a Just FunctionControl Const a "OptNoneINTEL" -> forall a. a -> Maybe a Just FunctionControl OptNoneINTEL a _unknown -> forall a. Maybe a Nothing instance Read FunctionControl where readPrec :: ReadPrec FunctionControl 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 FunctionControl fromName [Char] s