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

module Torch.Internal.Managed.Type.IntArray where


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





newIntArray
  :: IO (ForeignPtr IntArray)
newIntArray :: IO (ForeignPtr IntArray)
newIntArray = forall a ca. Castable a ca => IO ca -> IO a
_cast0 IO (Ptr IntArray)
Unmanaged.newIntArray

intArray_empty
  :: ForeignPtr IntArray
  -> IO (CBool)
intArray_empty :: ForeignPtr IntArray -> IO CBool
intArray_empty = forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
_cast1 Ptr IntArray -> IO CBool
Unmanaged.intArray_empty

intArray_size
  :: ForeignPtr IntArray
  -> IO (CSize)
intArray_size :: ForeignPtr IntArray -> IO CSize
intArray_size = forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
_cast1 Ptr IntArray -> IO CSize
Unmanaged.intArray_size

intArray_at_s
  :: ForeignPtr IntArray
  -> CSize
  -> IO (Int64)
intArray_at_s :: ForeignPtr IntArray -> CSize -> IO Int64
intArray_at_s = forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
_cast2 Ptr IntArray -> CSize -> IO Int64
Unmanaged.intArray_at_s

intArray_push_back_l
  :: ForeignPtr IntArray
  -> Int64
  -> IO (())
intArray_push_back_l :: ForeignPtr IntArray -> Int64 -> IO ()
intArray_push_back_l = forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
_cast2 Ptr IntArray -> Int64 -> IO ()
Unmanaged.intArray_push_back_l

intArray_fromList
  :: ForeignPtr IntArray
  -> [Int64]
  -> IO (())
intArray_fromList :: ForeignPtr IntArray -> [Int64] -> IO ()
intArray_fromList = forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
_cast2 Ptr IntArray -> [Int64] -> IO ()
Unmanaged.intArray_fromList

intArray_toList
  :: ForeignPtr IntArray -> IO [Int64]
intArray_toList :: ForeignPtr IntArray -> IO [Int64]
intArray_toList = forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
_cast1 Ptr IntArray -> IO [Int64]
Unmanaged.intArray_toList