{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Byte.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 THCudaByteTensor_gather"
  c_gather :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaByteTensor_scatter"
  c_scatter :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaByteTensor_scatterAdd"
  c_scatterAdd :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensorScatterGather.h THCudaByteTensor_scatterFill"
  c_scatterFill :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> CUChar -> IO ()
foreign import ccall "THCTensorScatterGather.h &THCudaByteTensor_gather"
  p_gather :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaByteTensor_scatter"
  p_scatter :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaByteTensor_scatterAdd"
  p_scatterAdd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensorScatterGather.h &THCudaByteTensor_scatterFill"
  p_scatterFill :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr C'THCudaLongTensor -> CUChar -> IO ())