-- generated by using spec/Declarations.yaml

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

module Torch.Internal.Unmanaged.Native.Native14 where


import Foreign.C.String
import Foreign.C.Types
import Foreign
import Torch.Internal.Type

import qualified Language.C.Inline.Cpp as C
import qualified Language.C.Inline.Cpp.Unsafe as C
import qualified Language.C.Inline.Context as C
import qualified Language.C.Types as C

C.context $ C.cppCtx <> mempty { C.ctxTypesTable = typeTable }

C.include "<vector>"
C.include "<ATen/Tensor.h>"
C.include "<ATen/Functions.h>"


special_logit_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
special_logit_t :: Ptr Tensor -> IO (Ptr Tensor)
special_logit_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_logit(
    *$(at::Tensor* _self)));
  }|]

special_logit_out_ttd
  :: Ptr Tensor
  -> Ptr Tensor
  -> CDouble
  -> IO (Ptr Tensor)
special_logit_out_ttd :: Ptr Tensor -> Ptr Tensor -> CDouble -> IO (Ptr Tensor)
special_logit_out_ttd Ptr Tensor
_out Ptr Tensor
_self CDouble
_eps =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_logit_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(double _eps)));
  }|]

special_logit_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_logit_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_logit_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_logit_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

special_polygamma_lt
  :: Int64
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_polygamma_lt :: Int64 -> Ptr Tensor -> IO (Ptr Tensor)
special_polygamma_lt Int64
_n Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_polygamma(
    $(int64_t _n)
  , *$(at::Tensor* _self)));
  }|]

special_polygamma_out_tlt
  :: Ptr Tensor
  -> Int64
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_polygamma_out_tlt :: Ptr Tensor -> Int64 -> Ptr Tensor -> IO (Ptr Tensor)
special_polygamma_out_tlt Ptr Tensor
_out Int64
_n Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_polygamma_out(
    *$(at::Tensor* _out)
  , $(int64_t _n)
  , *$(at::Tensor* _self)));
  }|]

special_logsumexp_tlb
  :: Ptr Tensor
  -> Ptr IntArray
  -> CBool
  -> IO (Ptr Tensor)
special_logsumexp_tlb :: Ptr Tensor -> Ptr IntArray -> CBool -> IO (Ptr Tensor)
special_logsumexp_tlb Ptr Tensor
_self Ptr IntArray
_dim CBool
_keepdim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_logsumexp(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _dim)
  , $(bool _keepdim)));
  }|]

special_logsumexp_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
special_logsumexp_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
special_logsumexp_tl Ptr Tensor
_self Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_logsumexp(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _dim)));
  }|]

special_logsumexp_out_ttlb
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> CBool
  -> IO (Ptr Tensor)
special_logsumexp_out_ttlb :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> CBool -> IO (Ptr Tensor)
special_logsumexp_out_ttlb Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_dim CBool
_keepdim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_logsumexp_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _dim)
  , $(bool _keepdim)));
  }|]

special_logsumexp_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
special_logsumexp_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
special_logsumexp_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_logsumexp_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _dim)));
  }|]

special_expit_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
special_expit_t :: Ptr Tensor -> IO (Ptr Tensor)
special_expit_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_expit(
    *$(at::Tensor* _self)));
  }|]

special_expit_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_expit_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_expit_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_expit_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

special_sinc_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
special_sinc_t :: Ptr Tensor -> IO (Ptr Tensor)
special_sinc_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_sinc(
    *$(at::Tensor* _self)));
  }|]

special_sinc_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_sinc_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_sinc_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_sinc_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

special_round_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
special_round_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
special_round_tl Ptr Tensor
_self Int64
_decimals =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_round(
    *$(at::Tensor* _self)
  , $(int64_t _decimals)));
  }|]

special_round_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
special_round_t :: Ptr Tensor -> IO (Ptr Tensor)
special_round_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_round(
    *$(at::Tensor* _self)));
  }|]

special_round_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
special_round_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
special_round_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_decimals =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_round_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _decimals)));
  }|]

special_round_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_round_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_round_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_round_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

special_log1p_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
special_log1p_t :: Ptr Tensor -> IO (Ptr Tensor)
special_log1p_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_log1p(
    *$(at::Tensor* _self)));
  }|]

special_log1p_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_log1p_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_log1p_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_log1p_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

special_log_softmax_tls
  :: Ptr Tensor
  -> Int64
  -> ScalarType
  -> IO (Ptr Tensor)
special_log_softmax_tls :: Ptr Tensor -> Int64 -> ScalarType -> IO (Ptr Tensor)
special_log_softmax_tls Ptr Tensor
_self Int64
_dim ScalarType
_dtype =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_log_softmax(
    *$(at::Tensor* _self)
  , $(int64_t _dim)
  , $(at::ScalarType _dtype)));
  }|]

special_log_softmax_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
special_log_softmax_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
special_log_softmax_tl Ptr Tensor
_self Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_log_softmax(
    *$(at::Tensor* _self)
  , $(int64_t _dim)));
  }|]

special_gammainc_out_ttt
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_gammainc_out_ttt :: Ptr Tensor -> Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_gammainc_out_ttt Ptr Tensor
_out Ptr Tensor
_self Ptr Tensor
_other =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_gammainc_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(at::Tensor* _other)));
  }|]

special_gammainc_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_gammainc_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_gammainc_tt Ptr Tensor
_self Ptr Tensor
_other =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_gammainc(
    *$(at::Tensor* _self)
  , *$(at::Tensor* _other)));
  }|]

special_gammaincc_out_ttt
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_gammaincc_out_ttt :: Ptr Tensor -> Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_gammaincc_out_ttt Ptr Tensor
_out Ptr Tensor
_self Ptr Tensor
_other =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_gammaincc_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(at::Tensor* _other)));
  }|]

special_gammaincc_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
special_gammaincc_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
special_gammaincc_tt Ptr Tensor
_self Ptr Tensor
_other =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_gammaincc(
    *$(at::Tensor* _self)
  , *$(at::Tensor* _other)));
  }|]

special_multigammaln_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
special_multigammaln_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
special_multigammaln_tl Ptr Tensor
_self Int64
_p =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_multigammaln(
    *$(at::Tensor* _self)
  , $(int64_t _p)));
  }|]

special_multigammaln_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
special_multigammaln_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
special_multigammaln_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_p =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_multigammaln_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _p)));
  }|]

special_softmax_tls
  :: Ptr Tensor
  -> Int64
  -> ScalarType
  -> IO (Ptr Tensor)
special_softmax_tls :: Ptr Tensor -> Int64 -> ScalarType -> IO (Ptr Tensor)
special_softmax_tls Ptr Tensor
_self Int64
_dim ScalarType
_dtype =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_softmax(
    *$(at::Tensor* _self)
  , $(int64_t _dim)
  , $(at::ScalarType _dtype)));
  }|]

special_softmax_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
special_softmax_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
special_softmax_tl Ptr Tensor
_self Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::special_softmax(
    *$(at::Tensor* _self)
  , $(int64_t _dim)));
  }|]

fft_fft_tlls
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_fft_tlls :: Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_fft_tlls Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_fft_tll
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_fft_tll :: Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_fft_tll Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_fft_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_fft_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_fft_tl Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft(
    *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_fft_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_fft_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_fft_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft(
    *$(at::Tensor* _self)));
  }|]

fft_fft_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_fft_out_ttlls :: Ptr Tensor
-> Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_fft_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_fft_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_fft_out_ttll :: Ptr Tensor -> Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_fft_out_ttll Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_fft_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_fft_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_fft_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_fft_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_fft_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_fft_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_ifft_tlls
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ifft_tlls :: Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_ifft_tlls Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_ifft_tll
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_ifft_tll :: Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_ifft_tll Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_ifft_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_ifft_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_ifft_tl Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft(
    *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_ifft_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_ifft_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_ifft_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft(
    *$(at::Tensor* _self)));
  }|]

fft_ifft_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ifft_out_ttlls :: Ptr Tensor
-> Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_ifft_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_ifft_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_ifft_out_ttll :: Ptr Tensor -> Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_ifft_out_ttll Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_ifft_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_ifft_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_ifft_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_ifft_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_ifft_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_ifft_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_rfft_tlls
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_rfft_tlls :: Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_rfft_tlls Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_rfft_tll
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_rfft_tll :: Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_rfft_tll Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_rfft_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_rfft_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_rfft_tl Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_rfft_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_rfft_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_rfft_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft(
    *$(at::Tensor* _self)));
  }|]

fft_rfft_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_rfft_out_ttlls :: Ptr Tensor
-> Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_rfft_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_rfft_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_rfft_out_ttll :: Ptr Tensor -> Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_rfft_out_ttll Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_rfft_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_rfft_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_rfft_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_rfft_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_rfft_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_rfft_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_irfft_tlls
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_irfft_tlls :: Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_irfft_tlls Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_irfft_tll
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_irfft_tll :: Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_irfft_tll Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_irfft_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_irfft_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_irfft_tl Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_irfft_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_irfft_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_irfft_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft(
    *$(at::Tensor* _self)));
  }|]

fft_irfft_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_irfft_out_ttlls :: Ptr Tensor
-> Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_irfft_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_irfft_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_irfft_out_ttll :: Ptr Tensor -> Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_irfft_out_ttll Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_irfft_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_irfft_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_irfft_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_irfft_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_irfft_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_irfft_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_hfft_tlls
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_hfft_tlls :: Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_hfft_tlls Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_hfft_tll
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_hfft_tll :: Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_hfft_tll Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_hfft_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_hfft_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_hfft_tl Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_hfft_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_hfft_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_hfft_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft(
    *$(at::Tensor* _self)));
  }|]

fft_hfft_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_hfft_out_ttlls :: Ptr Tensor
-> Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_hfft_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_hfft_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_hfft_out_ttll :: Ptr Tensor -> Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_hfft_out_ttll Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_hfft_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_hfft_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_hfft_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_hfft_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_hfft_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_hfft_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_ihfft_tlls
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ihfft_tlls :: Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_ihfft_tlls Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_ihfft_tll
  :: Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_ihfft_tll :: Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_ihfft_tll Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_ihfft_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_ihfft_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_ihfft_tl Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft(
    *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_ihfft_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_ihfft_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_ihfft_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft(
    *$(at::Tensor* _self)));
  }|]

fft_ihfft_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ihfft_out_ttlls :: Ptr Tensor
-> Ptr Tensor -> Int64 -> Int64 -> Ptr StdString -> IO (Ptr Tensor)
fft_ihfft_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)
  , *$(std::string* _norm)));
  }|]

fft_ihfft_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> Int64
  -> IO (Ptr Tensor)
fft_ihfft_out_ttll :: Ptr Tensor -> Ptr Tensor -> Int64 -> Int64 -> IO (Ptr Tensor)
fft_ihfft_out_ttll Ptr Tensor
_out Ptr Tensor
_self Int64
_n Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)
  , $(int64_t _dim)));
  }|]

fft_ihfft_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_ihfft_out_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_ihfft_out_ttl Ptr Tensor
_out Ptr Tensor
_self Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(int64_t _n)));
  }|]

fft_ihfft_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_ihfft_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_ihfft_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_fft2_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_fft2_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_fft2_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_fft2_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fft2_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_fft2_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_fft2_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fft2_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_fft2_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_fft2_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_fft2_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_fft2_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2(
    *$(at::Tensor* _self)));
  }|]

fft_fft2_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_fft2_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_fft2_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_fft2_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fft2_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_fft2_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_fft2_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fft2_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_fft2_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_fft2_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_fft2_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_fft2_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_ifft2_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ifft2_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_ifft2_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ifft2_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifft2_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifft2_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ifft2_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifft2_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifft2_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ifft2_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_ifft2_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_ifft2_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2(
    *$(at::Tensor* _self)));
  }|]

fft_ifft2_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ifft2_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_ifft2_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ifft2_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifft2_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifft2_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ifft2_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifft2_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifft2_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ifft2_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_ifft2_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_ifft2_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_rfft2_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_rfft2_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_rfft2_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_rfft2_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfft2_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfft2_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_rfft2_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfft2_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfft2_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_rfft2_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_rfft2_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_rfft2_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2(
    *$(at::Tensor* _self)));
  }|]

fft_rfft2_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_rfft2_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_rfft2_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_rfft2_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfft2_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfft2_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_rfft2_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfft2_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfft2_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_rfft2_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_rfft2_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_rfft2_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_irfft2_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_irfft2_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_irfft2_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_irfft2_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfft2_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfft2_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_irfft2_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfft2_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfft2_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_irfft2_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_irfft2_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_irfft2_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2(
    *$(at::Tensor* _self)));
  }|]

fft_irfft2_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_irfft2_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_irfft2_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_irfft2_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfft2_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfft2_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_irfft2_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfft2_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfft2_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_irfft2_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_irfft2_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_irfft2_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_hfft2_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_hfft2_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_hfft2_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_hfft2_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfft2_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfft2_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_hfft2_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfft2_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfft2_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_hfft2_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_hfft2_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_hfft2_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2(
    *$(at::Tensor* _self)));
  }|]

fft_hfft2_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_hfft2_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_hfft2_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_hfft2_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfft2_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfft2_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_hfft2_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfft2_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfft2_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_hfft2_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_hfft2_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_hfft2_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_ihfft2_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ihfft2_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_ihfft2_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ihfft2_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfft2_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfft2_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ihfft2_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfft2_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfft2_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ihfft2_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_ihfft2_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_ihfft2_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2(
    *$(at::Tensor* _self)));
  }|]

fft_ihfft2_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ihfft2_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_ihfft2_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ihfft2_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfft2_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfft2_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ihfft2_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfft2_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfft2_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ihfft2_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_ihfft2_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_ihfft2_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfft2_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_fftn_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_fftn_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_fftn_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_fftn_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fftn_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_fftn_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_fftn_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fftn_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_fftn_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_fftn_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_fftn_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_fftn_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn(
    *$(at::Tensor* _self)));
  }|]

fft_fftn_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_fftn_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_fftn_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_fftn_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fftn_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_fftn_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_fftn_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fftn_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_fftn_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_fftn_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_fftn_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_fftn_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_ifftn_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ifftn_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_ifftn_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ifftn_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifftn_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifftn_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ifftn_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifftn_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifftn_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ifftn_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_ifftn_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_ifftn_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn(
    *$(at::Tensor* _self)));
  }|]

fft_ifftn_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ifftn_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_ifftn_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ifftn_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifftn_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifftn_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ifftn_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifftn_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifftn_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ifftn_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_ifftn_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_ifftn_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_rfftn_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_rfftn_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_rfftn_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_rfftn_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfftn_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfftn_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_rfftn_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfftn_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfftn_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_rfftn_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_rfftn_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_rfftn_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn(
    *$(at::Tensor* _self)));
  }|]

fft_rfftn_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_rfftn_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_rfftn_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_rfftn_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfftn_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfftn_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_rfftn_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_rfftn_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_rfftn_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_rfftn_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_rfftn_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_rfftn_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_irfftn_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_irfftn_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_irfftn_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_irfftn_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfftn_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfftn_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_irfftn_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfftn_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfftn_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_irfftn_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_irfftn_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_irfftn_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn(
    *$(at::Tensor* _self)));
  }|]

fft_irfftn_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_irfftn_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_irfftn_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_irfftn_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfftn_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfftn_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_irfftn_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_irfftn_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_irfftn_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_irfftn_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_irfftn_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_irfftn_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_irfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_hfftn_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_hfftn_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_hfftn_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_hfftn_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfftn_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfftn_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_hfftn_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfftn_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfftn_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_hfftn_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_hfftn_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_hfftn_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn(
    *$(at::Tensor* _self)));
  }|]

fft_hfftn_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_hfftn_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_hfftn_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_hfftn_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfftn_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfftn_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_hfftn_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_hfftn_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_hfftn_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_hfftn_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_hfftn_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_hfftn_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_hfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_ihfftn_tlls
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ihfftn_tlls :: Ptr Tensor
-> Ptr IntArray -> Ptr IntArray -> Ptr StdString -> IO (Ptr Tensor)
fft_ihfftn_tlls Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ihfftn_tll
  :: Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfftn_tll :: Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfftn_tll Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ihfftn_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfftn_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfftn_tl Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ihfftn_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_ihfftn_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_ihfftn_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn(
    *$(at::Tensor* _self)));
  }|]

fft_ihfftn_out_ttlls
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> Ptr StdString
  -> IO (Ptr Tensor)
fft_ihfftn_out_ttlls :: Ptr Tensor
-> Ptr Tensor
-> Ptr IntArray
-> Ptr IntArray
-> Ptr StdString
-> IO (Ptr Tensor)
fft_ihfftn_out_ttlls Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim Ptr StdString
_norm =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)
  , *$(std::string* _norm)));
  }|]

fft_ihfftn_out_ttll
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfftn_out_ttll :: Ptr Tensor
-> Ptr Tensor -> Ptr IntArray -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfftn_out_ttll Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ihfftn_out_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ihfftn_out_ttl :: Ptr Tensor -> Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ihfftn_out_ttl Ptr Tensor
_out Ptr Tensor
_self Ptr IntArray
_s =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _s)));
  }|]

fft_ihfftn_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
fft_ihfftn_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
fft_ihfftn_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ihfftn_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

fft_fftfreq_ldo
  :: Int64
  -> CDouble
  -> Ptr TensorOptions
  -> IO (Ptr Tensor)
fft_fftfreq_ldo :: Int64 -> CDouble -> Ptr TensorOptions -> IO (Ptr Tensor)
fft_fftfreq_ldo Int64
_n CDouble
_d Ptr TensorOptions
_options =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftfreq(
    $(int64_t _n)
  , $(double _d)
  , *$(at::TensorOptions* _options)));
  }|]

fft_fftfreq_ld
  :: Int64
  -> CDouble
  -> IO (Ptr Tensor)
fft_fftfreq_ld :: Int64 -> CDouble -> IO (Ptr Tensor)
fft_fftfreq_ld Int64
_n CDouble
_d =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftfreq(
    $(int64_t _n)
  , $(double _d)));
  }|]

fft_fftfreq_l
  :: Int64
  -> IO (Ptr Tensor)
fft_fftfreq_l :: Int64 -> IO (Ptr Tensor)
fft_fftfreq_l Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftfreq(
    $(int64_t _n)));
  }|]

fft_fftfreq_out_tld
  :: Ptr Tensor
  -> Int64
  -> CDouble
  -> IO (Ptr Tensor)
fft_fftfreq_out_tld :: Ptr Tensor -> Int64 -> CDouble -> IO (Ptr Tensor)
fft_fftfreq_out_tld Ptr Tensor
_out Int64
_n CDouble
_d =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftfreq_out(
    *$(at::Tensor* _out)
  , $(int64_t _n)
  , $(double _d)));
  }|]

fft_fftfreq_out_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_fftfreq_out_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_fftfreq_out_tl Ptr Tensor
_out Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftfreq_out(
    *$(at::Tensor* _out)
  , $(int64_t _n)));
  }|]

fft_rfftfreq_ldo
  :: Int64
  -> CDouble
  -> Ptr TensorOptions
  -> IO (Ptr Tensor)
fft_rfftfreq_ldo :: Int64 -> CDouble -> Ptr TensorOptions -> IO (Ptr Tensor)
fft_rfftfreq_ldo Int64
_n CDouble
_d Ptr TensorOptions
_options =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftfreq(
    $(int64_t _n)
  , $(double _d)
  , *$(at::TensorOptions* _options)));
  }|]

fft_rfftfreq_ld
  :: Int64
  -> CDouble
  -> IO (Ptr Tensor)
fft_rfftfreq_ld :: Int64 -> CDouble -> IO (Ptr Tensor)
fft_rfftfreq_ld Int64
_n CDouble
_d =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftfreq(
    $(int64_t _n)
  , $(double _d)));
  }|]

fft_rfftfreq_l
  :: Int64
  -> IO (Ptr Tensor)
fft_rfftfreq_l :: Int64 -> IO (Ptr Tensor)
fft_rfftfreq_l Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftfreq(
    $(int64_t _n)));
  }|]

fft_rfftfreq_out_tld
  :: Ptr Tensor
  -> Int64
  -> CDouble
  -> IO (Ptr Tensor)
fft_rfftfreq_out_tld :: Ptr Tensor -> Int64 -> CDouble -> IO (Ptr Tensor)
fft_rfftfreq_out_tld Ptr Tensor
_out Int64
_n CDouble
_d =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftfreq_out(
    *$(at::Tensor* _out)
  , $(int64_t _n)
  , $(double _d)));
  }|]

fft_rfftfreq_out_tl
  :: Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
fft_rfftfreq_out_tl :: Ptr Tensor -> Int64 -> IO (Ptr Tensor)
fft_rfftfreq_out_tl Ptr Tensor
_out Int64
_n =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_rfftfreq_out(
    *$(at::Tensor* _out)
  , $(int64_t _n)));
  }|]

fft_fftshift_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_fftshift_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_fftshift_tl Ptr Tensor
_self Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftshift(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_fftshift_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_fftshift_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_fftshift_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_fftshift(
    *$(at::Tensor* _self)));
  }|]

fft_ifftshift_tl
  :: Ptr Tensor
  -> Ptr IntArray
  -> IO (Ptr Tensor)
fft_ifftshift_tl :: Ptr Tensor -> Ptr IntArray -> IO (Ptr Tensor)
fft_ifftshift_tl Ptr Tensor
_self Ptr IntArray
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftshift(
    *$(at::Tensor* _self)
  , *$(std::vector<int64_t>* _dim)));
  }|]

fft_ifftshift_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
fft_ifftshift_t :: Ptr Tensor -> IO (Ptr Tensor)
fft_ifftshift_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::fft_ifftshift(
    *$(at::Tensor* _self)));
  }|]

linalg_cholesky_ex_tbb
  :: Ptr Tensor
  -> CBool
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_cholesky_ex_tbb :: Ptr Tensor
-> CBool -> CBool -> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_cholesky_ex_tbb Ptr Tensor
_self CBool
_upper CBool
_check_errors =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_cholesky_ex(
    *$(at::Tensor* _self)
  , $(bool _upper)
  , $(bool _check_errors)));
  }|]

linalg_cholesky_ex_tb
  :: Ptr Tensor
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_cholesky_ex_tb :: Ptr Tensor -> CBool -> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_cholesky_ex_tb Ptr Tensor
_self CBool
_upper =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_cholesky_ex(
    *$(at::Tensor* _self)
  , $(bool _upper)));
  }|]

linalg_cholesky_ex_t
  :: Ptr Tensor
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_cholesky_ex_t :: Ptr Tensor -> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_cholesky_ex_t Ptr Tensor
_self =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_cholesky_ex(
    *$(at::Tensor* _self)));
  }|]

linalg_cholesky_ex_out_tttbb
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> CBool
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_cholesky_ex_out_tttbb :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> CBool
-> CBool
-> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_cholesky_ex_out_tttbb Ptr Tensor
_L Ptr Tensor
_info Ptr Tensor
_self CBool
_upper CBool
_check_errors =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_cholesky_ex_out(
    *$(at::Tensor* _L)
  , *$(at::Tensor* _info)
  , *$(at::Tensor* _self)
  , $(bool _upper)
  , $(bool _check_errors)));
  }|]

linalg_cholesky_ex_out_tttb
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_cholesky_ex_out_tttb :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> CBool
-> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_cholesky_ex_out_tttb Ptr Tensor
_L Ptr Tensor
_info Ptr Tensor
_self CBool
_upper =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_cholesky_ex_out(
    *$(at::Tensor* _L)
  , *$(at::Tensor* _info)
  , *$(at::Tensor* _self)
  , $(bool _upper)));
  }|]

linalg_cholesky_ex_out_ttt
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_cholesky_ex_out_ttt :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_cholesky_ex_out_ttt Ptr Tensor
_L Ptr Tensor
_info Ptr Tensor
_self =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_cholesky_ex_out(
    *$(at::Tensor* _L)
  , *$(at::Tensor* _info)
  , *$(at::Tensor* _self)));
  }|]

linalg_cholesky_tb
  :: Ptr Tensor
  -> CBool
  -> IO (Ptr Tensor)
linalg_cholesky_tb :: Ptr Tensor -> CBool -> IO (Ptr Tensor)
linalg_cholesky_tb Ptr Tensor
_self CBool
_upper =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cholesky(
    *$(at::Tensor* _self)
  , $(bool _upper)));
  }|]

linalg_cholesky_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
linalg_cholesky_t :: Ptr Tensor -> IO (Ptr Tensor)
linalg_cholesky_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cholesky(
    *$(at::Tensor* _self)));
  }|]

linalg_cholesky_out_ttb
  :: Ptr Tensor
  -> Ptr Tensor
  -> CBool
  -> IO (Ptr Tensor)
linalg_cholesky_out_ttb :: Ptr Tensor -> Ptr Tensor -> CBool -> IO (Ptr Tensor)
linalg_cholesky_out_ttb Ptr Tensor
_out Ptr Tensor
_self CBool
_upper =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cholesky_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , $(bool _upper)));
  }|]

linalg_cholesky_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
linalg_cholesky_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
linalg_cholesky_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cholesky_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

linalg_cross_ttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
linalg_cross_ttl :: Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
linalg_cross_ttl Ptr Tensor
_self Ptr Tensor
_other Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cross(
    *$(at::Tensor* _self)
  , *$(at::Tensor* _other)
  , $(int64_t _dim)));
  }|]

linalg_cross_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
linalg_cross_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
linalg_cross_tt Ptr Tensor
_self Ptr Tensor
_other =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cross(
    *$(at::Tensor* _self)
  , *$(at::Tensor* _other)));
  }|]

linalg_cross_out_tttl
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> Int64
  -> IO (Ptr Tensor)
linalg_cross_out_tttl :: Ptr Tensor -> Ptr Tensor -> Ptr Tensor -> Int64 -> IO (Ptr Tensor)
linalg_cross_out_tttl Ptr Tensor
_out Ptr Tensor
_self Ptr Tensor
_other Int64
_dim =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cross_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(at::Tensor* _other)
  , $(int64_t _dim)));
  }|]

linalg_cross_out_ttt
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
linalg_cross_out_ttt :: Ptr Tensor -> Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
linalg_cross_out_ttt Ptr Tensor
_out Ptr Tensor
_self Ptr Tensor
_other =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_cross_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)
  , *$(at::Tensor* _other)));
  }|]

linalg_lu_factor_tb
  :: Ptr Tensor
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_lu_factor_tb :: Ptr Tensor -> CBool -> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_lu_factor_tb Ptr Tensor
_A CBool
_pivot =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_lu_factor(
    *$(at::Tensor* _A)
  , $(bool _pivot)));
  }|]

linalg_lu_factor_t
  :: Ptr Tensor
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_lu_factor_t :: Ptr Tensor -> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_lu_factor_t Ptr Tensor
_A =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_lu_factor(
    *$(at::Tensor* _A)));
  }|]

linalg_lu_factor_out_tttb
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_lu_factor_out_tttb :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> CBool
-> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_lu_factor_out_tttb Ptr Tensor
_LU Ptr Tensor
_pivots Ptr Tensor
_A CBool
_pivot =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_lu_factor_out(
    *$(at::Tensor* _LU)
  , *$(at::Tensor* _pivots)
  , *$(at::Tensor* _A)
  , $(bool _pivot)));
  }|]

linalg_lu_factor_out_ttt
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr (StdTuple '(Tensor,Tensor)))
linalg_lu_factor_out_ttt :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> IO (Ptr (StdTuple '(Tensor, Tensor)))
linalg_lu_factor_out_ttt Ptr Tensor
_LU Ptr Tensor
_pivots Ptr Tensor
_A =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor>(at::linalg_lu_factor_out(
    *$(at::Tensor* _LU)
  , *$(at::Tensor* _pivots)
  , *$(at::Tensor* _A)));
  }|]

linalg_lu_factor_ex_tbb
  :: Ptr Tensor
  -> CBool
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor,Tensor)))
linalg_lu_factor_ex_tbb :: Ptr Tensor
-> CBool -> CBool -> IO (Ptr (StdTuple '(Tensor, Tensor, Tensor)))
linalg_lu_factor_ex_tbb Ptr Tensor
_A CBool
_pivot CBool
_check_errors =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor,at::Tensor>(at::linalg_lu_factor_ex(
    *$(at::Tensor* _A)
  , $(bool _pivot)
  , $(bool _check_errors)));
  }|]

linalg_lu_factor_ex_tb
  :: Ptr Tensor
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor,Tensor)))
linalg_lu_factor_ex_tb :: Ptr Tensor
-> CBool -> IO (Ptr (StdTuple '(Tensor, Tensor, Tensor)))
linalg_lu_factor_ex_tb Ptr Tensor
_A CBool
_pivot =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor,at::Tensor>(at::linalg_lu_factor_ex(
    *$(at::Tensor* _A)
  , $(bool _pivot)));
  }|]

linalg_lu_factor_ex_t
  :: Ptr Tensor
  -> IO (Ptr (StdTuple '(Tensor,Tensor,Tensor)))
linalg_lu_factor_ex_t :: Ptr Tensor -> IO (Ptr (StdTuple '(Tensor, Tensor, Tensor)))
linalg_lu_factor_ex_t Ptr Tensor
_A =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor,at::Tensor>(at::linalg_lu_factor_ex(
    *$(at::Tensor* _A)));
  }|]

linalg_lu_factor_ex_out_ttttbb
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> CBool
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor,Tensor)))
linalg_lu_factor_ex_out_ttttbb :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> CBool
-> CBool
-> IO (Ptr (StdTuple '(Tensor, Tensor, Tensor)))
linalg_lu_factor_ex_out_ttttbb Ptr Tensor
_LU Ptr Tensor
_pivots Ptr Tensor
_info Ptr Tensor
_A CBool
_pivot CBool
_check_errors =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor,at::Tensor>(at::linalg_lu_factor_ex_out(
    *$(at::Tensor* _LU)
  , *$(at::Tensor* _pivots)
  , *$(at::Tensor* _info)
  , *$(at::Tensor* _A)
  , $(bool _pivot)
  , $(bool _check_errors)));
  }|]

linalg_lu_factor_ex_out_ttttb
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> CBool
  -> IO (Ptr (StdTuple '(Tensor,Tensor,Tensor)))
linalg_lu_factor_ex_out_ttttb :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> CBool
-> IO (Ptr (StdTuple '(Tensor, Tensor, Tensor)))
linalg_lu_factor_ex_out_ttttb Ptr Tensor
_LU Ptr Tensor
_pivots Ptr Tensor
_info Ptr Tensor
_A CBool
_pivot =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor,at::Tensor>(at::linalg_lu_factor_ex_out(
    *$(at::Tensor* _LU)
  , *$(at::Tensor* _pivots)
  , *$(at::Tensor* _info)
  , *$(at::Tensor* _A)
  , $(bool _pivot)));
  }|]

linalg_lu_factor_ex_out_tttt
  :: Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr (StdTuple '(Tensor,Tensor,Tensor)))
linalg_lu_factor_ex_out_tttt :: Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> Ptr Tensor
-> IO (Ptr (StdTuple '(Tensor, Tensor, Tensor)))
linalg_lu_factor_ex_out_tttt Ptr Tensor
_LU Ptr Tensor
_pivots Ptr Tensor
_info Ptr Tensor
_A =
  [C.throwBlock| std::tuple<at::Tensor,at::Tensor,at::Tensor>* { return new std::tuple<at::Tensor,at::Tensor,at::Tensor>(at::linalg_lu_factor_ex_out(
    *$(at::Tensor* _LU)
  , *$(at::Tensor* _pivots)
  , *$(at::Tensor* _info)
  , *$(at::Tensor* _A)));
  }|]

linalg_det_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
linalg_det_t :: Ptr Tensor -> IO (Ptr Tensor)
linalg_det_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_det(
    *$(at::Tensor* _self)));
  }|]

linalg_det_out_tt
  :: Ptr Tensor
  -> Ptr Tensor
  -> IO (Ptr Tensor)
linalg_det_out_tt :: Ptr Tensor -> Ptr Tensor -> IO (Ptr Tensor)
linalg_det_out_tt Ptr Tensor
_out Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::linalg_det_out(
    *$(at::Tensor* _out)
  , *$(at::Tensor* _self)));
  }|]

det_t
  :: Ptr Tensor
  -> IO (Ptr Tensor)
det_t :: Ptr Tensor -> IO (Ptr Tensor)
det_t Ptr Tensor
_self =
  [C.throwBlock| at::Tensor* { return new at::Tensor(at::det(
    *$(at::Tensor* _self)));
  }|]