{-# LINE 1 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
module Data.Number.Flint.Arb.Types.FFI where
import Foreign.C.String
import Foreign.C.Types
import Foreign.ForeignPtr
import Foreign.Ptr ( Ptr, FunPtr, nullPtr, plusPtr )
import Foreign.Storable
import Foreign.Marshal ( free )
import Foreign.Marshal.Array ( advancePtr )
import Data.Number.Flint.Flint.Internal
import Data.Number.Flint.Flint.External
import Data.Number.Flint.Fmpz
data Mag = Mag {-# UNPACK #-} !(ForeignPtr CMag)
data CMag = CMag CFmpz CMpLimb
instance Storable CMag where
sizeOf :: CMag -> Int
sizeOf CMag
_ = (Int
16)
{-# LINE 31 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
alignment _ = 8
{-# LINE 32 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
peek ptr = CMag
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 34 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 35 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
poke = undefined
data Arf = Arf {-# UNPACK #-} !(ForeignPtr CArf)
data CArf = CFlint CArf
instance Storable CArf where
sizeOf :: CArf -> Int
sizeOf CArf
_ = (Int
32)
{-# LINE 45 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
alignment _ = 8
{-# LINE 46 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
peek = error "CArf.peek undefined."
poke :: Ptr CArf -> CArf -> IO ()
poke = forall a. HasCallStack => [Char] -> a
error [Char]
"CArf.poke undefined."
newtype ArfRnd = ArfRnd {ArfRnd -> CInt
_ArfRnd :: CInt}
deriving (Int -> ArfRnd -> ShowS
[ArfRnd] -> ShowS
ArfRnd -> [Char]
forall a.
(Int -> a -> ShowS) -> (a -> [Char]) -> ([a] -> ShowS) -> Show a
showList :: [ArfRnd] -> ShowS
$cshowList :: [ArfRnd] -> ShowS
show :: ArfRnd -> [Char]
$cshow :: ArfRnd -> [Char]
showsPrec :: Int -> ArfRnd -> ShowS
$cshowsPrec :: Int -> ArfRnd -> ShowS
Show, ArfRnd -> ArfRnd -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ArfRnd -> ArfRnd -> Bool
$c/= :: ArfRnd -> ArfRnd -> Bool
== :: ArfRnd -> ArfRnd -> Bool
$c== :: ArfRnd -> ArfRnd -> Bool
Eq)
arf_rnd_up :: ArfRnd
arf_rnd_up = CInt -> ArfRnd
ArfRnd CInt
1
{-# LINE 58 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
arf_rnd_down :: ArfRnd
arf_rnd_down = CInt -> ArfRnd
ArfRnd CInt
0
{-# LINE 61 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
arf_rnd_floor :: ArfRnd
arf_rnd_floor = CInt -> ArfRnd
ArfRnd CInt
2
{-# LINE 65 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
arf_rnd_ceil :: ArfRnd
arf_rnd_ceil = CInt -> ArfRnd
ArfRnd CInt
3
{-# LINE 69 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
arf_rnd_near :: ArfRnd
arf_rnd_near = CInt -> ArfRnd
ArfRnd CInt
4
{-# LINE 73 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
arf_prec_exact :: ArfRnd
arf_prec_exact = CInt -> ArfRnd
ArfRnd CInt
9223372036854775807
{-# LINE 94 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
data Arb = Arb {-# UNPACK #-} !(ForeignPtr CArb)
data CArb = CArb CMag CArf
instance Storable CArb where
{-# INLINE sizeOf #-}
sizeOf :: CArb -> Int
sizeOf CArb
_ = (Int
48)
{-# LINE 104 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CArb -> Int
alignment CArb
_ = Int
8
{-# LINE 106 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
peek = error "CArb.peek undefined."
poke :: Ptr CArb -> CArb -> IO ()
poke = forall a. HasCallStack => [Char] -> a
error [Char]
"CArb.poke undefined."
newtype ArbStrOption = ArbStrOption {ArbStrOption -> CULong
_ArbStrOption :: CULong}
deriving (Int -> ArbStrOption -> ShowS
[ArbStrOption] -> ShowS
ArbStrOption -> [Char]
forall a.
(Int -> a -> ShowS) -> (a -> [Char]) -> ([a] -> ShowS) -> Show a
showList :: [ArbStrOption] -> ShowS
$cshowList :: [ArbStrOption] -> ShowS
show :: ArbStrOption -> [Char]
$cshow :: ArbStrOption -> [Char]
showsPrec :: Int -> ArbStrOption -> ShowS
$cshowsPrec :: Int -> ArbStrOption -> ShowS
Show, ArbStrOption -> ArbStrOption -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ArbStrOption -> ArbStrOption -> Bool
$c/= :: ArbStrOption -> ArbStrOption -> Bool
== :: ArbStrOption -> ArbStrOption -> Bool
$c== :: ArbStrOption -> ArbStrOption -> Bool
Eq)
instance Num ArbStrOption where
+ :: ArbStrOption -> ArbStrOption -> ArbStrOption
(+) (ArbStrOption CULong
x) (ArbStrOption CULong
y) = CULong -> ArbStrOption
ArbStrOption (CULong
x forall a. Num a => a -> a -> a
+ CULong
y)
* :: ArbStrOption -> ArbStrOption -> ArbStrOption
(*) = forall a. HasCallStack => a
undefined
abs :: ArbStrOption -> ArbStrOption
abs = forall a. HasCallStack => a
undefined
signum :: ArbStrOption -> ArbStrOption
signum = forall a. HasCallStack => a
undefined
fromInteger :: Integer -> ArbStrOption
fromInteger = forall a. HasCallStack => a
undefined
negate :: ArbStrOption -> ArbStrOption
negate = forall a. HasCallStack => a
undefined
arb_str_none :: ArbStrOption
arb_str_none = CULong -> ArbStrOption
ArbStrOption CULong
0
arb_str_more :: ArbStrOption
arb_str_more = CULong -> ArbStrOption
ArbStrOption CULong
1
{-# LINE 126 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
arb_str_no_radius :: ArbStrOption
arb_str_no_radius = CULong -> ArbStrOption
ArbStrOption CULong
2
{-# LINE 130 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
arb_str_condense :: ArbStrOption
arb_str_condense = CULong -> ArbStrOption
ArbStrOption CULong
16
{-# LINE 136 "src/Data/Number/Flint/Arb/Types/FFI.hsc" #-}
data ArbPoly = ArbPoly {-# UNPACK #-} !(ForeignPtr CArbPoly)
type CArbPoly = CFlint ArbPoly