{-# LINE 1 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
{-# LANGUAGE Safe #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module MXNet.NNVM.Base.Internal.Raw where
import qualified Foreign.C.String as C2HSImp
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import Foreign.C.String
import Foreign.C.Types
import Foreign.Marshal.Alloc
import Foreign.Marshal.Array
import Foreign.Marshal.Utils ( with )
import Foreign.Ptr
import Foreign.Storable
import C2HS.C.Extra.Marshal
import MXNet.NNVM.Internal.Types.Raw
{-# LINE 29 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnAPISetLastError :: (String) -> IO ()
nnAPISetLastError a1 =
C2HSImp.withCString a1 $ \a1' ->
nnAPISetLastError'_ a1' >>
return ()
{-# LINE 35 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGetLastError :: IO ((String))
nnGetLastError =
nnGetLastError'_ >>= \res ->
C2HSImp.peekCString res >>= \res' ->
return (res')
{-# LINE 39 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnListAllOpNamesImpl :: IO ((Int), (NNUInt), (Ptr (Ptr CChar)))
nnListAllOpNamesImpl =
alloca $ \a1' ->
alloca $ \a2' ->
nnListAllOpNamesImpl'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a1'>>= \a1'' ->
peek a2'>>= \a2'' ->
return (res', a1'', a2'')
{-# LINE 44 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnListAllOpNames :: IO (Int, NNUInt, [String])
nnListAllOpNames = do
(res, n, p) <- nnListAllOpNamesImpl
ss <- peekStringArray n p
return (res, n, ss)
nnGetOpHandle :: (String) -> IO ((Int), (OpHandle))
nnGetOpHandle a1 =
C2HSImp.withCString a1 $ \a1' ->
alloca $ \a2' ->
nnGetOpHandle'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a2'>>= \a2'' ->
return (res', a2'')
{-# LINE 55 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnListUniqueOpsImpl :: IO ((Int), (NNUInt), (Ptr OpHandle))
nnListUniqueOpsImpl =
alloca $ \a1' ->
alloca $ \a2' ->
nnListUniqueOpsImpl'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a1'>>= \a1'' ->
peek a2'>>= \a2'' ->
return (res', a1'', a2'')
{-# LINE 60 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnListUniqueOps :: IO (Int, NNUInt, [OpHandle])
nnListUniqueOps = do
(res, n, p) <- nnListUniqueOpsImpl
ops <- peekArray (fromIntegral n) p
return (res, n, ops)
nnGetOpInfoImpl :: (OpHandle) -> IO ((Int), (String), (String), (NNUInt), (Ptr (Ptr CChar)), (Ptr (Ptr CChar)), (Ptr (Ptr CChar)), (String))
nnGetOpInfoImpl a1 =
let {a1' = id a1} in
alloca $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
alloca $ \a5' ->
alloca $ \a6' ->
alloca $ \a7' ->
alloca $ \a8' ->
nnGetOpInfoImpl'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
let {res' = fromIntegral res} in
peekString a2'>>= \a2'' ->
peekString a3'>>= \a3'' ->
peek a4'>>= \a4'' ->
peek a5'>>= \a5'' ->
peek a6'>>= \a6'' ->
peek a7'>>= \a7'' ->
peekString a8'>>= \a8'' ->
return (res', a2'', a3'', a4'', a5'', a6'', a7'', a8'')
{-# LINE 77 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGetOpInfo :: OpHandle
-> IO (Int, String, String, NNUInt, [String], [String], [String], String)
nnGetOpInfo handle = do
(res, name, desc, argc, pargv, pargt, pargdesc, rettype) <- nnGetOpInfoImpl handle
argv <- peekStringArray argc pargv
argt <- peekStringArray argc pargt
argdesc <- peekStringArray argc pargdesc
return (res, name, desc, argc, argv, argt, argdesc, rettype)
nnSymbolCreateAtomicSymbol :: (OpHandle) -> (NNUInt) -> ([String]) -> ([String]) -> IO ((Int), (SymbolHandle))
nnSymbolCreateAtomicSymbol a1 a2 a3 a4 =
let {a1' = id a1} in
let {a2' = id a2} in
withStringArray a3 $ \a3' ->
withStringArray a4 $ \a4' ->
alloca $ \a5' ->
nnSymbolCreateAtomicSymbol'_ a1' a2' a3' a4' a5' >>= \res ->
let {res' = fromIntegral res} in
peek a5'>>= \a5'' ->
return (res', a5'')
{-# LINE 94 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolCreateVariable :: (String) -> IO ((Int), (SymbolHandle))
nnSymbolCreateVariable a1 =
C2HSImp.withCString a1 $ \a1' ->
alloca $ \a2' ->
nnSymbolCreateVariable'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a2'>>= \a2'' ->
return (res', a2'')
{-# LINE 99 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolCreateGroup :: (NNUInt) -> ([SymbolHandle]) -> IO ((Int), (SymbolHandle))
nnSymbolCreateGroup a1 a2 =
let {a1' = id a1} in
withArray a2 $ \a2' ->
alloca $ \a3' ->
nnSymbolCreateGroup'_ a1' a2' a3' >>= \res ->
let {res' = fromIntegral res} in
peek a3'>>= \a3'' ->
return (res', a3'')
{-# LINE 105 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnAddControlDeps :: (SymbolHandle)
-> (SymbolHandle)
-> IO ((Int))
nnAddControlDeps a1 a2 =
let {a1' = id a1} in
let {a2' = id a2} in
nnAddControlDeps'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 110 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolFree :: (SymbolHandle) -> IO ((Int))
nnSymbolFree a1 =
let {a1' = id a1} in
nnSymbolFree'_ a1' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 114 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolCopy :: (SymbolHandle) -> IO ((Int), (SymbolHandle))
nnSymbolCopy a1 =
let {a1' = id a1} in
alloca $ \a2' ->
nnSymbolCopy'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a2'>>= \a2'' ->
return (res', a2'')
{-# LINE 119 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolPrint :: (SymbolHandle) -> IO ((Int), (String))
nnSymbolPrint a1 =
let {a1' = id a1} in
alloca $ \a2' ->
nnSymbolPrint'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peekString a2'>>= \a2'' ->
return (res', a2'')
{-# LINE 124 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolGetAttr :: (SymbolHandle)
-> (String)
-> IO ((Int), (String), (Int))
nnSymbolGetAttr a1 a2 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
nnSymbolGetAttr'_ a1' a2' a3' a4' >>= \res ->
let {res' = fromIntegral res} in
peekString a3'>>= \a3'' ->
peekIntegral a4'>>= \a4'' ->
return (res', a3'', a4'')
{-# LINE 131 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolSetAttrs :: (SymbolHandle) -> (NNUInt) -> ([String])
-> ([String])
-> IO ((Int))
nnSymbolSetAttrs a1 a2 a3 a4 =
let {a1' = id a1} in
let {a2' = id a2} in
withStringArray a3 $ \a3' ->
withStringArray a4 $ \a4' ->
nnSymbolSetAttrs'_ a1' a2' a3' a4' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 138 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolListAttrsImpl :: (SymbolHandle) -> (Int)
-> IO ((Int), (NNUInt), (Ptr (Ptr CChar)))
nnSymbolListAttrsImpl a1 a2 =
let {a1' = id a1} in
let {a2' = fromIntegral a2} in
alloca $ \a3' ->
alloca $ \a4' ->
nnSymbolListAttrsImpl'_ a1' a2' a3' a4' >>= \res ->
let {res' = fromIntegral res} in
peek a3'>>= \a3'' ->
peek a4'>>= \a4'' ->
return (res', a3'', a4'')
{-# LINE 145 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolListAttrs :: SymbolHandle -> Int -> IO (Int, NNUInt, [String])
nnSymbolListAttrs sym recursive = do
(res, n, p) <- nnSymbolListAttrsImpl sym recursive
ss <- peekStringArray n p
return (res, n, ss)
nnSymbolListInputVariablesImpl :: (SymbolHandle) -> (Int) -> IO ((Int), (NNUInt), (Ptr SymbolHandle))
nnSymbolListInputVariablesImpl a1 a2 =
let {a1' = id a1} in
let {a2' = fromIntegral a2} in
alloca $ \a3' ->
alloca $ \a4' ->
nnSymbolListInputVariablesImpl'_ a1' a2' a3' a4' >>= \res ->
let {res' = fromIntegral res} in
peek a3'>>= \a3'' ->
peek a4'>>= \a4'' ->
return (res', a3'', a4'')
{-# LINE 158 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolListInputVariables :: SymbolHandle -> Int -> IO (Int, NNUInt, [SymbolHandle])
nnSymbolListInputVariables sym opt = do
(res, n, p) <- nnSymbolListInputVariablesImpl sym opt
vs <- peekArray (fromIntegral n) p
return (res, n, vs)
nnSymbolListInputNamesImpl :: (SymbolHandle) -> (Int) -> IO ((Int), (NNUInt), (Ptr (Ptr CChar)))
nnSymbolListInputNamesImpl a1 a2 =
let {a1' = id a1} in
let {a2' = fromIntegral a2} in
alloca $ \a3' ->
alloca $ \a4' ->
nnSymbolListInputNamesImpl'_ a1' a2' a3' a4' >>= \res ->
let {res' = fromIntegral res} in
peek a3'>>= \a3'' ->
peek a4'>>= \a4'' ->
return (res', a3'', a4'')
{-# LINE 171 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolListInputNames :: SymbolHandle -> Int -> IO (Int, NNUInt, [String])
nnSymbolListInputNames sym opt = do
(res, n, p) <- nnSymbolListInputNamesImpl sym opt
ss <- peekStringArray n p
return (res, n, ss)
nnSymbolListOutputNamesImpl :: (SymbolHandle) -> IO ((Int), (NNUInt), (Ptr (Ptr CChar)))
nnSymbolListOutputNamesImpl a1 =
let {a1' = id a1} in
alloca $ \a2' ->
alloca $ \a3' ->
nnSymbolListOutputNamesImpl'_ a1' a2' a3' >>= \res ->
let {res' = fromIntegral res} in
peek a2'>>= \a2'' ->
peek a3'>>= \a3'' ->
return (res', a2'', a3'')
{-# LINE 183 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolListOutputNames :: SymbolHandle -> IO (Int, NNUInt, [String])
nnSymbolListOutputNames sym = do
(res, n, p) <- nnSymbolListOutputNamesImpl sym
ss <- peekStringArray n p
return (res, n, ss)
nnSymbolGetInternals :: (SymbolHandle) -> IO ((Int), (SymbolHandle))
nnSymbolGetInternals a1 =
let {a1' = id a1} in
alloca $ \a2' ->
nnSymbolGetInternals'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a2'>>= \a2'' ->
return (res', a2'')
{-# LINE 194 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolGetOutput :: (SymbolHandle) -> (NNUInt) -> IO ((Int), (SymbolHandle))
nnSymbolGetOutput a1 a2 =
let {a1' = id a1} in
let {a2' = id a2} in
alloca $ \a3' ->
nnSymbolGetOutput'_ a1' a2' a3' >>= \res ->
let {res' = fromIntegral res} in
peek a3'>>= \a3'' ->
return (res', a3'')
{-# LINE 200 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnSymbolCompose :: (SymbolHandle) -> (String) -> (NNUInt) -> ([String]) -> IO ((Int), (SymbolHandle))
nnSymbolCompose a1 a2 a3 a4 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
let {a3' = id a3} in
withStringArray a4 $ \a4' ->
alloca $ \a5' ->
nnSymbolCompose'_ a1' a2' a3' a4' a5' >>= \res ->
let {res' = fromIntegral res} in
peek a5'>>= \a5'' ->
return (res', a5'')
{-# LINE 208 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGraphCreate :: (SymbolHandle) -> IO ((Int), (GraphHandle))
nnGraphCreate a1 =
let {a1' = id a1} in
alloca $ \a2' ->
nnGraphCreate'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a2'>>= \a2'' ->
return (res', a2'')
{-# LINE 213 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGraphFree :: (GraphHandle) -> IO ((Int))
nnGraphFree a1 =
let {a1' = id a1} in
nnGraphFree'_ a1' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 217 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGraphGetSymbol :: (GraphHandle)
-> IO ((Int), (SymbolHandle))
nnGraphGetSymbol a1 =
let {a1' = id a1} in
alloca $ \a2' ->
nnGraphGetSymbol'_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
peek a2'>>= \a2'' ->
return (res', a2'')
{-# LINE 222 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGraphSetJSONAttr :: (GraphHandle) -> (String) -> (String) -> IO ((Int))
nnGraphSetJSONAttr a1 a2 a3 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
C2HSImp.withCString a3 $ \a3' ->
nnGraphSetJSONAttr'_ a1' a2' a3' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 228 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGraphGetJSONAttr :: (SymbolHandle) -> (String) -> IO ((Int), (String), (Int))
nnGraphGetJSONAttr a1 a2 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
nnGraphGetJSONAttr'_ a1' a2' a3' a4' >>= \res ->
let {res' = fromIntegral res} in
peekString a3'>>= \a3'' ->
peekIntegral a4'>>= \a4'' ->
return (res', a3'', a4'')
{-# LINE 235 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGraphSetNodeEntryListAttr_ :: (GraphHandle) -> (String) -> (SymbolHandle) -> IO ((Int))
nnGraphSetNodeEntryListAttr_ a1 a2 a3 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
let {a3' = id a3} in
nnGraphSetNodeEntryListAttr_'_ a1' a2' a3' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 241 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
nnGraphApplyPasses :: (GraphHandle) -> (NNUInt) -> ([String]) -> IO ((Int), (GraphHandle))
nnGraphApplyPasses a1 a2 a3 =
let {a1' = id a1} in
let {a2' = id a2} in
withStringArray a3 $ \a3' ->
alloca $ \a4' ->
nnGraphApplyPasses'_ a1' a2' a3' a4' >>= \res ->
let {res' = fromIntegral res} in
peek a4'>>= \a4'' ->
return (res', a4'')
{-# LINE 248 "src/MXNet/NNVM/Base/Internal/Raw.chs" #-}
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNAPISetLastError"
nnAPISetLastError'_ :: ((C2HSImp.Ptr C2HSImp.CChar) -> (IO ()))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGetLastError"
nnGetLastError'_ :: (IO (C2HSImp.Ptr C2HSImp.CChar))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNListAllOpNames"
nnListAllOpNamesImpl'_ :: ((C2HSImp.Ptr C2HSImp.CUInt) -> ((C2HSImp.Ptr (C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar))) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGetOpHandle"
nnGetOpHandle'_ :: ((C2HSImp.Ptr C2HSImp.CChar) -> ((C2HSImp.Ptr (OpHandle)) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNListUniqueOps"
nnListUniqueOpsImpl'_ :: ((C2HSImp.Ptr C2HSImp.CUInt) -> ((C2HSImp.Ptr (C2HSImp.Ptr (OpHandle))) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGetOpInfo"
nnGetOpInfoImpl'_ :: ((OpHandle) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr C2HSImp.CUInt) -> ((C2HSImp.Ptr (C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar))) -> ((C2HSImp.Ptr (C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar))) -> ((C2HSImp.Ptr (C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar))) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> (IO C2HSImp.CInt)))))))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolCreateAtomicSymbol"
nnSymbolCreateAtomicSymbol'_ :: ((OpHandle) -> (C2HSImp.CUInt -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt))))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolCreateVariable"
nnSymbolCreateVariable'_ :: ((C2HSImp.Ptr C2HSImp.CChar) -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolCreateGroup"
nnSymbolCreateGroup'_ :: (C2HSImp.CUInt -> ((C2HSImp.Ptr (SymbolHandle)) -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNAddControlDeps"
nnAddControlDeps'_ :: ((SymbolHandle) -> ((SymbolHandle) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolFree"
nnSymbolFree'_ :: ((SymbolHandle) -> (IO C2HSImp.CInt))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolCopy"
nnSymbolCopy'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolPrint"
nnSymbolPrint'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolGetAttr"
nnSymbolGetAttr'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr C2HSImp.CChar) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolSetAttrs"
nnSymbolSetAttrs'_ :: ((SymbolHandle) -> (C2HSImp.CUInt -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> (IO C2HSImp.CInt)))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolListAttrs"
nnSymbolListAttrsImpl'_ :: ((SymbolHandle) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CUInt) -> ((C2HSImp.Ptr (C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar))) -> (IO C2HSImp.CInt)))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolListInputVariables"
nnSymbolListInputVariablesImpl'_ :: ((SymbolHandle) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CUInt) -> ((C2HSImp.Ptr (C2HSImp.Ptr (SymbolHandle))) -> (IO C2HSImp.CInt)))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolListInputNames"
nnSymbolListInputNamesImpl'_ :: ((SymbolHandle) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CUInt) -> ((C2HSImp.Ptr (C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar))) -> (IO C2HSImp.CInt)))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolListOutputNames"
nnSymbolListOutputNamesImpl'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr C2HSImp.CUInt) -> ((C2HSImp.Ptr (C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar))) -> (IO C2HSImp.CInt))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolGetInternals"
nnSymbolGetInternals'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolGetOutput"
nnSymbolGetOutput'_ :: ((SymbolHandle) -> (C2HSImp.CUInt -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNSymbolCompose"
nnSymbolCompose'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (C2HSImp.CUInt -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt))))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGraphCreate"
nnGraphCreate'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr (GraphHandle)) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGraphFree"
nnGraphFree'_ :: ((GraphHandle) -> (IO C2HSImp.CInt))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGraphGetSymbol"
nnGraphGetSymbol'_ :: ((GraphHandle) -> ((C2HSImp.Ptr (SymbolHandle)) -> (IO C2HSImp.CInt)))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGraphSetJSONAttr"
nnGraphSetJSONAttr'_ :: ((GraphHandle) -> ((C2HSImp.Ptr C2HSImp.CChar) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO C2HSImp.CInt))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGraphGetJSONAttr"
nnGraphGetJSONAttr'_ :: ((SymbolHandle) -> ((C2HSImp.Ptr C2HSImp.CChar) -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGraphSetNodeEntryListAttr_"
nnGraphSetNodeEntryListAttr_'_ :: ((GraphHandle) -> ((C2HSImp.Ptr C2HSImp.CChar) -> ((SymbolHandle) -> (IO C2HSImp.CInt))))
foreign import ccall safe "MXNet/NNVM/Base/Internal/Raw.chs.h NNGraphApplyPasses"
nnGraphApplyPasses'_ :: ((GraphHandle) -> (C2HSImp.CUInt -> ((C2HSImp.Ptr (C2HSImp.Ptr C2HSImp.CChar)) -> ((C2HSImp.Ptr (GraphHandle)) -> (IO C2HSImp.CInt)))))