{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE FlexibleInstances #-}
module Torch.Internal.Unmanaged.Type.Tuple where
import Foreign.C.String
import Foreign.C.Types
import Foreign
import Torch.Internal.Type
import Torch.Internal.Class
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
import qualified Data.Map as Map
C.context $ C.cppCtx <> mempty { C.ctxTypesTable = typeTable }
C.include "<ATen/Tensor.h>"
C.include "<tuple>"
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor))
-> IO (A (Ptr (StdTuple '(Tensor, Tensor))))
get0 Ptr (StdTuple '(Tensor, Tensor))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor))
-> IO (B (Ptr (StdTuple '(Tensor, Tensor))))
get1 Ptr (StdTuple '(Tensor, Tensor))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(A (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
get0 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(B (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
get1 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get2 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(C (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
get2 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get3 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(D (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
get3 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO (D (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple5 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) where
type E (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get4 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(E (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
get4 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO (E (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<4>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor,TensorList))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor,TensorList))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor,TensorList))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
-> IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
get0 Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,std::vector<at::Tensor>>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
-> IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
get1 Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,std::vector<at::Tensor>>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor,TensorList))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor,TensorList))) = Ptr Tensor
get2 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
-> IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
get2 Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
v = IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,std::vector<at::Tensor>>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Tensor,TensorList))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Tensor,TensorList))) = Ptr TensorList
get3 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
-> IO (D (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
get3 Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))
v = IO (D (Ptr (StdTuple '(Tensor, Tensor, Tensor, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,std::vector<at::Tensor>>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
-> IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
get0 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
-> IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
get1 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) = Ptr Tensor
get2 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
-> IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
get2 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
v = IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) = Ptr Tensor
get3 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
-> IO (D (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
get3 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
v = IO (D (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>* v)));}|]
instance CppTuple5 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) where
type E (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64))) = Int64
get4 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
-> IO (E (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
get4 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))
v = IO (E (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Int64))))
[C.throwBlock| int64_t { return (std::get<4>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, Tensor))
-> IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor))))
get0 Ptr (StdTuple '(Tensor, Tensor, Tensor))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, Tensor))
-> IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor))))
get1 Ptr (StdTuple '(Tensor, Tensor, Tensor))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor))) = Ptr Tensor
get2 :: Ptr (StdTuple '(Tensor, Tensor, Tensor))
-> IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor))))
get2 Ptr (StdTuple '(Tensor, Tensor, Tensor))
v = IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
-> IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
get0 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
-> IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
get1 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get2 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
-> IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
get2 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
v = IO (C (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get3 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
-> IO (D (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
get3 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))
v = IO (D (Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,CDouble,Int64))) where
type A (Ptr (StdTuple '(Tensor,Tensor,CDouble,Int64))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,CDouble,Int64))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
-> IO (A (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
get0 Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,double,int64_t>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
-> IO (B (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
get1 Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,double,int64_t>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,CDouble,Int64))) where
type C (Ptr (StdTuple '(Tensor,Tensor,CDouble,Int64))) = CDouble
get2 :: Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
-> IO (C (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
get2 Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
v = IO (C (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
[C.throwBlock| double { return (std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,double,int64_t>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,CDouble,Int64))) where
type D (Ptr (StdTuple '(Tensor,Tensor,CDouble,Int64))) = Int64
get3 :: Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
-> IO (D (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
get3 Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))
v = IO (D (Ptr (StdTuple '(Tensor, Tensor, CDouble, Int64))))
[C.throwBlock| int64_t { return (std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,double,int64_t>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get0 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(A (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get0 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(A (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
get1 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(B (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get1 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(B (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get2 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(C (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get2 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(C (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get3 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(D (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get3 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(D (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple5 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type E (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get4 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(E (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get4 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(E (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<4>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple6 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type F (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get5 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(F (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get5 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(F (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<5>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple7 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type G (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get6 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(G (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get6 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(G (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<6>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(CDouble,Int64))) where
type A (Ptr (StdTuple '(CDouble,Int64))) = CDouble
type B (Ptr (StdTuple '(CDouble,Int64))) = Int64
get0 :: Ptr (StdTuple '(CDouble, Int64))
-> IO (A (Ptr (StdTuple '(CDouble, Int64))))
get0 Ptr (StdTuple '(CDouble, Int64))
v = IO (A (Ptr (StdTuple '(CDouble, Int64))))
[C.throwBlock| double { return (std::get<0>(*$(std::tuple<double,int64_t>* v)));}|]
get1 :: Ptr (StdTuple '(CDouble, Int64))
-> IO (B (Ptr (StdTuple '(CDouble, Int64))))
get1 Ptr (StdTuple '(CDouble, Int64))
v = IO (B (Ptr (StdTuple '(CDouble, Int64))))
[C.throwBlock| int64_t { return (std::get<1>(*$(std::tuple<double,int64_t>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(A (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get0 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(A (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(B (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get1 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(B (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get2 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(C (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get2 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(C (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get3 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(D (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get3 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(D (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple5 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type E (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get4 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(E (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get4 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(E (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<4>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple6 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) where
type F (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor,Tensor))) = Ptr Tensor
get5 :: Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
-> IO
(F (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
get5 Ptr (StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))
v = IO
(F (Ptr
(StdTuple '(Tensor, Tensor, Tensor, Tensor, Tensor, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<5>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,TensorList,TensorList))) where
type A (Ptr (StdTuple '(Tensor,TensorList,TensorList))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,TensorList,TensorList))) = Ptr TensorList
get0 :: Ptr (StdTuple '(Tensor, TensorList, TensorList))
-> IO (A (Ptr (StdTuple '(Tensor, TensorList, TensorList))))
get0 Ptr (StdTuple '(Tensor, TensorList, TensorList))
v = IO (A (Ptr (StdTuple '(Tensor, TensorList, TensorList))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, TensorList, TensorList))
-> IO (B (Ptr (StdTuple '(Tensor, TensorList, TensorList))))
get1 Ptr (StdTuple '(Tensor, TensorList, TensorList))
v = IO (B (Ptr (StdTuple '(Tensor, TensorList, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<1>(*$(std::tuple<at::Tensor,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,TensorList,TensorList))) where
type C (Ptr (StdTuple '(Tensor,TensorList,TensorList))) = Ptr TensorList
get2 :: Ptr (StdTuple '(Tensor, TensorList, TensorList))
-> IO (C (Ptr (StdTuple '(Tensor, TensorList, TensorList))))
get2 Ptr (StdTuple '(Tensor, TensorList, TensorList))
v = IO (C (Ptr (StdTuple '(Tensor, TensorList, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<2>(*$(std::tuple<at::Tensor,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,TensorList))) where
type A (Ptr (StdTuple '(Tensor,TensorList))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,TensorList))) = Ptr TensorList
get0 :: Ptr (StdTuple '(Tensor, TensorList))
-> IO (A (Ptr (StdTuple '(Tensor, TensorList))))
get0 Ptr (StdTuple '(Tensor, TensorList))
v = IO (A (Ptr (StdTuple '(Tensor, TensorList))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,std::vector<at::Tensor>>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, TensorList))
-> IO (B (Ptr (StdTuple '(Tensor, TensorList))))
get1 Ptr (StdTuple '(Tensor, TensorList))
v = IO (B (Ptr (StdTuple '(Tensor, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<1>(*$(std::tuple<at::Tensor,std::vector<at::Tensor>>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Ptr Tensor
get0 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(A (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get0 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(A (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
get1 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(B (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get1 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(B (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Ptr Tensor
get2 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(C (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get2 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(C (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Ptr Tensor
get3 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(D (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get3 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(D (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple5 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type E (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Int64
get4 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(E (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get4 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(E (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| int64_t { return (std::get<4>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple6 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type F (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Int64
get5 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(F (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get5 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(F (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| int64_t { return (std::get<5>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple7 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type G (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Int64
get6 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(G (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get6 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(G (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| int64_t { return (std::get<6>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple8 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type H (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Int64
get7 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(H (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get7 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(H (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| int64_t { return (std::get<7>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple9 (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) where
type I (Ptr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Int64,Int64,Int64,Int64,Tensor))) = Ptr Tensor
get8 :: Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
-> IO
(I (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
get8 Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))
v = IO
(I (Ptr
(StdTuple
'(Tensor, Tensor, Tensor, Tensor, Int64, Int64, Int64, Int64,
Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<8>(*$(std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t,int64_t,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) where
type A (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) = Ptr Tensor
get0 :: Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
-> IO (A (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
get0 Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
v = IO (A (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Tensor,int64_t,int64_t,at::Tensor>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
-> IO (B (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
get1 Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
v = IO (B (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<at::Tensor,at::Tensor,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) where
type C (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) = Int64
get2 :: Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
-> IO (C (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
get2 Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
v = IO (C (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
[C.throwBlock| int64_t { return (std::get<2>(*$(std::tuple<at::Tensor,at::Tensor,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) where
type D (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) = Int64
get3 :: Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
-> IO (D (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
get3 Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
v = IO (D (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
[C.throwBlock| int64_t { return (std::get<3>(*$(std::tuple<at::Tensor,at::Tensor,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple5 (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) where
type E (Ptr (StdTuple '(Tensor,Tensor,Int64,Int64,Tensor))) = Ptr Tensor
get4 :: Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
-> IO (E (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
get4 Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))
v = IO (E (Ptr (StdTuple '(Tensor, Tensor, Int64, Int64, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<4>(*$(std::tuple<at::Tensor,at::Tensor,int64_t,int64_t,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(TensorList,Tensor))) where
type A (Ptr (StdTuple '(TensorList,Tensor))) = Ptr TensorList
type B (Ptr (StdTuple '(TensorList,Tensor))) = Ptr Tensor
get0 :: Ptr (StdTuple '(TensorList, Tensor))
-> IO (A (Ptr (StdTuple '(TensorList, Tensor))))
get0 Ptr (StdTuple '(TensorList, Tensor))
v = IO (A (Ptr (StdTuple '(TensorList, Tensor))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<0>(*$(std::tuple<std::vector<at::Tensor>,at::Tensor>* v)));}|]
get1 :: Ptr (StdTuple '(TensorList, Tensor))
-> IO (B (Ptr (StdTuple '(TensorList, Tensor))))
get1 Ptr (StdTuple '(TensorList, Tensor))
v = IO (B (Ptr (StdTuple '(TensorList, Tensor))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<1>(*$(std::tuple<std::vector<at::Tensor>,at::Tensor>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) where
type A (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) = Ptr TensorList
type B (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) = Ptr TensorList
get0 :: Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
-> IO
(A (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
get0 Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
v = IO
(A (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<0>(*$(std::tuple<std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
get1 :: Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
-> IO
(B (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
get1 Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
v = IO
(B (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<1>(*$(std::tuple<std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
instance CppTuple3 (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) where
type C (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) = Ptr TensorList
get2 :: Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
-> IO
(C (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
get2 Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
v = IO
(C (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<2>(*$(std::tuple<std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
instance CppTuple4 (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) where
type D (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) = Ptr TensorList
get3 :: Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
-> IO
(D (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
get3 Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
v = IO
(D (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<3>(*$(std::tuple<std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
instance CppTuple5 (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) where
type E (Ptr (StdTuple '(TensorList,TensorList,TensorList,TensorList,TensorList))) = Ptr TensorList
get4 :: Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
-> IO
(E (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
get4 Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))
v = IO
(E (Ptr
(StdTuple
'(TensorList, TensorList, TensorList, TensorList, TensorList))))
[C.throwBlock| std::vector<at::Tensor>* { return new std::vector<at::Tensor>(std::get<4>(*$(std::tuple<std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>,std::vector<at::Tensor>>* v)));}|]
instance CppTuple2 (Ptr (StdTuple '(Tensor,Generator))) where
type A (Ptr (StdTuple '(Tensor,Generator))) = Ptr Tensor
type B (Ptr (StdTuple '(Tensor,Generator))) = Ptr Generator
get0 :: Ptr (StdTuple '(Tensor, Generator))
-> IO (A (Ptr (StdTuple '(Tensor, Generator))))
get0 Ptr (StdTuple '(Tensor, Generator))
v = IO (A (Ptr (StdTuple '(Tensor, Generator))))
[C.throwBlock| at::Tensor* { return new at::Tensor(std::get<0>(*$(std::tuple<at::Tensor,at::Generator>* v)));}|]
get1 :: Ptr (StdTuple '(Tensor, Generator))
-> IO (B (Ptr (StdTuple '(Tensor, Generator))))
get1 Ptr (StdTuple '(Tensor, Generator))
v = IO (B (Ptr (StdTuple '(Tensor, Generator))))
[C.throwBlock| at::Generator* { return new at::Generator(std::get<1>(*$(std::tuple<at::Tensor,at::Generator>* v)));}|]
makeTuple2 :: (A (Ptr (StdTuple '(Tensor, Generator))),
B (Ptr (StdTuple '(Tensor, Generator))))
-> IO (Ptr (StdTuple '(Tensor, Generator)))
makeTuple2 (A (Ptr (StdTuple '(Tensor, Generator)))
a,B (Ptr (StdTuple '(Tensor, Generator)))
b) = [C.throwBlock| std::tuple<at::Tensor,at::Generator>* { return new std::tuple<at::Tensor,at::Generator>(std::make_tuple(*$(at::Tensor* a),*$(at::Generator* b)));}|]