
-- generated by using spec/Declarations.yaml

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

module Torch.Internal.Managed.Native.Native5 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.Native5 as Unmanaged


batch_norm_elemt_out_ttttttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
batch_norm_elemt_out_ttttttd = _cast7 Unmanaged.batch_norm_elemt_out_ttttttd

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

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

native_batch_norm_backward_tttttttbda
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
native_batch_norm_backward_tttttttbda = _cast10 Unmanaged.native_batch_norm_backward_tttttttbda

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

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

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

is_vulkan_available
  :: IO (CBool)
is_vulkan_available = _cast0 Unmanaged.is_vulkan_available

_nnpack_available
  :: IO (CBool)
_nnpack_available = _cast0 Unmanaged._nnpack_available

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

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

ones_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
ones_lNo = _cast3 Unmanaged.ones_lNo

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

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

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

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

ones_like_toM
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
ones_like_toM = _cast3 Unmanaged.ones_like_toM

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

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

pairwise_distance_ttddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
pairwise_distance_ttddb = _cast5 Unmanaged.pairwise_distance_ttddb

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

poisson_nll_loss_ttbbdl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
poisson_nll_loss_ttbbdl = _cast6 Unmanaged.poisson_nll_loss_ttbbdl

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

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

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

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

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

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

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

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

rand_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lNo = _cast3 Unmanaged.rand_lNo

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

rand_lGNo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lGNo = _cast4 Unmanaged.rand_lGNo

rand_lGN
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
rand_lGN = _cast3 Unmanaged.rand_lGN

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

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

rand_lGo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lGo = _cast3 Unmanaged.rand_lGo

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

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

rand_out_tlG
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rand_out_tlG = _cast3 Unmanaged.rand_out_tlG

rand_like_toM
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
rand_like_toM = _cast3 Unmanaged.rand_like_toM

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

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

randint_llo
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_llo = _cast3 Unmanaged.randint_llo

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

randint_llGo
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_llGo = _cast4 Unmanaged.randint_llGo

randint_llG
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_llG = _cast3 Unmanaged.randint_llG

randint_lllo
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_lllo = _cast4 Unmanaged.randint_lllo

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

randint_lllGo
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_lllGo = _cast5 Unmanaged.randint_lllGo

randint_lllG
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_lllG = _cast4 Unmanaged.randint_lllG

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

randint_out_tllG
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_out_tllG = _cast4 Unmanaged.randint_out_tllG

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

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

randint_like_tloM
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
randint_like_tloM = _cast4 Unmanaged.randint_like_tloM

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

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

randint_like_tlloM
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
randint_like_tlloM = _cast5 Unmanaged.randint_like_tlloM

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

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

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

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

randn_lGo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lGo = _cast3 Unmanaged.randn_lGo

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

randn_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lNo = _cast3 Unmanaged.randn_lNo

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

randn_lGNo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lGNo = _cast4 Unmanaged.randn_lGNo

randn_lGN
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
randn_lGN = _cast3 Unmanaged.randn_lGN

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

randn_out_tlG
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randn_out_tlG = _cast3 Unmanaged.randn_out_tlG

randn_like_toM
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
randn_like_toM = _cast3 Unmanaged.randn_like_toM

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

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

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

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

randperm_lGo
  :: Int64
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randperm_lGo = _cast3 Unmanaged.randperm_lGo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

rrelu_tssbG
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu_tssbG = _cast5 Unmanaged.rrelu_tssbG

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

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

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

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

rrelu__tssbG
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu__tssbG = _cast5 Unmanaged.rrelu__tssbG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 generated by using spec/Declarations.yaml
# LANGUAGE OverloadedStrings #


# LANGUAGE DataKinds #
# LANGUAGE PolyKinds #
# LANGUAGE TemplateHaskell #
# LANGUAGE QuasiQuotes #
# LANGUAGE ScopedTypeVariables #

module Torch.Internal.Managed.Native.Native5 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.Native5 as Unmanaged


batch_norm_elemt_out_ttttttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
batch_norm_elemt_out_ttttttd = _cast7 Unmanaged.batch_norm_elemt_out_ttttttd

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

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

native_batch_norm_backward_tttttttbda
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
native_batch_norm_backward_tttttttbda = _cast10 Unmanaged.native_batch_norm_backward_tttttttbda

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

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

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

is_vulkan_available
  :: IO (CBool)
is_vulkan_available = _cast0 Unmanaged.is_vulkan_available

_nnpack_available
  :: IO (CBool)
_nnpack_available = _cast0 Unmanaged._nnpack_available

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

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

ones_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
ones_lNo = _cast3 Unmanaged.ones_lNo

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

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

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

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

ones_like_toM
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
ones_like_toM = _cast3 Unmanaged.ones_like_toM

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

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

pairwise_distance_ttddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
pairwise_distance_ttddb = _cast5 Unmanaged.pairwise_distance_ttddb

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

poisson_nll_loss_ttbbdl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
poisson_nll_loss_ttbbdl = _cast6 Unmanaged.poisson_nll_loss_ttbbdl

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

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

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

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

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

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

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

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

rand_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lNo = _cast3 Unmanaged.rand_lNo

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

rand_lGNo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lGNo = _cast4 Unmanaged.rand_lGNo

rand_lGN
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
rand_lGN = _cast3 Unmanaged.rand_lGN

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

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

rand_lGo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lGo = _cast3 Unmanaged.rand_lGo

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

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

rand_out_tlG
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rand_out_tlG = _cast3 Unmanaged.rand_out_tlG

rand_like_toM
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
rand_like_toM = _cast3 Unmanaged.rand_like_toM

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

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

randint_llo
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_llo = _cast3 Unmanaged.randint_llo

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

randint_llGo
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_llGo = _cast4 Unmanaged.randint_llGo

randint_llG
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_llG = _cast3 Unmanaged.randint_llG

randint_lllo
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_lllo = _cast4 Unmanaged.randint_lllo

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

randint_lllGo
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_lllGo = _cast5 Unmanaged.randint_lllGo

randint_lllG
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_lllG = _cast4 Unmanaged.randint_lllG

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

randint_out_tllG
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_out_tllG = _cast4 Unmanaged.randint_out_tllG

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

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

randint_like_tloM
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
randint_like_tloM = _cast4 Unmanaged.randint_like_tloM

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

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

randint_like_tlloM
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
randint_like_tlloM = _cast5 Unmanaged.randint_like_tlloM

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

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

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

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

randn_lGo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lGo = _cast3 Unmanaged.randn_lGo

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

randn_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lNo = _cast3 Unmanaged.randn_lNo

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

randn_lGNo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lGNo = _cast4 Unmanaged.randn_lGNo

randn_lGN
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
randn_lGN = _cast3 Unmanaged.randn_lGN

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

randn_out_tlG
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randn_out_tlG = _cast3 Unmanaged.randn_out_tlG

randn_like_toM
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
randn_like_toM = _cast3 Unmanaged.randn_like_toM

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

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

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

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

randperm_lGo
  :: Int64
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randperm_lGo = _cast3 Unmanaged.randperm_lGo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

rrelu_tssbG
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu_tssbG = _cast5 Unmanaged.rrelu_tssbG

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

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

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

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

rrelu__tssbG
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu__tssbG = _cast5 Unmanaged.rrelu__tssbG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

