{-# LINE 1 "src/Foreign/SwissEphemerisExtras.hsc" #-}
{-# LANGUAGE CPP, ForeignFunctionInterface, RecordWildCards #-}
module Foreign.SwissEphemerisExtras where
import Foreign
import Foreign.C.Types
import Foreign.C.String
data GravityObject a = GravityObject
{ GravityObject a -> CDouble
pos :: CDouble
, GravityObject a -> CDouble
lsize :: CDouble
, GravityObject a -> CDouble
rsize :: CDouble
, GravityObject a -> CDouble
ppos :: CDouble
, GravityObject a -> CInt
sector_no :: CInt
, GravityObject a -> CInt
sequence_no :: CInt
, GravityObject a -> CInt
level_no :: CInt
, GravityObject a -> CDouble
scale :: CDouble
, GravityObject a -> Ptr a
dp :: Ptr a
}
instance Storable a => Storable (GravityObject a) where
alignment :: GravityObject a -> Int
alignment GravityObject a
_ = Int
8
{-# LINE 52 "src/Foreign/SwissEphemerisExtras.hsc" #-}
sizeOf _ = (64)
{-# LINE 53 "src/Foreign/SwissEphemerisExtras.hsc" #-}
peek ptr = do
pos <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 55 "src/Foreign/SwissEphemerisExtras.hsc" #-}
lsize <- (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 56 "src/Foreign/SwissEphemerisExtras.hsc" #-}
rsize <- (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 57 "src/Foreign/SwissEphemerisExtras.hsc" #-}
ppos <- (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr
{-# LINE 58 "src/Foreign/SwissEphemerisExtras.hsc" #-}
sector_no <- (\hsc_ptr -> peekByteOff hsc_ptr 32) ptr
{-# LINE 59 "src/Foreign/SwissEphemerisExtras.hsc" #-}
sequence_no <- (\hsc_ptr -> peekByteOff hsc_ptr 36) ptr
{-# LINE 60 "src/Foreign/SwissEphemerisExtras.hsc" #-}
level_no <- (\hsc_ptr -> peekByteOff hsc_ptr 40) ptr
{-# LINE 61 "src/Foreign/SwissEphemerisExtras.hsc" #-}
scale <- (\hsc_ptr -> peekByteOff hsc_ptr 48) ptr
{-# LINE 62 "src/Foreign/SwissEphemerisExtras.hsc" #-}
dp <- (\hsc_ptr -> peekByteOff hsc_ptr 56) ptr
{-# LINE 63 "src/Foreign/SwissEphemerisExtras.hsc" #-}
return $ GravityObject{..}
poke :: Ptr (GravityObject a) -> GravityObject a -> IO ()
poke Ptr (GravityObject a)
ptr (GravityObject{Ptr a
CInt
CDouble
dp :: Ptr a
scale :: CDouble
level_no :: CInt
sequence_no :: CInt
sector_no :: CInt
ppos :: CDouble
rsize :: CDouble
lsize :: CDouble
pos :: CDouble
dp :: forall a. GravityObject a -> Ptr a
scale :: forall a. GravityObject a -> CDouble
level_no :: forall a. GravityObject a -> CInt
sequence_no :: forall a. GravityObject a -> CInt
sector_no :: forall a. GravityObject a -> CInt
ppos :: forall a. GravityObject a -> CDouble
rsize :: forall a. GravityObject a -> CDouble
lsize :: forall a. GravityObject a -> CDouble
pos :: forall a. GravityObject a -> CDouble
..})= do
(\Ptr (GravityObject a)
hsc_ptr -> Ptr (GravityObject a) -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr (GravityObject a)
hsc_ptr Int
0) Ptr (GravityObject a)
ptr CDouble
pos
{-# LINE 66 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr lsize
{-# LINE 67 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr rsize
{-# LINE 68 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr ppos
{-# LINE 69 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 32) ptr sector_no
{-# LINE 70 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 36) ptr sequence_no
{-# LINE 71 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 40) ptr level_no
{-# LINE 72 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 48) ptr scale
{-# LINE 73 "src/Foreign/SwissEphemerisExtras.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 56) ptr dp
{-# LINE 74 "src/Foreign/SwissEphemerisExtras.hsc" #-}
foreign import ccall unsafe "dgravgroup.h grav_group"
c_grav_group :: Ptr (GravityObject a)
-> CInt
-> Ptr CDouble
-> CInt
-> CString
-> (IO CInt)
foreign import ccall unsafe "dgravgroup.h grav_group2"
c_grav_group2 :: Ptr (GravityObject a)
-> CInt
-> Ptr CDouble
-> CInt
-> CBool
-> CString
-> (IO CInt)