{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Byte.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 THCudaByteTensor_storage"
  c_storage :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCByteStorage)
foreign import ccall "THCTensor.h THCudaByteTensor_storageOffset"
  c_storageOffset :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CPtrdiff
foreign import ccall "THCTensor.h THCudaByteTensor_nDimension"
  c_nDimension :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaByteTensor_size"
  c_size :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> IO CLLong
foreign import ccall "THCTensor.h THCudaByteTensor_stride"
  c_stride :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> IO CLLong
foreign import ccall "THCTensor.h THCudaByteTensor_newSizeOf"
  c_newSizeOf :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THLongStorage)
foreign import ccall "THCTensor.h THCudaByteTensor_newStrideOf"
  c_newStrideOf :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THLongStorage)
foreign import ccall "THCTensor.h THCudaByteTensor_data"
  c_data :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr CUChar)
foreign import ccall "THCTensor.h THCudaByteTensor_setFlag"
  c_setFlag :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CChar -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_clearFlag"
  c_clearFlag :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CChar -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_new"
  c_new :: Ptr C'THCState -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithTensor"
  c_newWithTensor :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithStorage"
  c_newWithStorage :: Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithStorage1d"
  c_newWithStorage1d :: Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithStorage2d"
  c_newWithStorage2d :: Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithStorage3d"
  c_newWithStorage3d :: Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithStorage4d"
  c_newWithStorage4d :: Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithSize"
  c_newWithSize :: Ptr C'THCState -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithSize1d"
  c_newWithSize1d :: Ptr C'THCState -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithSize2d"
  c_newWithSize2d :: Ptr C'THCState -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithSize3d"
  c_newWithSize3d :: Ptr C'THCState -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newWithSize4d"
  c_newWithSize4d :: Ptr C'THCState -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newClone"
  c_newClone :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newContiguous"
  c_newContiguous :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newSelect"
  c_newSelect :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newNarrow"
  c_newNarrow :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newTranspose"
  c_newTranspose :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CInt -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newUnfold"
  c_newUnfold :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newView"
  c_newView :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newFoldBatchDim"
  c_newFoldBatchDim :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_newExpand"
  c_newExpand :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor)
foreign import ccall "THCTensor.h THCudaByteTensor_expand"
  c_expand :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_expandNd"
  c_expandNd :: Ptr C'THCState -> Ptr (Ptr C'THCudaByteTensor) -> Ptr (Ptr C'THCudaByteTensor) -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resize"
  c_resize :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resizeAs"
  c_resizeAs :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resize1d"
  c_resize1d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resize2d"
  c_resize2d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resize3d"
  c_resize3d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resize4d"
  c_resize4d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resize5d"
  c_resize5d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_resizeNd"
  c_resizeNd :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_set"
  c_set :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_setStorage"
  c_setStorage :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_setStorageNd"
  c_setStorageNd :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_setStorage1d"
  c_setStorage1d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_setStorage2d"
  c_setStorage2d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_setStorage3d"
  c_setStorage3d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_setStorage4d"
  c_setStorage4d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_narrow"
  c_narrow :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_select"
  c_select :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_transpose"
  c_transpose :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_unfold"
  c_unfold :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_squeeze"
  c_squeeze :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_squeeze1d"
  c_squeeze1d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_unsqueeze1d"
  c_unsqueeze1d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_isContiguous"
  c_isContiguous :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaByteTensor_isSameSizeAs"
  c_isSameSizeAs :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaByteTensor_isSetTo"
  c_isSetTo :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaByteTensor_isSize"
  c_isSize :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO CInt
foreign import ccall "THCTensor.h THCudaByteTensor_nElement"
  c_nElement :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CPtrdiff
foreign import ccall "THCTensor.h THCudaByteTensor_retain"
  c_retain :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_free"
  c_free :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_freeCopyTo"
  c_freeCopyTo :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_set1d"
  c_set1d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CUChar -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_set2d"
  c_set2d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CUChar -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_set3d"
  c_set3d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CUChar -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_set4d"
  c_set4d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CUChar -> IO ()
foreign import ccall "THCTensor.h THCudaByteTensor_get1d"
  c_get1d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> IO CUChar
foreign import ccall "THCTensor.h THCudaByteTensor_get2d"
  c_get2d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> IO CUChar
foreign import ccall "THCTensor.h THCudaByteTensor_get3d"
  c_get3d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> IO CUChar
foreign import ccall "THCTensor.h THCudaByteTensor_get4d"
  c_get4d :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO CUChar
foreign import ccall "THCTensor.h THCudaByteTensor_getDevice"
  c_getDevice :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CInt
foreign import ccall "THCTensor.h THCudaByteTensor_sizeDesc"
  c_sizeDesc :: Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCDescBuff)
foreign import ccall "THCTensor.h &THCudaByteTensor_storage"
  p_storage :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCByteStorage))
foreign import ccall "THCTensor.h &THCudaByteTensor_storageOffset"
  p_storageOffset :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CPtrdiff)
foreign import ccall "THCTensor.h &THCudaByteTensor_nDimension"
  p_nDimension :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaByteTensor_size"
  p_size :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> IO CLLong)
foreign import ccall "THCTensor.h &THCudaByteTensor_stride"
  p_stride :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> IO CLLong)
foreign import ccall "THCTensor.h &THCudaByteTensor_newSizeOf"
  p_newSizeOf :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THLongStorage))
foreign import ccall "THCTensor.h &THCudaByteTensor_newStrideOf"
  p_newStrideOf :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THLongStorage))
foreign import ccall "THCTensor.h &THCudaByteTensor_data"
  p_data :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr CUChar))
foreign import ccall "THCTensor.h &THCudaByteTensor_setFlag"
  p_setFlag :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CChar -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_clearFlag"
  p_clearFlag :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CChar -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_new"
  p_new :: FunPtr (Ptr C'THCState -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithTensor"
  p_newWithTensor :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithStorage"
  p_newWithStorage :: FunPtr (Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithStorage1d"
  p_newWithStorage1d :: FunPtr (Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithStorage2d"
  p_newWithStorage2d :: FunPtr (Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithStorage3d"
  p_newWithStorage3d :: FunPtr (Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithStorage4d"
  p_newWithStorage4d :: FunPtr (Ptr C'THCState -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithSize"
  p_newWithSize :: FunPtr (Ptr C'THCState -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithSize1d"
  p_newWithSize1d :: FunPtr (Ptr C'THCState -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithSize2d"
  p_newWithSize2d :: FunPtr (Ptr C'THCState -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithSize3d"
  p_newWithSize3d :: FunPtr (Ptr C'THCState -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newWithSize4d"
  p_newWithSize4d :: FunPtr (Ptr C'THCState -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newClone"
  p_newClone :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newContiguous"
  p_newContiguous :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newSelect"
  p_newSelect :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newNarrow"
  p_newNarrow :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newTranspose"
  p_newTranspose :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CInt -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newUnfold"
  p_newUnfold :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newView"
  p_newView :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newFoldBatchDim"
  p_newFoldBatchDim :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_newExpand"
  p_newExpand :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO (Ptr C'THCudaByteTensor))
foreign import ccall "THCTensor.h &THCudaByteTensor_expand"
  p_expand :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_expandNd"
  p_expandNd :: FunPtr (Ptr C'THCState -> Ptr (Ptr C'THCudaByteTensor) -> Ptr (Ptr C'THCudaByteTensor) -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resize"
  p_resize :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resizeAs"
  p_resizeAs :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resize1d"
  p_resize1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resize2d"
  p_resize2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resize3d"
  p_resize3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resize4d"
  p_resize4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resize5d"
  p_resize5d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_resizeNd"
  p_resizeNd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_set"
  p_set :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_setStorage"
  p_setStorage :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> Ptr C'THLongStorage -> Ptr C'THLongStorage -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_setStorageNd"
  p_setStorageNd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CInt -> Ptr CLLong -> Ptr CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_setStorage1d"
  p_setStorage1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_setStorage2d"
  p_setStorage2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_setStorage3d"
  p_setStorage3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_setStorage4d"
  p_setStorage4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCByteStorage -> CPtrdiff -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_narrow"
  p_narrow :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_select"
  p_select :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_transpose"
  p_transpose :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_unfold"
  p_unfold :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> CLLong -> CLLong -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_squeeze"
  p_squeeze :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_squeeze1d"
  p_squeeze1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_unsqueeze1d"
  p_unsqueeze1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> CInt -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_isContiguous"
  p_isContiguous :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaByteTensor_isSameSizeAs"
  p_isSameSizeAs :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaByteTensor_isSetTo"
  p_isSetTo :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaByteTensor_isSize"
  p_isSize :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THLongStorage -> IO CInt)
foreign import ccall "THCTensor.h &THCudaByteTensor_nElement"
  p_nElement :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CPtrdiff)
foreign import ccall "THCTensor.h &THCudaByteTensor_retain"
  p_retain :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_free"
  p_free :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_freeCopyTo"
  p_freeCopyTo :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> Ptr C'THCudaByteTensor -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_set1d"
  p_set1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CUChar -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_set2d"
  p_set2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CUChar -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_set3d"
  p_set3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CUChar -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_set4d"
  p_set4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> CUChar -> IO ())
foreign import ccall "THCTensor.h &THCudaByteTensor_get1d"
  p_get1d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> IO CUChar)
foreign import ccall "THCTensor.h &THCudaByteTensor_get2d"
  p_get2d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> IO CUChar)
foreign import ccall "THCTensor.h &THCudaByteTensor_get3d"
  p_get3d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> IO CUChar)
foreign import ccall "THCTensor.h &THCudaByteTensor_get4d"
  p_get4d :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> CLLong -> CLLong -> CLLong -> CLLong -> IO CUChar)
foreign import ccall "THCTensor.h &THCudaByteTensor_getDevice"
  p_getDevice :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO CInt)
foreign import ccall "THCTensor.h &THCudaByteTensor_sizeDesc"
  p_sizeDesc :: FunPtr (Ptr C'THCState -> Ptr C'THCudaByteTensor -> IO (Ptr C'THCDescBuff))