qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QRandomGenerator.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QRandomGenerator (
QRandomGeneratorValue (..),
QRandomGeneratorConstPtr (..),
eQ,
nE,
QRandomGeneratorPtr (..),
boundedWithDouble,
boundedWithQuint,
boundedWirhQuints,
boundedWithInt,
boundedWithInts,
discard,
fillRange,
generate64,
generate,
generateDouble,
seed,
seedWithQuint,
cALL,
aSSIGN,
global,
max,
min,
securelySeeded,
system,
QRandomGeneratorConst (..),
castQRandomGeneratorToConst,
QRandomGenerator (..),
castQRandomGeneratorToNonconst,
newWithQuints,
newWithQuintQsizetype,
new,
newWithQuint,
newCopy,
QRandomGeneratorSuper (..),
QRandomGeneratorSuperConst (..),
) where
import Control.Monad ((>=>))
import qualified Data.Word as HoppyDW
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import Prelude (($), (.), (/=), (=<<), (==), (>>), (>>=))
import qualified Prelude as HoppyP
import qualified System.Posix.Types as HoppySPT
foreign import ccall "genpop__QRandomGenerator_newWithQuints" newWithQuints' :: HoppyF.Ptr HoppyDW.Word32 -> HoppyF.Ptr HoppyDW.Word32 -> HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "genpop__QRandomGenerator_newWithQuintQsizetype" newWithQuintQsizetype' :: HoppyF.Ptr HoppyDW.Word32 -> HoppySPT.CSsize -> HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "genpop__QRandomGenerator_new" new' :: HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "genpop__QRandomGenerator_newWithQuint" newWithQuint' :: HoppyDW.Word32 -> HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "genpop__QRandomGenerator_newCopy" newCopy' :: HoppyF.Ptr QRandomGeneratorConst -> HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "genpop__QRandomGenerator_boundedWithDouble" boundedWithDouble' :: HoppyF.Ptr QRandomGenerator -> HoppyFC.CDouble -> HoppyP.IO HoppyFC.CDouble
foreign import ccall "genpop__QRandomGenerator_boundedWithQuint" boundedWithQuint' :: HoppyF.Ptr QRandomGenerator -> HoppyDW.Word32 -> HoppyP.IO HoppyDW.Word32
foreign import ccall "genpop__QRandomGenerator_boundedWirhQuints" boundedWirhQuints' :: HoppyF.Ptr QRandomGenerator -> HoppyDW.Word32 -> HoppyDW.Word32 -> HoppyP.IO HoppyDW.Word32
foreign import ccall "genpop__QRandomGenerator_boundedWithInt" boundedWithInt' :: HoppyF.Ptr QRandomGenerator -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QRandomGenerator_boundedWithInts" boundedWithInts' :: HoppyF.Ptr QRandomGenerator -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QRandomGenerator_discard" discard' :: HoppyF.Ptr QRandomGenerator -> HoppyFC.CULLong -> HoppyP.IO ()
foreign import ccall "genpop__QRandomGenerator_fillRange" fillRange' :: HoppyF.Ptr QRandomGenerator -> HoppyF.Ptr HoppyFC.CUInt -> HoppySPT.CSsize -> HoppyP.IO ()
foreign import ccall "genpop__QRandomGenerator_generate64" generate64' :: HoppyF.Ptr QRandomGenerator -> HoppyP.IO HoppyDW.Word64
foreign import ccall "genpop__QRandomGenerator_generate" generate' :: HoppyF.Ptr QRandomGenerator -> HoppyP.IO HoppyDW.Word32
foreign import ccall "genpop__QRandomGenerator_generateDouble" generateDouble' :: HoppyF.Ptr QRandomGenerator -> HoppyP.IO HoppyFC.CDouble
foreign import ccall "genpop__QRandomGenerator_global" global' :: HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "genpop__QRandomGenerator_max" max' :: HoppyP.IO HoppyDW.Word32
foreign import ccall "genpop__QRandomGenerator_min" min' :: HoppyP.IO HoppyDW.Word32
foreign import ccall "genpop__QRandomGenerator_securelySeeded" securelySeeded' :: HoppyP.IO (HoppyF.Ptr QRandomGeneratorConst)
foreign import ccall "genpop__QRandomGenerator_seed" seed' :: HoppyF.Ptr QRandomGenerator -> HoppyP.IO ()
foreign import ccall "genpop__QRandomGenerator_seedWithQuint" seedWithQuint' :: HoppyF.Ptr QRandomGenerator -> HoppyDW.Word32 -> HoppyP.IO ()
foreign import ccall "genpop__QRandomGenerator_system" system' :: HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "genpop__QRandomGenerator_CALL" cALL' :: HoppyF.Ptr QRandomGenerator -> HoppyP.IO HoppyDW.Word32
foreign import ccall "genpop__QRandomGenerator_EQ" eQ' :: HoppyF.Ptr QRandomGeneratorConst -> HoppyF.Ptr QRandomGeneratorConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QRandomGenerator_NE" nE' :: HoppyF.Ptr QRandomGeneratorConst -> HoppyF.Ptr QRandomGeneratorConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QRandomGenerator_ASSIGN" aSSIGN' :: HoppyF.Ptr QRandomGenerator -> HoppyF.Ptr QRandomGeneratorConst -> HoppyP.IO (HoppyF.Ptr QRandomGenerator)
foreign import ccall "gendel__QRandomGenerator" delete'QRandomGenerator :: HoppyF.Ptr QRandomGeneratorConst -> HoppyP.IO ()
foreign import ccall "&gendel__QRandomGenerator" deletePtr'QRandomGenerator :: HoppyF.FunPtr (HoppyF.Ptr QRandomGeneratorConst -> HoppyP.IO ())
class QRandomGeneratorValue a where
withQRandomGeneratorPtr :: a -> (QRandomGeneratorConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QRandomGeneratorConstPtr a => QRandomGeneratorValue a where
withQRandomGeneratorPtr = HoppyP.flip ($) . toQRandomGeneratorConst
class (HoppyFHR.CppPtr this) => QRandomGeneratorConstPtr this where
toQRandomGeneratorConst :: this -> QRandomGeneratorConst
eQ :: (QRandomGeneratorValue this, QRandomGeneratorValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
eQ arg'1 arg'2 =
withQRandomGeneratorPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQRandomGeneratorPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(eQ' arg'1' arg'2')
nE :: (QRandomGeneratorValue this, QRandomGeneratorValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
nE arg'1 arg'2 =
withQRandomGeneratorPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQRandomGeneratorPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(nE' arg'1' arg'2')
class (QRandomGeneratorConstPtr this) => QRandomGeneratorPtr this where
toQRandomGenerator :: this -> QRandomGenerator
boundedWithDouble :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.Double) -> (HoppyP.IO HoppyP.Double)
boundedWithDouble arg'1 arg'2 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(
HoppyP.return . HoppyP.realToFrac
) arg'2 >>= \arg'2' ->
(
HoppyP.return . HoppyP.realToFrac
) =<<
(boundedWithDouble' arg'1' arg'2')
boundedWithQuint :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyDW.Word32) -> (HoppyP.IO HoppyDW.Word32)
boundedWithQuint arg'1 arg'2 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
let arg'2' = arg'2 in
(boundedWithQuint' arg'1' arg'2')
boundedWirhQuints :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyDW.Word32) -> (HoppyDW.Word32) -> (HoppyP.IO HoppyDW.Word32)
boundedWirhQuints arg'1 arg'2 arg'3 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
let arg'2' = arg'2 in
let arg'3' = arg'3 in
(boundedWirhQuints' arg'1' arg'2' arg'3')
boundedWithInt :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO HoppyP.Int)
boundedWithInt arg'1 arg'2 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'2 >>= \arg'2' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(boundedWithInt' arg'1' arg'2')
boundedWithInts :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO HoppyP.Int)
boundedWithInts arg'1 arg'2 arg'3 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'2 >>= \arg'2' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'3 >>= \arg'3' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(boundedWithInts' arg'1' arg'2' arg'3')
discard :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyFC.CULLong) -> (HoppyP.IO ())
discard arg'1 arg'2 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
let arg'2' = arg'2 in
(discard' arg'1' arg'2')
fillRange :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyF.Ptr HoppyFC.CUInt) -> (HoppySPT.CSsize) -> (HoppyP.IO ())
fillRange arg'1 arg'2 arg'3 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
let arg'2' = arg'2 in
let arg'3' = arg'3 in
(fillRange' arg'1' arg'2' arg'3')
generate64 :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyDW.Word64)
generate64 arg'1 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(generate64' arg'1')
generate :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyDW.Word32)
generate arg'1 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(generate' arg'1')
generateDouble :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Double)
generateDouble arg'1 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(
HoppyP.return . HoppyP.realToFrac
) =<<
(generateDouble' arg'1')
seed :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
seed arg'1 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(seed' arg'1')
seedWithQuint :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyDW.Word32) -> (HoppyP.IO ())
seedWithQuint arg'1 arg'2 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
let arg'2' = arg'2 in
(seedWithQuint' arg'1' arg'2')
cALL :: (QRandomGeneratorPtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyDW.Word32)
cALL arg'1 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
(cALL' arg'1')
aSSIGN :: (QRandomGeneratorPtr this, QRandomGeneratorValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QRandomGenerator)
aSSIGN arg'1 arg'2 =
HoppyFHR.withCppPtr (toQRandomGenerator arg'1) $ \arg'1' ->
withQRandomGeneratorPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap QRandomGenerator
(aSSIGN' arg'1' arg'2')
global :: (HoppyP.IO QRandomGenerator)
global =
HoppyP.fmap QRandomGenerator
(global')
max :: (HoppyP.IO HoppyDW.Word32)
max =
(max')
min :: (HoppyP.IO HoppyDW.Word32)
min =
(min')
securelySeeded :: (HoppyP.IO QRandomGenerator)
securelySeeded =
(HoppyFHR.decodeAndDelete . QRandomGeneratorConst) =<<
(securelySeeded')
system :: (HoppyP.IO QRandomGenerator)
system =
HoppyP.fmap QRandomGenerator
(system')
data QRandomGeneratorConst =
QRandomGeneratorConst (HoppyF.Ptr QRandomGeneratorConst)
| QRandomGeneratorConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QRandomGeneratorConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QRandomGeneratorConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QRandomGeneratorConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQRandomGeneratorToConst :: QRandomGenerator -> QRandomGeneratorConst
castQRandomGeneratorToConst (QRandomGenerator ptr') = QRandomGeneratorConst $ HoppyF.castPtr ptr'
castQRandomGeneratorToConst (QRandomGeneratorGc fptr' ptr') = QRandomGeneratorConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QRandomGeneratorConst where
nullptr = QRandomGeneratorConst HoppyF.nullPtr
withCppPtr (QRandomGeneratorConst ptr') f' = f' ptr'
withCppPtr (QRandomGeneratorConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QRandomGeneratorConst ptr') = ptr'
toPtr (QRandomGeneratorConstGc _ ptr') = ptr'
touchCppPtr (QRandomGeneratorConst _) = HoppyP.return ()
touchCppPtr (QRandomGeneratorConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QRandomGeneratorConst where
delete (QRandomGeneratorConst ptr') = delete'QRandomGenerator ptr'
delete (QRandomGeneratorConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QRandomGeneratorConst", " object."]
toGc this'@(QRandomGeneratorConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QRandomGeneratorConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QRandomGenerator :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QRandomGeneratorConstGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QRandomGeneratorConst QRandomGenerator where copy = newCopy
instance QRandomGeneratorConstPtr QRandomGeneratorConst where
toQRandomGeneratorConst = HoppyP.id
data QRandomGenerator =
QRandomGenerator (HoppyF.Ptr QRandomGenerator)
| QRandomGeneratorGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QRandomGenerator)
deriving (HoppyP.Show)
instance HoppyP.Eq QRandomGenerator where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QRandomGenerator where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQRandomGeneratorToNonconst :: QRandomGeneratorConst -> QRandomGenerator
castQRandomGeneratorToNonconst (QRandomGeneratorConst ptr') = QRandomGenerator $ HoppyF.castPtr ptr'
castQRandomGeneratorToNonconst (QRandomGeneratorConstGc fptr' ptr') = QRandomGeneratorGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QRandomGenerator where
nullptr = QRandomGenerator HoppyF.nullPtr
withCppPtr (QRandomGenerator ptr') f' = f' ptr'
withCppPtr (QRandomGeneratorGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QRandomGenerator ptr') = ptr'
toPtr (QRandomGeneratorGc _ ptr') = ptr'
touchCppPtr (QRandomGenerator _) = HoppyP.return ()
touchCppPtr (QRandomGeneratorGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QRandomGenerator where
delete (QRandomGenerator ptr') = delete'QRandomGenerator $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QRandomGeneratorConst)
delete (QRandomGeneratorGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QRandomGenerator", " object."]
toGc this'@(QRandomGenerator ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QRandomGeneratorGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QRandomGenerator :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QRandomGeneratorGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QRandomGenerator QRandomGenerator where copy = newCopy
instance QRandomGeneratorConstPtr QRandomGenerator where
toQRandomGeneratorConst (QRandomGenerator ptr') = QRandomGeneratorConst $ (HoppyF.castPtr :: HoppyF.Ptr QRandomGenerator -> HoppyF.Ptr QRandomGeneratorConst) ptr'
toQRandomGeneratorConst (QRandomGeneratorGc fptr' ptr') = QRandomGeneratorConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QRandomGenerator -> HoppyF.Ptr QRandomGeneratorConst) ptr'
instance QRandomGeneratorPtr QRandomGenerator where
toQRandomGenerator = HoppyP.id
newWithQuints :: (HoppyF.Ptr HoppyDW.Word32) -> (HoppyF.Ptr HoppyDW.Word32) -> (HoppyP.IO QRandomGenerator)
newWithQuints arg'1 arg'2 =
let arg'1' = arg'1 in
let arg'2' = arg'2 in
HoppyP.fmap QRandomGenerator
(newWithQuints' arg'1' arg'2')
newWithQuintQsizetype :: (HoppyF.Ptr HoppyDW.Word32) -> (HoppySPT.CSsize) -> (HoppyP.IO QRandomGenerator)
newWithQuintQsizetype arg'1 arg'2 =
let arg'1' = arg'1 in
let arg'2' = arg'2 in
HoppyP.fmap QRandomGenerator
(newWithQuintQsizetype' arg'1' arg'2')
new :: (HoppyP.IO QRandomGenerator)
new =
HoppyP.fmap QRandomGenerator
(new')
newWithQuint :: (HoppyDW.Word32) -> (HoppyP.IO QRandomGenerator)
newWithQuint arg'1 =
let arg'1' = arg'1 in
HoppyP.fmap QRandomGenerator
(newWithQuint' arg'1')
newCopy :: (QRandomGeneratorValue arg'1) => (arg'1) -> (HoppyP.IO QRandomGenerator)
newCopy arg'1 =
withQRandomGeneratorPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QRandomGenerator
(newCopy' arg'1')
class QRandomGeneratorSuper a where
downToQRandomGenerator :: a -> QRandomGenerator
class QRandomGeneratorSuperConst a where
downToQRandomGeneratorConst :: a -> QRandomGeneratorConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QRandomGenerator)) QRandomGenerator where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance QRandomGeneratorValue a => HoppyFHR.Assignable QRandomGenerator a where
assign x' y' = aSSIGN x' y' >> HoppyP.return ()
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QRandomGenerator)) QRandomGenerator where
decode = HoppyP.fmap QRandomGenerator . HoppyF.peek
instance HoppyFHR.Decodable QRandomGenerator (QRandomGenerator) where
decode = HoppyFHR.decode . toQRandomGeneratorConst
instance HoppyFHR.Decodable QRandomGeneratorConst (QRandomGenerator) where
decode =
HoppyFHR.copy >=> HoppyFHR.toGc