{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Double.Tensor where
import Foreign
import Foreign.C.Types
import Data.Word
import Data.Int
import Torch.Types.TH
import Torch.Types.THC
foreign import ccall "THCTensor.h THCudaDoubleTensor_storage"
  c_storage :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCDoubleStorage)
foreign import ccall "THCTensor.h THCudaDoubleTensor_storageOffset"
  c_storageOffset :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CPtrdiff
foreign import ccall "THCTensor.h THCudaDoubleTensor_nDimension"
  c_nDimension :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaDoubleTensor_size"
  c_size :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> IO CLLong
foreign import ccall "THCTensor.h THCudaDoubleTensor_stride"
  c_stride :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> IO CLLong
foreign import ccall "THCTensor.h THCudaDoubleTensor_newSizeOf"
  c_newSizeOf :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THLongStorage)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newStrideOf"
  c_newStrideOf :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THLongStorage)
foreign import ccall "THCTensor.h THCudaDoubleTensor_data"
  c_data :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr CDouble)
foreign import ccall "THCTensor.h THCudaDoubleTensor_setFlag"
  c_setFlag :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CChar -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_clearFlag"
  c_clearFlag :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CChar -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_new"
  c_new :: Ptr C'THCState -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithTensor"
  c_newWithTensor :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithStorage"
  c_newWithStorage :: Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithStorage1d"
  c_newWithStorage1d :: Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithStorage2d"
  c_newWithStorage2d :: Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithStorage3d"
  c_newWithStorage3d :: Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithStorage4d"
  c_newWithStorage4d :: Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithSize"
  c_newWithSize :: Ptr C'THCState -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithSize1d"
  c_newWithSize1d :: Ptr C'THCState -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithSize2d"
  c_newWithSize2d :: Ptr C'THCState -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithSize3d"
  c_newWithSize3d :: Ptr C'THCState -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newWithSize4d"
  c_newWithSize4d :: Ptr C'THCState -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newClone"
  c_newClone :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newContiguous"
  c_newContiguous :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newSelect"
  c_newSelect :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newNarrow"
  c_newNarrow :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newTranspose"
  c_newTranspose :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CInt -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newUnfold"
  c_newUnfold :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newView"
  c_newView :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newFoldBatchDim"
  c_newFoldBatchDim :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_newExpand"
  c_newExpand :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor)
foreign import ccall "THCTensor.h THCudaDoubleTensor_expand"
  c_expand :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_expandNd"
  c_expandNd :: Ptr C'THCState -> Ptr (Ptr C'THCudaDoubleTensor) -> Ptr (Ptr C'THCudaDoubleTensor) -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resize"
  c_resize :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resizeAs"
  c_resizeAs :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resize1d"
  c_resize1d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resize2d"
  c_resize2d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resize3d"
  c_resize3d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resize4d"
  c_resize4d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resize5d"
  c_resize5d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_resizeNd"
  c_resizeNd :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_set"
  c_set :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_setStorage"
  c_setStorage :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_setStorageNd"
  c_setStorageNd :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_setStorage1d"
  c_setStorage1d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_setStorage2d"
  c_setStorage2d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_setStorage3d"
  c_setStorage3d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_setStorage4d"
  c_setStorage4d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_narrow"
  c_narrow :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_select"
  c_select :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_transpose"
  c_transpose :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_unfold"
  c_unfold :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_squeeze"
  c_squeeze :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_squeeze1d"
  c_squeeze1d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_unsqueeze1d"
  c_unsqueeze1d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_isContiguous"
  c_isContiguous :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaDoubleTensor_isSameSizeAs"
  c_isSameSizeAs :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaDoubleTensor_isSetTo"
  c_isSetTo :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaDoubleTensor_isSize"
  c_isSize :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO CInt
foreign import ccall "THCTensor.h THCudaDoubleTensor_nElement"
  c_nElement :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CPtrdiff
foreign import ccall "THCTensor.h THCudaDoubleTensor_retain"
  c_retain :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_free"
  c_free :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_freeCopyTo"
  c_freeCopyTo :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_set1d"
  c_set1d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CDouble -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_set2d"
  c_set2d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CDouble -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_set3d"
  c_set3d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CDouble -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_set4d"
  c_set4d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CDouble -> IO ()
foreign import ccall "THCTensor.h THCudaDoubleTensor_get1d"
  c_get1d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> IO CDouble
foreign import ccall "THCTensor.h THCudaDoubleTensor_get2d"
  c_get2d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> IO CDouble
foreign import ccall "THCTensor.h THCudaDoubleTensor_get3d"
  c_get3d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> IO CDouble
foreign import ccall "THCTensor.h THCudaDoubleTensor_get4d"
  c_get4d :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO CDouble
foreign import ccall "THCTensor.h THCudaDoubleTensor_getDevice"
  c_getDevice :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaDoubleTensor_sizeDesc"
  c_sizeDesc :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCDescBuff)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_storage"
  p_storage :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCDoubleStorage))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_storageOffset"
  p_storageOffset :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CPtrdiff)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_nDimension"
  p_nDimension :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_size"
  p_size :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> IO CLLong)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_stride"
  p_stride :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> IO CLLong)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newSizeOf"
  p_newSizeOf :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THLongStorage))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newStrideOf"
  p_newStrideOf :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THLongStorage))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_data"
  p_data :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr CDouble))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_setFlag"
  p_setFlag :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CChar -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_clearFlag"
  p_clearFlag :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CChar -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_new"
  p_new :: FunPtr (Ptr C'THCState -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithTensor"
  p_newWithTensor :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithStorage"
  p_newWithStorage :: FunPtr (Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithStorage1d"
  p_newWithStorage1d :: FunPtr (Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithStorage2d"
  p_newWithStorage2d :: FunPtr (Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithStorage3d"
  p_newWithStorage3d :: FunPtr (Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithStorage4d"
  p_newWithStorage4d :: FunPtr (Ptr C'THCState -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithSize"
  p_newWithSize :: FunPtr (Ptr C'THCState -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithSize1d"
  p_newWithSize1d :: FunPtr (Ptr C'THCState -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithSize2d"
  p_newWithSize2d :: FunPtr (Ptr C'THCState -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithSize3d"
  p_newWithSize3d :: FunPtr (Ptr C'THCState -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newWithSize4d"
  p_newWithSize4d :: FunPtr (Ptr C'THCState -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newClone"
  p_newClone :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newContiguous"
  p_newContiguous :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newSelect"
  p_newSelect :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newNarrow"
  p_newNarrow :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newTranspose"
  p_newTranspose :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CInt -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newUnfold"
  p_newUnfold :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newView"
  p_newView :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newFoldBatchDim"
  p_newFoldBatchDim :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_newExpand"
  p_newExpand :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaDoubleTensor))
foreign import ccall "THCTensor.h &THCudaDoubleTensor_expand"
  p_expand :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_expandNd"
  p_expandNd :: FunPtr (Ptr C'THCState -> Ptr (Ptr C'THCudaDoubleTensor) -> Ptr (Ptr C'THCudaDoubleTensor) -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resize"
  p_resize :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resizeAs"
  p_resizeAs :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resize1d"
  p_resize1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resize2d"
  p_resize2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resize3d"
  p_resize3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resize4d"
  p_resize4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resize5d"
  p_resize5d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_resizeNd"
  p_resizeNd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_set"
  p_set :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_setStorage"
  p_setStorage :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_setStorageNd"
  p_setStorageNd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_setStorage1d"
  p_setStorage1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_setStorage2d"
  p_setStorage2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_setStorage3d"
  p_setStorage3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_setStorage4d"
  p_setStorage4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCDoubleStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_narrow"
  p_narrow :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_select"
  p_select :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_transpose"
  p_transpose :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_unfold"
  p_unfold :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_squeeze"
  p_squeeze :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_squeeze1d"
  p_squeeze1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_unsqueeze1d"
  p_unsqueeze1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_isContiguous"
  p_isContiguous :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_isSameSizeAs"
  p_isSameSizeAs :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_isSetTo"
  p_isSetTo :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_isSize"
  p_isSize :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THLongStorage -> IO CInt)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_nElement"
  p_nElement :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CPtrdiff)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_retain"
  p_retain :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_free"
  p_free :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_freeCopyTo"
  p_freeCopyTo :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_set1d"
  p_set1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CDouble -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_set2d"
  p_set2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CDouble -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_set3d"
  p_set3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CDouble -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_set4d"
  p_set4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CDouble -> IO ())
foreign import ccall "THCTensor.h &THCudaDoubleTensor_get1d"
  p_get1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> IO CDouble)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_get2d"
  p_get2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> IO CDouble)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_get3d"
  p_get3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> IO CDouble)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_get4d"
  p_get4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO CDouble)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_getDevice"
  p_getDevice :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaDoubleTensor_sizeDesc"
  p_sizeDesc :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> IO (Ptr C'THCDescBuff))