
-- generated by using spec/Declarations.yaml

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}

module Torch.Internal.Managed.Native.Native1 where


import Foreign.C.String
import Foreign.C.Types
import Foreign
import Torch.Internal.Type
import Torch.Internal.Class
import Torch.Internal.Cast
import Torch.Internal.Objects
import qualified Torch.Internal.Unmanaged.Native.Native1 as Unmanaged


block_diag_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
block_diag_l = _cast1 Unmanaged.block_diag_l

ceil_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ceil_t = _cast1 Unmanaged.ceil_t

ceil__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ceil__t = _cast1 Unmanaged.ceil__t

ceil_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ceil_out_tt = _cast2 Unmanaged.ceil_out_tt

chain_matmul_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
chain_matmul_l = _cast1 Unmanaged.chain_matmul_l

chain_matmul_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
chain_matmul_out_tl = _cast2 Unmanaged.chain_matmul_out_tl

unsafe_chunk_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr TensorList)
unsafe_chunk_tll = _cast3 Unmanaged.unsafe_chunk_tll

unsafe_chunk_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr TensorList)
unsafe_chunk_tl = _cast2 Unmanaged.unsafe_chunk_tl

chunk_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr TensorList)
chunk_tll = _cast3 Unmanaged.chunk_tll

chunk_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr TensorList)
chunk_tl = _cast2 Unmanaged.chunk_tl

tensor_split_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr TensorList)
tensor_split_tll = _cast3 Unmanaged.tensor_split_tll

tensor_split_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr TensorList)
tensor_split_tl = _cast2 Unmanaged.tensor_split_tl

tensor_split_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr TensorList)
tensor_split_ttl = _cast3 Unmanaged.tensor_split_ttl

tensor_split_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr TensorList)
tensor_split_tt = _cast2 Unmanaged.tensor_split_tt

clamp_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_tss = _cast3 Unmanaged.clamp_tss

clamp_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_ts = _cast2 Unmanaged.clamp_ts

clamp_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_t = _cast1 Unmanaged.clamp_t

clamp_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_ttt = _cast3 Unmanaged.clamp_ttt

clamp_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_tt = _cast2 Unmanaged.clamp_tt

clamp__tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp__tss = _cast3 Unmanaged.clamp__tss

clamp__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp__ts = _cast2 Unmanaged.clamp__ts

clamp__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp__t = _cast1 Unmanaged.clamp__t

clamp__ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp__ttt = _cast3 Unmanaged.clamp__ttt

clamp__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp__tt = _cast2 Unmanaged.clamp__tt

clamp_out_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_out_ttss = _cast4 Unmanaged.clamp_out_ttss

clamp_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_out_tts = _cast3 Unmanaged.clamp_out_tts

clamp_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_out_tt = _cast2 Unmanaged.clamp_out_tt

clamp_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_out_tttt = _cast4 Unmanaged.clamp_out_tttt

clamp_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_out_ttt = _cast3 Unmanaged.clamp_out_ttt

clamp_max_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_max_ts = _cast2 Unmanaged.clamp_max_ts

clamp_max_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_max_tt = _cast2 Unmanaged.clamp_max_tt

clamp_max__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_max__ts = _cast2 Unmanaged.clamp_max__ts

clamp_max__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_max__tt = _cast2 Unmanaged.clamp_max__tt

clamp_max_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_max_out_tts = _cast3 Unmanaged.clamp_max_out_tts

clamp_max_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_max_out_ttt = _cast3 Unmanaged.clamp_max_out_ttt

clamp_min_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_min_ts = _cast2 Unmanaged.clamp_min_ts

clamp_min_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_min_tt = _cast2 Unmanaged.clamp_min_tt

clamp_min__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_min__ts = _cast2 Unmanaged.clamp_min__ts

clamp_min__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_min__tt = _cast2 Unmanaged.clamp_min__tt

clamp_min_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_min_out_tts = _cast3 Unmanaged.clamp_min_out_tts

clamp_min_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_min_out_ttt = _cast3 Unmanaged.clamp_min_out_ttt

clip_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clip_tss = _cast3 Unmanaged.clip_tss

clip_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clip_ts = _cast2 Unmanaged.clip_ts

clip_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip_t = _cast1 Unmanaged.clip_t

clip_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip_ttt = _cast3 Unmanaged.clip_ttt

clip_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip_tt = _cast2 Unmanaged.clip_tt

clip__tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clip__tss = _cast3 Unmanaged.clip__tss

clip__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clip__ts = _cast2 Unmanaged.clip__ts

clip__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip__t = _cast1 Unmanaged.clip__t

clip__ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip__ttt = _cast3 Unmanaged.clip__ttt

clip__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip__tt = _cast2 Unmanaged.clip__tt

clip_out_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clip_out_ttss = _cast4 Unmanaged.clip_out_ttss

clip_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clip_out_tts = _cast3 Unmanaged.clip_out_tts

clip_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip_out_tt = _cast2 Unmanaged.clip_out_tt

clip_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip_out_tttt = _cast4 Unmanaged.clip_out_tttt

clip_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clip_out_ttt = _cast3 Unmanaged.clip_out_ttt

cudnn_is_acceptable_t
  :: ForeignPtr Tensor
  -> IO (CBool)
cudnn_is_acceptable_t = _cast1 Unmanaged.cudnn_is_acceptable_t

complex_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
complex_tt = _cast2 Unmanaged.complex_tt

complex_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
complex_out_ttt = _cast3 Unmanaged.complex_out_ttt

polar_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
polar_tt = _cast2 Unmanaged.polar_tt

polar_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
polar_out_ttt = _cast3 Unmanaged.polar_out_ttt

constant_pad_nd_tls
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
constant_pad_nd_tls = _cast3 Unmanaged.constant_pad_nd_tls

constant_pad_nd_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
constant_pad_nd_tl = _cast2 Unmanaged.constant_pad_nd_tl

convolution_tttlllbll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
convolution_tttlllbll = _cast9 Unmanaged.convolution_tttlllbll

convolution_backward_tttllllblla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
convolution_backward_tttllllblla = _cast11 Unmanaged.convolution_backward_tttllllblla

convolution_overrideable_tttlllbll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
convolution_overrideable_tttlllbll = _cast9 Unmanaged.convolution_overrideable_tttlllbll

convolution_backward_overrideable_tttlllblla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
convolution_backward_overrideable_tttlllblla = _cast10 Unmanaged.convolution_backward_overrideable_tttlllblla

_convolution_tttlllbllbbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
_convolution_tttlllbllbbbb = _cast13 Unmanaged._convolution_tttlllbllbbbb

_convolution_tttlllbllbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
_convolution_tttlllbllbbb = _cast12 Unmanaged._convolution_tttlllbllbbb

_convolution_mode_tttlsll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
_convolution_mode_tttlsll = _cast7 Unmanaged._convolution_mode_tttlsll

_convolution_double_backward_ttttttlllblla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_convolution_double_backward_ttttttlllblla = _cast13 Unmanaged._convolution_double_backward_ttttttlllblla

conv1d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv1d_tttllll = _cast7 Unmanaged.conv1d_tttllll

conv1d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv1d_tttlll = _cast6 Unmanaged.conv1d_tttlll

conv1d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv1d_tttll = _cast5 Unmanaged.conv1d_tttll

conv1d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv1d_tttl = _cast4 Unmanaged.conv1d_tttl

conv1d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv1d_ttt = _cast3 Unmanaged.conv1d_ttt

conv1d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv1d_tt = _cast2 Unmanaged.conv1d_tt

conv2d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv2d_tttllll = _cast7 Unmanaged.conv2d_tttllll

conv2d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv2d_tttlll = _cast6 Unmanaged.conv2d_tttlll

conv2d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv2d_tttll = _cast5 Unmanaged.conv2d_tttll

conv2d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv2d_tttl = _cast4 Unmanaged.conv2d_tttl

conv2d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv2d_ttt = _cast3 Unmanaged.conv2d_ttt

conv2d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv2d_tt = _cast2 Unmanaged.conv2d_tt

conv3d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv3d_tttllll = _cast7 Unmanaged.conv3d_tttllll

conv3d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv3d_tttlll = _cast6 Unmanaged.conv3d_tttlll

conv3d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv3d_tttll = _cast5 Unmanaged.conv3d_tttll

conv3d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv3d_tttl = _cast4 Unmanaged.conv3d_tttl

conv3d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv3d_ttt = _cast3 Unmanaged.conv3d_ttt

conv3d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv3d_tt = _cast2 Unmanaged.conv3d_tt

conv1d_tttlsll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv1d_tttlsll = _cast7 Unmanaged.conv1d_tttlsll

conv1d_tttlsl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv1d_tttlsl = _cast6 Unmanaged.conv1d_tttlsl

conv1d_tttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
conv1d_tttls = _cast5 Unmanaged.conv1d_tttls

conv2d_tttlsll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv2d_tttlsll = _cast7 Unmanaged.conv2d_tttlsll

conv2d_tttlsl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv2d_tttlsl = _cast6 Unmanaged.conv2d_tttlsl

conv2d_tttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
conv2d_tttls = _cast5 Unmanaged.conv2d_tttls

conv3d_tttlsll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv3d_tttlsll = _cast7 Unmanaged.conv3d_tttlsll

conv3d_tttlsl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv3d_tttlsl = _cast6 Unmanaged.conv3d_tttlsl

conv3d_tttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
conv3d_tttls = _cast5 Unmanaged.conv3d_tttls

conv_tbc_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_tbc_tttl = _cast4 Unmanaged.conv_tbc_tttl

conv_tbc_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_tbc_ttt = _cast3 Unmanaged.conv_tbc_ttt

conv_tbc_backward_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
conv_tbc_backward_ttttl = _cast5 Unmanaged.conv_tbc_backward_ttttl

conv_transpose1d_tttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttlllll = _cast8 Unmanaged.conv_transpose1d_tttlllll

conv_transpose1d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttllll = _cast7 Unmanaged.conv_transpose1d_tttllll

conv_transpose1d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttlll = _cast6 Unmanaged.conv_transpose1d_tttlll

conv_transpose1d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttll = _cast5 Unmanaged.conv_transpose1d_tttll

conv_transpose1d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttl = _cast4 Unmanaged.conv_transpose1d_tttl

conv_transpose1d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose1d_ttt = _cast3 Unmanaged.conv_transpose1d_ttt

conv_transpose1d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tt = _cast2 Unmanaged.conv_transpose1d_tt

conv_transpose2d_tttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttlllll = _cast8 Unmanaged.conv_transpose2d_tttlllll

conv_transpose2d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttllll = _cast7 Unmanaged.conv_transpose2d_tttllll

conv_transpose2d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttlll = _cast6 Unmanaged.conv_transpose2d_tttlll

conv_transpose2d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttll = _cast5 Unmanaged.conv_transpose2d_tttll

conv_transpose2d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttl = _cast4 Unmanaged.conv_transpose2d_tttl

conv_transpose2d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose2d_ttt = _cast3 Unmanaged.conv_transpose2d_ttt

conv_transpose2d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tt = _cast2 Unmanaged.conv_transpose2d_tt

conv_transpose3d_tttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttlllll = _cast8 Unmanaged.conv_transpose3d_tttlllll

conv_transpose3d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttllll = _cast7 Unmanaged.conv_transpose3d_tttllll

conv_transpose3d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttlll = _cast6 Unmanaged.conv_transpose3d_tttlll

conv_transpose3d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttll = _cast5 Unmanaged.conv_transpose3d_tttll

conv_transpose3d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttl = _cast4 Unmanaged.conv_transpose3d_tttl

conv_transpose3d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose3d_ttt = _cast3 Unmanaged.conv_transpose3d_ttt

conv_transpose3d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tt = _cast2 Unmanaged.conv_transpose3d_tt

copy_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
copy_ttb = _cast3 Unmanaged.copy_ttb

copy_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
copy_tt = _cast2 Unmanaged.copy_tt

_copy_from_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_copy_from_ttb = _cast3 Unmanaged._copy_from_ttb

_copy_from_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_copy_from_tt = _cast2 Unmanaged._copy_from_tt

_copy_from_and_resize_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_copy_from_and_resize_tt = _cast2 Unmanaged._copy_from_and_resize_tt

cos_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cos_t = _cast1 Unmanaged.cos_t

cos__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cos__t = _cast1 Unmanaged.cos__t

cos_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cos_out_tt = _cast2 Unmanaged.cos_out_tt

cosh_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosh_t = _cast1 Unmanaged.cosh_t

cosh__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosh__t = _cast1 Unmanaged.cosh__t

cosh_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosh_out_tt = _cast2 Unmanaged.cosh_out_tt

cosine_embedding_loss_tttdl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
cosine_embedding_loss_tttdl = _cast5 Unmanaged.cosine_embedding_loss_tttdl

cosine_embedding_loss_tttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
cosine_embedding_loss_tttd = _cast4 Unmanaged.cosine_embedding_loss_tttd

cosine_embedding_loss_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosine_embedding_loss_ttt = _cast3 Unmanaged.cosine_embedding_loss_ttt

count_nonzero_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
count_nonzero_tl = _cast2 Unmanaged.count_nonzero_tl

count_nonzero_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
count_nonzero_t = _cast1 Unmanaged.count_nonzero_t

cov_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cov_tltt = _cast4 Unmanaged.cov_tltt

cov_tlt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cov_tlt = _cast3 Unmanaged.cov_tlt

cov_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cov_tl = _cast2 Unmanaged.cov_tl

cov_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cov_t = _cast1 Unmanaged.cov_t

corrcoef_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
corrcoef_t = _cast1 Unmanaged.corrcoef_t

cudnn_affine_grid_generator_tllll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
cudnn_affine_grid_generator_tllll = _cast5 Unmanaged.cudnn_affine_grid_generator_tllll

cudnn_affine_grid_generator_backward_tllll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
cudnn_affine_grid_generator_backward_tllll = _cast5 Unmanaged.cudnn_affine_grid_generator_backward_tllll

cudnn_batch_norm_tttttbdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
cudnn_batch_norm_tttttbdd = _cast8 Unmanaged.cudnn_batch_norm_tttttbdd

cudnn_batch_norm_backward_tttttttdt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
cudnn_batch_norm_backward_tttttttdt = _cast9 Unmanaged.cudnn_batch_norm_backward_tttttttdt

cudnn_convolution_ttllllbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_ttllllbbb = _cast9 Unmanaged.cudnn_convolution_ttllllbbb

cudnn_convolution_transpose_ttlllllbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_transpose_ttlllllbbb = _cast10 Unmanaged.cudnn_convolution_transpose_ttlllllbbb

_mps_convolution_transpose_ttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
_mps_convolution_transpose_ttlllll = _cast7 Unmanaged._mps_convolution_transpose_ttlllll

mps_convolution_transpose_backward_tttllllla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr (StdArray '(CBool,2))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mps_convolution_transpose_backward_tttllllla = _cast9 Unmanaged.mps_convolution_transpose_backward_tttllllla

cudnn_convolution_relu_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
cudnn_convolution_relu_tttllll = _cast7 Unmanaged.cudnn_convolution_relu_tttllll

cudnn_convolution_add_relu_tttstllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
cudnn_convolution_add_relu_tttstllll = _cast9 Unmanaged.cudnn_convolution_add_relu_tttstllll

cudnn_grid_sampler_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cudnn_grid_sampler_tt = _cast2 Unmanaged.cudnn_grid_sampler_tt

cudnn_grid_sampler_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cudnn_grid_sampler_backward_ttt = _cast3 Unmanaged.cudnn_grid_sampler_backward_ttt

cummax_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummax_tl = _cast2 Unmanaged.cummax_tl

cummax_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummax_out_tttl = _cast4 Unmanaged.cummax_out_tttl

cummax_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummax_tn = _cast2 Unmanaged.cummax_tn

cummax_out_tttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummax_out_tttn = _cast4 Unmanaged.cummax_out_tttn

_cummax_helper_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (())
_cummax_helper_tttl = _cast4 Unmanaged._cummax_helper_tttl

cummin_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummin_tl = _cast2 Unmanaged.cummin_tl

cummin_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummin_out_tttl = _cast4 Unmanaged.cummin_out_tttl

cummin_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummin_tn = _cast2 Unmanaged.cummin_tn

cummin_out_tttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cummin_out_tttn = _cast4 Unmanaged.cummin_out_tttn

_cummin_helper_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (())
_cummin_helper_tttl = _cast4 Unmanaged._cummin_helper_tttl

cummaxmin_backward_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cummaxmin_backward_tttl = _cast4 Unmanaged.cummaxmin_backward_tttl

cumprod_tls
  :: ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_tls = _cast3 Unmanaged.cumprod_tls

cumprod_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumprod_tl = _cast2 Unmanaged.cumprod_tl

cumprod_out_ttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_out_ttls = _cast4 Unmanaged.cumprod_out_ttls

cumprod_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumprod_out_ttl = _cast3 Unmanaged.cumprod_out_ttl

cumprod_tns
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_tns = _cast3 Unmanaged.cumprod_tns

cumprod_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumprod_tn = _cast2 Unmanaged.cumprod_tn

cumprod_out_ttns
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_out_ttns = _cast4 Unmanaged.cumprod_out_ttns

cumprod_out_ttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumprod_out_ttn = _cast3 Unmanaged.cumprod_out_ttn

cumprod_backward_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cumprod_backward_ttlt = _cast4 Unmanaged.cumprod_backward_ttlt

cumsum_tls
  :: ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_tls = _cast3 Unmanaged.cumsum_tls

cumsum_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumsum_tl = _cast2 Unmanaged.cumsum_tl

cumsum_out_ttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_out_ttls = _cast4 Unmanaged.cumsum_out_ttls

cumsum_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumsum_out_ttl = _cast3 Unmanaged.cumsum_out_ttl

cumsum_tns
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_tns = _cast3 Unmanaged.cumsum_tns

cumsum_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumsum_tn = _cast2 Unmanaged.cumsum_tn

cumsum_out_ttns
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_out_ttns = _cast4 Unmanaged.cumsum_out_ttns

cumsum_out_ttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumsum_out_ttn = _cast3 Unmanaged.cumsum_out_ttn

cumulative_trapezoid_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumulative_trapezoid_ttl = _cast3 Unmanaged.cumulative_trapezoid_ttl

cumulative_trapezoid_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cumulative_trapezoid_tt = _cast2 Unmanaged.cumulative_trapezoid_tt

cumulative_trapezoid_tsl
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> Int64
  -> IO (ForeignPtr Tensor)
cumulative_trapezoid_tsl = _cast3 Unmanaged.cumulative_trapezoid_tsl

cumulative_trapezoid_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
cumulative_trapezoid_ts = _cast2 Unmanaged.cumulative_trapezoid_ts

cumulative_trapezoid_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cumulative_trapezoid_t = _cast1 Unmanaged.cumulative_trapezoid_t

ctc_loss_ttllllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
ctc_loss_ttllllb = _cast7 Unmanaged.ctc_loss_ttllllb

ctc_loss_ttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttllll = _cast6 Unmanaged.ctc_loss_ttllll

ctc_loss_ttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttlll = _cast5 Unmanaged.ctc_loss_ttlll

ctc_loss_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
ctc_loss_ttll = _cast4 Unmanaged.ctc_loss_ttll

ctc_loss_ttttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
ctc_loss_ttttllb = _cast7 Unmanaged.ctc_loss_ttttllb

ctc_loss_ttttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttttll = _cast6 Unmanaged.ctc_loss_ttttll

ctc_loss_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttttl = _cast5 Unmanaged.ctc_loss_ttttl

ctc_loss_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ctc_loss_tttt = _cast4 Unmanaged.ctc_loss_tttt

_ctc_loss_ttlllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttlllb = _cast6 Unmanaged._ctc_loss_ttlllb

_ctc_loss_ttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttlll = _cast5 Unmanaged._ctc_loss_ttlll

_ctc_loss_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttll = _cast4 Unmanaged._ctc_loss_ttll

_ctc_loss_ttttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttttlb = _cast6 Unmanaged._ctc_loss_ttttlb

_ctc_loss_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttttl = _cast5 Unmanaged._ctc_loss_ttttl

_ctc_loss_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_tttt = _cast4 Unmanaged._ctc_loss_tttt

_ctc_loss_backward_tttllttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
_ctc_loss_backward_tttllttlb = _cast9 Unmanaged._ctc_loss_backward_tttllttlb

_ctc_loss_backward_tttllttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_ctc_loss_backward_tttllttl = _cast8 Unmanaged._ctc_loss_backward_tttllttl

_ctc_loss_backward_tttttttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
_ctc_loss_backward_tttttttlb = _cast9 Unmanaged._ctc_loss_backward_tttttttlb

_ctc_loss_backward_tttttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_ctc_loss_backward_tttttttl = _cast8 Unmanaged._ctc_loss_backward_tttttttl

diag_embed_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_embed_tlll = _cast4 Unmanaged.diag_embed_tlll

diag_embed_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_embed_tll = _cast3 Unmanaged.diag_embed_tll

diag_embed_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_embed_tl = _cast2 Unmanaged.diag_embed_tl

diag_embed_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diag_embed_t = _cast1 Unmanaged.diag_embed_t

diagflat_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diagflat_tl = _cast2 Unmanaged.diagflat_tl

diagflat_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diagflat_t = _cast1 Unmanaged.diagflat_t

diagonal_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_tlll = _cast4 Unmanaged.diagonal_tlll

diagonal_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_tll = _cast3 Unmanaged.diagonal_tll

diagonal_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_tl = _cast2 Unmanaged.diagonal_tl

diagonal_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diagonal_t = _cast1 Unmanaged.diagonal_t

linalg_diagonal_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
linalg_diagonal_tlll = _cast4 Unmanaged.linalg_diagonal_tlll

linalg_diagonal_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
linalg_diagonal_tll = _cast3 Unmanaged.linalg_diagonal_tll

linalg_diagonal_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
linalg_diagonal_tl = _cast2 Unmanaged.linalg_diagonal_tl

linalg_diagonal_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
linalg_diagonal_t = _cast1 Unmanaged.linalg_diagonal_t

diagonal_tnnnl
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Dimname
  -> ForeignPtr Dimname
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_tnnnl = _cast5 Unmanaged.diagonal_tnnnl

diagonal_tnnn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Dimname
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
diagonal_tnnn = _cast4 Unmanaged.diagonal_tnnn

diagonal_backward_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_backward_tllll = _cast5 Unmanaged.diagonal_backward_tllll

diff_tlltt
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diff_tlltt = _cast5 Unmanaged.diff_tlltt

diff_tllt
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diff_tllt = _cast4 Unmanaged.diff_tllt

diff_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diff_tll = _cast3 Unmanaged.diff_tll

diff_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diff_tl = _cast2 Unmanaged.diff_tl

diff_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diff_t = _cast1 Unmanaged.diff_t

diff_out_ttlltt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diff_out_ttlltt = _cast6 Unmanaged.diff_out_ttlltt

diff_out_ttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diff_out_ttllt = _cast5 Unmanaged.diff_out_ttllt

diff_out_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diff_out_ttll = _cast4 Unmanaged.diff_out_ttll

diff_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diff_out_ttl = _cast3 Unmanaged.diff_out_ttl

diff_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diff_out_tt = _cast2 Unmanaged.diff_out_tt

gradient_tsll
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> Int64
  -> Int64
  -> IO (ForeignPtr TensorList)
gradient_tsll = _cast4 Unmanaged.gradient_tsll

gradient_tsl
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> Int64
  -> IO (ForeignPtr TensorList)
gradient_tsl = _cast3 Unmanaged.gradient_tsl

gradient_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr TensorList)
gradient_t = _cast1 Unmanaged.gradient_t

gradient_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr TensorList)
gradient_tll = _cast3 Unmanaged.gradient_tll

gradient_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr TensorList)
gradient_tl = _cast2 Unmanaged.gradient_tl

gradient_tA
  :: ForeignPtr Tensor
  -> ForeignPtr (StdVector Scalar)
  -> IO (ForeignPtr TensorList)
gradient_tA = _cast2 Unmanaged.gradient_tA

div_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
div_tt = _cast2 Unmanaged.div_tt

div_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
div_out_ttt = _cast3 Unmanaged.div_out_ttt

div_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
div_tts = _cast3 Unmanaged.div_tts

div_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
div_out_ttts = _cast4 Unmanaged.div_out_ttts

div_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
div_ts = _cast2 Unmanaged.div_ts

div_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
div_tss = _cast3 Unmanaged.div_tss

divide_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
divide_tt = _cast2 Unmanaged.divide_tt

divide_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
divide_out_ttt = _cast3 Unmanaged.divide_out_ttt

divide_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
divide_ts = _cast2 Unmanaged.divide_ts

divide_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
divide_tts = _cast3 Unmanaged.divide_tts

divide_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
divide_out_ttts = _cast4 Unmanaged.divide_out_ttts

divide_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
divide_tss = _cast3 Unmanaged.divide_tss

true_divide_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
true_divide_tt = _cast2 Unmanaged.true_divide_tt

true_divide_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
true_divide_out_ttt = _cast3 Unmanaged.true_divide_out_ttt

true_divide_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
true_divide_ts = _cast2 Unmanaged.true_divide_ts

dot_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
dot_tt = _cast2 Unmanaged.dot_tt

dot_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
dot_out_ttt = _cast3 Unmanaged.dot_out_ttt

vdot_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
vdot_tt = _cast2 Unmanaged.vdot_tt

vdot_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
vdot_out_ttt = _cast3 Unmanaged.vdot_out_ttt

einsum_sll
  :: ForeignPtr StdString
  -> ForeignPtr TensorList
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
einsum_sll = _cast3 Unmanaged.einsum_sll

einsum_sl
  :: ForeignPtr StdString
  -> ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
einsum_sl = _cast2 Unmanaged.einsum_sl

embedding_ttlbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
embedding_ttlbb = _cast5 Unmanaged.embedding_ttlbb

embedding_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
embedding_ttlb = _cast4 Unmanaged.embedding_ttlb

