{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Long.TensorMathReduce where
import Foreign
import Foreign.C.Types
import Data.Word
import Data.Int
import Torch.Types.TH
import Torch.Types.THC
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_sum"
  c_sum :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_prod"
  c_prod :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_sumall"
  c_sumall :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_prodall"
  c_prodall :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_min"
  c_min :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_max"
  c_max :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_minall"
  c_minall :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_maxall"
  c_maxall :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_medianall"
  c_medianall :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong
foreign import ccall "THCTensorMathReduce.h THCudaLongTensor_median"
  c_median :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_sum"
  p_sum :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ())
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_prod"
  p_prod :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ())
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_sumall"
  p_sumall :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong)
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_prodall"
  p_prodall :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong)
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_min"
  p_min :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ())
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_max"
  p_max :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ())
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_minall"
  p_minall :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong)
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_maxall"
  p_maxall :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong)
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_medianall"
  p_medianall :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> IO CLong)
foreign import ccall "THCTensorMathReduce.h &THCudaLongTensor_median"
  p_median :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> CInt -> CInt -> IO ())