{-# LANGUAGE CPP #-} module ArrayFire.Internal.Array where import ArrayFire.Internal.Defines import Foreign.Ptr import Foreign.C.Types #include "af/array.h" foreign import ccall unsafe "af_create_array" af_create_array :: Ptr AFArray -> Ptr () -> CUInt -> Ptr DimT -> AFDtype -> IO AFErr foreign import ccall unsafe "af_create_handle" af_create_handle :: Ptr AFArray -> CUInt -> Ptr DimT -> AFDtype -> IO AFErr foreign import ccall unsafe "af_copy_array" af_copy_array :: Ptr AFArray -> AFArray -> IO AFErr foreign import ccall unsafe "af_write_array" af_write_array :: AFArray -> Ptr () -> CSize -> AFSource -> IO AFErr foreign import ccall unsafe "af_get_data_ptr" af_get_data_ptr :: Ptr () -> AFArray -> IO AFErr foreign import ccall unsafe "af_release_array" af_release_array :: AFArray -> IO AFErr foreign import ccall unsafe "af_retain_array" af_retain_array :: Ptr AFArray -> AFArray -> IO AFErr foreign import ccall unsafe "af_get_data_ref_count" af_get_data_ref_count :: Ptr CInt -> AFArray -> IO AFErr foreign import ccall unsafe "af_eval" af_eval :: AFArray -> IO AFErr foreign import ccall unsafe "af_eval_multiple" af_eval_multiple :: CInt -> Ptr AFArray -> IO AFErr foreign import ccall unsafe "af_set_manual_eval_flag" af_set_manual_eval_flag :: CBool -> IO AFErr foreign import ccall unsafe "af_get_manual_eval_flag" af_get_manual_eval_flag :: Ptr CBool -> IO AFErr foreign import ccall unsafe "af_get_elements" af_get_elements :: Ptr DimT -> AFArray -> IO AFErr foreign import ccall unsafe "af_get_type" af_get_type :: Ptr AFDtype -> AFArray -> IO AFErr foreign import ccall unsafe "af_get_dims" af_get_dims :: Ptr DimT -> Ptr DimT -> Ptr DimT -> Ptr DimT -> AFArray -> IO AFErr foreign import ccall unsafe "af_get_numdims" af_get_numdims :: Ptr CUInt -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_empty" af_is_empty :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_scalar" af_is_scalar :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_row" af_is_row :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_column" af_is_column :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_vector" af_is_vector :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_complex" af_is_complex :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_real" af_is_real :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_double" af_is_double :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_single" af_is_single :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_realfloating" af_is_realfloating :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_floating" af_is_floating :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_integer" af_is_integer :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_bool" af_is_bool :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_is_sparse" af_is_sparse :: Ptr CBool -> AFArray -> IO AFErr foreign import ccall unsafe "af_get_scalar" af_get_scalar :: Ptr () -> AFArray -> IO AFErr