{-# LINE 1 "src/HROOT/Core/TArrayD/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}
module HROOT.Core.TArrayD.FFI where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import HROOT.Core.TArrayD.RawType
import HROOT.Core.TArrayD.RawType

foreign import ccall interruptible
               "HROOTCoreTArrayD.h TArrayD_GetAt" c_tarrayd_getat ::
               Ptr RawTArrayD -> CInt -> IO CDouble

foreign import ccall interruptible
               "HROOTCoreTArrayD.h TArrayD_SetArray" c_tarrayd_setarray ::
               Ptr RawTArrayD -> CInt -> IO ()

foreign import ccall interruptible
               "HROOTCoreTArrayD.h TArrayD_SetAt" c_tarrayd_setat ::
               Ptr RawTArrayD -> CDouble -> CInt -> IO ()

foreign import ccall interruptible
               "HROOTCoreTArrayD.h TArrayD_delete" c_tarrayd_delete ::
               Ptr RawTArrayD -> IO ()

foreign import ccall interruptible
               "HROOTCoreTArrayD.h TArrayD_tArrayD_At" c_tarrayd_tarrayd_at ::
               Ptr RawTArrayD -> CInt -> IO CDouble

foreign import ccall interruptible
               "HROOTCoreTArrayD.h TArrayD_tArrayD_GetArray"
               c_tarrayd_tarrayd_getarray :: Ptr RawTArrayD -> IO (Ptr CDouble)