{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Int.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 THCudaIntTensor_gather"
  c_gather :: Ptr C'THCState -> Ptr C'THCudaIntTensor -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaIntTensor_scatter"
  c_scatter :: Ptr C'THCState -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaIntTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaIntTensor_scatterAdd"
  c_scatterAdd :: Ptr C'THCState -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaIntTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaIntTensor_scatterFill"
  c_scatterFill :: Ptr C'THCState -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> CInt -> IO ()
foreign import ccall "THCTensorScatterGather.h &THCudaIntTensor_gather"
  p_gather :: FunPtr (Ptr C'THCState -> Ptr C'THCudaIntTensor -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaIntTensor_scatter"
  p_scatter :: FunPtr (Ptr C'THCState -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaIntTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaIntTensor_scatterAdd"
  p_scatterAdd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaIntTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaIntTensor_scatterFill"
  p_scatterFill :: FunPtr (Ptr C'THCState -> Ptr C'THCudaIntTensor -> CInt -> Ptr C'THCudaLongTensor -> CInt -> IO ())