{-# LANGUAGE CPP #-} module ArrayFire.Internal.Index where import ArrayFire.Internal.Defines import ArrayFire.Internal.Types import Foreign.Ptr import Foreign.C.Types #include "af/index.h" foreign import ccall unsafe "af_index" af_index :: Ptr AFArray -> AFArray -> CUInt -> Ptr AFSeq -> IO AFErr foreign import ccall unsafe "af_lookup" af_lookup :: Ptr AFArray -> AFArray -> AFArray -> CUInt -> IO AFErr foreign import ccall unsafe "af_assign_seq" af_assign_seq :: Ptr AFArray -> AFArray -> CUInt -> Ptr AFSeq -> AFArray -> IO AFErr foreign import ccall unsafe "af_index_gen" af_index_gen :: Ptr AFArray -> AFArray -> DimT -> Ptr AFIndex -> IO AFErr foreign import ccall unsafe "af_assign_gen" af_assign_gen :: Ptr AFArray -> AFArray -> DimT -> Ptr AFIndex -> AFArray -> IO AFErr foreign import ccall unsafe "af_create_indexers" af_create_indexers :: Ptr (Ptr AFIndex) -> IO AFErr foreign import ccall unsafe "af_set_array_indexer" af_set_array_indexer :: Ptr AFIndex -> AFArray -> DimT -> IO AFErr foreign import ccall unsafe "af_set_seq_indexer" af_set_seq_indexer :: Ptr AFIndex -> Ptr AFSeq -> DimT -> CBool -> IO AFErr foreign import ccall unsafe "af_set_seq_param_indexer" af_set_seq_param_indexer :: Ptr AFIndex -> Double -> Double -> Double -> DimT -> CBool -> IO AFErr foreign import ccall unsafe "af_release_indexers" af_release_indexers :: Ptr AFIndex -> IO AFErr