{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,
  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,
  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}
module HROOT.Math.TRandom.RawType where
import Foreign.Ptr
import FFICXX.Runtime.Cast

data RawTRandom

newtype TRandom = TRandom (Ptr RawTRandom)
                    deriving (TRandom -> TRandom -> Bool
(TRandom -> TRandom -> Bool)
-> (TRandom -> TRandom -> Bool) -> Eq TRandom
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TRandom -> TRandom -> Bool
== :: TRandom -> TRandom -> Bool
$c/= :: TRandom -> TRandom -> Bool
/= :: TRandom -> TRandom -> Bool
Eq, Eq TRandom
Eq TRandom
-> (TRandom -> TRandom -> Ordering)
-> (TRandom -> TRandom -> Bool)
-> (TRandom -> TRandom -> Bool)
-> (TRandom -> TRandom -> Bool)
-> (TRandom -> TRandom -> Bool)
-> (TRandom -> TRandom -> TRandom)
-> (TRandom -> TRandom -> TRandom)
-> Ord TRandom
TRandom -> TRandom -> Bool
TRandom -> TRandom -> Ordering
TRandom -> TRandom -> TRandom
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
$ccompare :: TRandom -> TRandom -> Ordering
compare :: TRandom -> TRandom -> Ordering
$c< :: TRandom -> TRandom -> Bool
< :: TRandom -> TRandom -> Bool
$c<= :: TRandom -> TRandom -> Bool
<= :: TRandom -> TRandom -> Bool
$c> :: TRandom -> TRandom -> Bool
> :: TRandom -> TRandom -> Bool
$c>= :: TRandom -> TRandom -> Bool
>= :: TRandom -> TRandom -> Bool
$cmax :: TRandom -> TRandom -> TRandom
max :: TRandom -> TRandom -> TRandom
$cmin :: TRandom -> TRandom -> TRandom
min :: TRandom -> TRandom -> TRandom
Ord, Int -> TRandom -> ShowS
[TRandom] -> ShowS
TRandom -> String
(Int -> TRandom -> ShowS)
-> (TRandom -> String) -> ([TRandom] -> ShowS) -> Show TRandom
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TRandom -> ShowS
showsPrec :: Int -> TRandom -> ShowS
$cshow :: TRandom -> String
show :: TRandom -> String
$cshowList :: [TRandom] -> ShowS
showList :: [TRandom] -> ShowS
Show)

instance () => FPtr (TRandom) where
        type Raw TRandom = RawTRandom
        get_fptr :: TRandom -> Ptr (Raw TRandom)
get_fptr (TRandom Ptr RawTRandom
ptr) = Ptr (Raw TRandom)
Ptr RawTRandom
ptr
        cast_fptr_to_obj :: Ptr (Raw TRandom) -> TRandom
cast_fptr_to_obj = Ptr (Raw TRandom) -> TRandom
Ptr RawTRandom -> TRandom
TRandom