{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Double.TensorScatterGather where
import Foreign
import Foreign.C.Types
import Data.Word
import Data.Int
import Torch.Types.TH
import Torch.Types.THC
foreign import ccall "THCTensorScatterGather.h THCudaDoubleTensor_gather"
  c_gather :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaDoubleTensor_scatter"
  c_scatter :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaDoubleTensor_scatterAdd"
  c_scatterAdd :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaDoubleTensor_scatterFill"
  c_scatterFill :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> CDouble -> IO ()
foreign import ccall "THCTensorScatterGather.h &THCudaDoubleTensor_gather"
  p_gather :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaDoubleTensor_scatter"
  p_scatter :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaDoubleTensor_scatterAdd"
  p_scatterAdd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaDoubleTensor_scatterFill"
  p_scatterFill :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr C'THCudaLongTensor -> CDouble -> IO ())