{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Double.TensorRandom where
import Foreign
import Foreign.C.Types
import Data.Word
import Data.Int
import Torch.Types.TH
import Torch.Types.THC
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_uniform"
  c_uniform :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_rand"
  c_rand :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_randn"
  c_randn :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_normal"
  c_normal :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_normal_means"
  c_normal_means :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_normal_stddevs"
  c_normal_stddevs :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_normal_means_stddevs"
  c_normal_means_stddevs :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_logNormal"
  c_logNormal :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_exponential"
  c_exponential :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_cauchy"
  c_cauchy :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_multinomial"
  c_multinomial :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_multinomialAliasSetup"
  c_multinomialAliasSetup :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_multinomialAliasDraw"
  c_multinomialAliasDraw :: Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_random"
  c_random :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_clampedRandom"
  c_clampedRandom :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_cappedRandom"
  c_cappedRandom :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_bernoulli"
  c_bernoulli :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_bernoulli_DoubleTensor"
  c_bernoulli_DoubleTensor :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorRandom.h THCudaDoubleTensor_geometric"
  c_geometric :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ()
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_uniform"
  p_uniform :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_rand"
  p_rand :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_randn"
  p_randn :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_normal"
  p_normal :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_normal_means"
  p_normal_means :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_normal_stddevs"
  p_normal_stddevs :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_normal_means_stddevs"
  p_normal_means_stddevs :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_logNormal"
  p_logNormal :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_exponential"
  p_exponential :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_cauchy"
  p_cauchy :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> CDouble -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_multinomial"
  p_multinomial :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CInt -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_multinomialAliasSetup"
  p_multinomialAliasSetup :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_multinomialAliasDraw"
  p_multinomialAliasDraw :: FunPtr (Ptr C'THCState -> Ptr C'THCudaLongTensor -> Ptr C'THCudaLongTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_random"
  p_random :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_clampedRandom"
  p_clampedRandom :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_cappedRandom"
  p_cappedRandom :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_bernoulli"
  p_bernoulli :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_bernoulli_DoubleTensor"
  p_bernoulli_DoubleTensor :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorRandom.h &THCudaDoubleTensor_geometric"
  p_geometric :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CDouble -> IO ())