arrayfire-0.5.1.0: src/ArrayFire/Internal/Defines.hsc
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE RecordWildCards #-}
module ArrayFire.Internal.Defines where
import Foreign.Ptr
import Foreign.C.Types
import Foreign.Storable
#include "af/defines.h"
#include "af/seq.h"
#include "af/index.h"
#include "af/complex.h"
afVersion :: Integer
afVersion = #const AF_API_VERSION
newtype AFErr = AFErr { afError :: CInt }
deriving (Show, Eq)
#{enum AFErr, AFErr
, afSuccess = AF_SUCCESS
, afErrNoMem = AF_ERR_NO_MEM
, afErrDriver = AF_ERR_DRIVER
, afErrRuntime = AF_ERR_RUNTIME
, afErrInvalidArray = AF_ERR_INVALID_ARRAY
, afErrArg = AF_ERR_ARG
, afErrSize = AF_ERR_SIZE
, afErrType = AF_ERR_TYPE
, afErrDiffType = AF_ERR_DIFF_TYPE
, afErrBatch = AF_ERR_BATCH
, afErrDevice = AF_ERR_DEVICE
, afErrNotSupported = AF_ERR_NOT_SUPPORTED
, afErrNotConfigured = AF_ERR_NOT_CONFIGURED
, afErrNonFree = AF_ERR_NONFREE
, afErrNoDbl = AF_ERR_NO_DBL
, afErrNoGfx = AF_ERR_NO_GFX
, afErrLoadLib = AF_ERR_LOAD_LIB
, afErrLoadSym = AF_ERR_LOAD_SYM
, afErrArrBkndMismatch = AF_ERR_ARR_BKND_MISMATCH
, afErrInternal = AF_ERR_INTERNAL
, afErrUnknown = AF_ERR_UNKNOWN
}
-- | Low-level for representation of ArrayFire types
-- | AFDType
-- Newtype over ArrayFire's internal type tag
newtype AFDtype = AFDtype
{ afDType :: CInt
-- ^ Value corresponding to ArrayFire type
} deriving (Show, Eq, Storable)
-- | Enums for AFDtype
#{enum AFDtype, AFDtype
, f32 = f32
, c32 = c32
, f64 = f64
, c64 = c64
, b8 = b8
, s32 = s32
, u32 = u32
, u8 = u8
, s64 = s64
, u64 = u64
, s16 = s16
, u16 = u16
}
newtype AFSource = AFSource CInt
deriving (Ord, Show, Eq)
#{enum AFSource, AFSource
, afDevice = afDevice
, afHost = afHost
}
afMaxDims :: Integer
afMaxDims = #const AF_MAX_DIMS
newtype AFSomeEnum = AFSomeEnum Int
deriving (Ord, Show, Eq, Storable)
#{enum AFSomeEnum, AFSomeEnum
, afSomeEnum = 0
}
-- // A handle for an internal array object
type AFArray = Ptr ()
type AFFeatures = Ptr ()
type AFRandomEngine = Ptr ()
-- // A handle for an internal array object
type AFWindow = Ptr ()
newtype AFInterpType = AFInterpType CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFInterpType, AFInterpType
, afInterpNearest = AF_INTERP_NEAREST
, afInterpLinear = AF_INTERP_LINEAR
, afInterpBilinear = AF_INTERP_BILINEAR
, afInterpCubic = AF_INTERP_CUBIC
, afInterpLower = AF_INTERP_LOWER
, afInterpLinearCosine = AF_INTERP_LINEAR_COSINE
, afInterpBilinearCosine = AF_INTERP_BILINEAR_COSINE
, afInterpBicubic = AF_INTERP_BICUBIC
, afInterpCubicSpline = AF_INTERP_CUBIC_SPLINE
, afInterpBicubicSpline = AF_INTERP_BICUBIC_SPLINE
}
newtype AFBorderType = AFBorderType CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFBorderType, AFBorderType
, afBorderPadZero = AF_PAD_ZERO
, afPadSym = AF_PAD_SYM
}
newtype AFConnectivity = AFConnectivity CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFConnectivity, AFConnectivity
, afConnectivity4 = AF_CONNECTIVITY_4
, afConnectivity8 = AF_CONNECTIVITY_8
}
newtype AFConvMode = AFConvMode CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFConvMode, AFConvMode
, afConvDefault = AF_CONV_DEFAULT
, afConvExpand = AF_CONV_EXPAND
}
newtype AFConvDomain = AFConvDomain CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFConvDomain, AFConvDomain
, afConvAuto = AF_CONV_AUTO
, afConvSpatial = AF_CONV_SPATIAL
, afConvFreq = AF_CONV_FREQ
}
newtype AFMatchType = AFMatchType CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFMatchType, AFMatchType
, afSAD = AF_SAD
, afZSAD = AF_ZSAD
, afLSAD = AF_LSAD
, afSSD = AF_SSD
, afZSSD = AF_ZSSD
, afLSSD = AF_LSSD
, afNCC = AF_NCC
, afZNCC = AF_ZNCC
, afSHD = AF_SHD
}
newtype AFYccStd = AFYccStd Int
deriving (Ord, Show, Eq, Storable)
#{enum AFYccStd, AFYccStd
, afYcc601 = AF_YCC_601
, afYcc709 = AF_YCC_709
, afYcc2020 = AF_YCC_2020
}
newtype AFCSpace = AFCSpace Int
deriving (Ord, Show, Eq, Storable)
#{enum AFCSpace, AFCSpace
, afGray = AF_GRAY
, afRgb = AF_RGB
, afHsv = AF_HSV
, afYCbCr = AF_YCbCr
}
newtype AFMatProp = AFMatProp Int
deriving (Ord, Show, Eq, Storable)
#{enum AFMatProp, AFMatProp
, afMatNone = AF_MAT_NONE
, afMatTrans = AF_MAT_TRANS
, afMatCtrans = AF_MAT_CTRANS
, afMatConj = AF_MAT_CONJ
, afMatUpper = AF_MAT_UPPER
, afMatLower = AF_MAT_LOWER
, afMatDiagUnit = AF_MAT_DIAG_UNIT
, afMatSym = AF_MAT_SYM
, afMatPosdef = AF_MAT_POSDEF
, afMatOrthog = AF_MAT_ORTHOG
, afMatTriDiag = AF_MAT_TRI_DIAG
, afMatBlockDiag = AF_MAT_BLOCK_DIAG
}
newtype AFNormType = AFNormType Int
deriving (Ord, Show, Eq, Storable)
#{enum AFNormType, AFNormType
, afNormVector1 = AF_NORM_VECTOR_1
, afNormVectorInf = AF_NORM_VECTOR_INF
, afNormVector2 = AF_NORM_VECTOR_2
, afNormVectorP = AF_NORM_VECTOR_P
, afNormMatrix1 = AF_NORM_MATRIX_1
, afNormMatrixInf = AF_NORM_MATRIX_INF
, afNormMatrix2 = AF_NORM_MATRIX_2
, afNormMatrixLPq = AF_NORM_MATRIX_L_PQ
, afNormEuclid = AF_NORM_VECTOR_2
}
newtype AFImageFormat = AFImageFormat Int
deriving (Ord, Show, Eq, Storable)
#{enum AFImageFormat, AFImageFormat
, afFIFBmp = AF_FIF_BMP
, afFIFIco = AF_FIF_ICO
, afFIFJpeg = AF_FIF_JPEG
, afFIFJng = AF_FIF_JNG
, afFIFPng = AF_FIF_PNG
, afFIFPpm = AF_FIF_PPM
, afFIFPpmraw = AF_FIF_PPMRAW
, afFIFTiff = AF_FIF_TIFF
, afFIFPsd = AF_FIF_PSD
, afFIFHdr = AF_FIF_HDR
, afFIFExr = AF_FIF_EXR
, afFIFJp2 = AF_FIF_JP2
, afFIFRaw = AF_FIF_RAW
}
newtype AFMomentType = AFMomentType Int
deriving (Ord, Show, Eq, Storable)
#{enum AFMomentType, AFMomentType
, afMomentM00 = AF_MOMENT_M00
, afMomentM01 = AF_MOMENT_M01
, afMomentM10 = AF_MOMENT_M10
, afMomentM11 = AF_MOMENT_M11
, afMomentFirstOrder = (AF_MOMENT_M00 | AF_MOMENT_M01 | AF_MOMENT_M10 | AF_MOMENT_M11)
}
newtype AFHomographyType = AFHomographyType CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFHomographyType, AFHomographyType
, afHomographyRansac = AF_HOMOGRAPHY_RANSAC
, afHomographyLmeds = AF_HOMOGRAPHY_LMEDS
}
newtype AFBackend = AFBackend CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFBackend, AFBackend
, afBackendDefault = AF_BACKEND_DEFAULT
, afBackendCpu = AF_BACKEND_DEFAULT
, afBackendCuda = AF_BACKEND_CUDA
, afBackendOpencl = AF_BACKEND_OPENCL
}
newtype AFID = AFID CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFID, AFID
afID = AF_ID
}
newtype AFBinaryOp = AFBinaryOp CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFBinaryOp, AFBinaryOp
, afBinaryAdd = AF_BINARY_ADD
, afBinaryMul = AF_BINARY_MUL
, afBinaryMin = AF_BINARY_MIN
, afBinaryMax = AF_BINARY_MAX
}
newtype AFRandomEngineType = AFRandomEngineType CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFRandomEngineType, AFRandomEngineType
, afRandomEnginePhilox4X3210 = AF_RANDOM_ENGINE_PHILOX_4X32_10
, afRandomEngineThreefry2X3216 = AF_RANDOM_ENGINE_THREEFRY_2X32_16
, afRandomEngineMersenneGp11213 = AF_RANDOM_ENGINE_MERSENNE_GP11213
, afRandomEnginePhilox = AF_RANDOM_ENGINE_PHILOX_4X32_10
, afRandomEngineThreefry = AF_RANDOM_ENGINE_THREEFRY_2X32_16
, afRandomEngineMersenne = AF_RANDOM_ENGINE_MERSENNE_GP11213
, afRandomEngineDefault = AF_RANDOM_ENGINE_PHILOX
}
newtype AFColorMap = AFColorMap CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFColorMap, AFColorMap
, afColormapDefault = AF_COLORMAP_DEFAULT
, afColormapSpectrum= AF_COLORMAP_SPECTRUM
, afColormapColors = AF_COLORMAP_COLORS
, afColormapRed = AF_COLORMAP_RED
, afColormapMood = AF_COLORMAP_MOOD
, afColormapHeat = AF_COLORMAP_HEAT
, afColormapBlue = AF_COLORMAP_BLUE
, afColormapInferno = AF_COLORMAP_INFERNO
, afColormapMagma = AF_COLORMAP_MAGMA
, afColormapPlasma = AF_COLORMAP_PLASMA
, afColormapViridis = AF_COLORMAP_VIRIDIS
}
newtype AFMarkerType = AFMarkerType CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFMarkerType, AFMarkerType
, afMarkerNone = AF_MARKER_NONE
, afMarkerPoint = AF_MARKER_POINT
, afMarkerCircle = AF_MARKER_CIRCLE
, afMarkerSquare = AF_MARKER_SQUARE
, afMarkerTriangle = AF_MARKER_TRIANGLE
, afMarkerCross = AF_MARKER_CROSS
, afMarkerPlus = AF_MARKER_PLUS
, afMarkerStar = AF_MARKER_STAR
}
newtype AFCannyThreshold = AFCannyThreshold CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFCannyThreshold, AFCannyThreshold
, afCannyThresholdManual = AF_CANNY_THRESHOLD_MANUAL
, afCannyThresholdAutoOtsu = AF_CANNY_THRESHOLD_AUTO_OTSU
}
newtype AFStorage = AFStorage CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFStorage, AFStorage
, afStorageDense = AF_STORAGE_DENSE
, afStorageCsr = AF_STORAGE_CSR
, afStorageCsc = AF_STORAGE_CSC
, afStorageCoo = AF_STORAGE_COO
}
newtype AFFluxFunction = AFFluxFunction CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFFluxFunction, AFFluxFunction
, afFluxQuadratic = AF_FLUX_QUADRATIC
, afFluxExponential = AF_FLUX_EXPONENTIAL
, afFluxDefault = AF_FLUX_DEFAULT
}
newtype AFDiffusionEq = AFDiffusionEq CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFDiffusionEq, AFDiffusionEq
, afDiffusionGrad = AF_DIFFUSION_GRAD
, afDiffusionMcde = AF_DIFFUSION_MCDE
, afDiffusionDefault = AF_DIFFUSION_DEFAULT
}
newtype AFTopkFunction = AFTopkFunction CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFTopkFunction, AFTopkFunction
, afTopkMin = AF_TOPK_MIN
, afTopkMax = AF_TOPK_MAX
, afTopkDefault = AF_TOPK_DEFAULT
}
newtype AFIterativeDeconvAlgo = AFIterativeDeconvAlgo CInt
deriving (Ord, Show, Eq, Storable)
-- #{enum AFIterativeDeconvAlgo, AFIterativeDeconvAlgo
-- , afIterativeDeconvLandweber = AF_ITERATIVE_DECONV_LANDWEBER
-- , afIterativeDeconvRichardsonlucy = AF_ITERATIVE_DECONV_RICHARDSONLUCY
-- , afIterativeDeconvDefault = AF_ITERATIVE_DECONV_DEFAULT
-- }
newtype AFInverseDeconvAlgo = AFInverseDeconvAlgo CInt
deriving (Ord, Show, Eq, Storable)
#{enum AFInverseDeconvAlgo, AFInverseDeconvAlgo
afInverseDeconvTikhonov = AF_INVERSE_DECONV_TIKHONOV
afInverseDeconvDefault = AF_INVERSE_DECONV_DEFAULT
}
-- newtype AFVarBias = AFVarBias Int
-- deriving (Ord, Show, Eq)
-- #{enum AFVarBias, AFVarBias
-- , afVarianceDefault = AF_VARIANCE_DEFAULT
-- , afVarianceSample = AF_VARIANCE_SAMPLE
-- , afVariancePopulation = AF_VARIANCE_POPULATION
-- }
newtype DimT = DimT CLLong
deriving (Show, Eq, Storable, Num, Integral, Real, Enum, Ord)
newtype UIntL = UIntL CULLong
deriving (Show, Eq, Storable, Num, Integral, Real, Enum, Ord)
newtype IntL = IntL CLLong
deriving (Show, Eq, Storable, Num, Integral, Real, Enum, Ord)
-- static const af_seq af_span = {1, 1, 0};
-- newtype AFCLPlatform = AFCLPlatform Int
-- deriving (Show, Eq)
-- #{enum AFCLPlatform, AFCLPlatform
-- , afclPlatformAMD = AFCL_PLATFORM_AMD
-- , afclPlatformApple = AFCL_PLATFORM_APPLE
-- , afclPlatformIntel = AFCL_PLATFORM_INTEL
-- , afclPlatformNVIDIA = AFCL_PLATFORM_NVIDIA
-- , afclPlatformBEIGNET = AFCL_PLATFORM_BEIGNET
-- , afclPlatformPOCL = AFCL_PLATFORM_POCL
-- , afclPlatformUnknown = AFCL_PLATFORM_UNKNOWN
-- }
-- newtype DeviceType = DeviceType Int
-- deriving (Show, Eq)
-- #{enum DeviceType, DeviceType
-- , afCLDeviceTypeCPU = AFCL_DEVICE_TYPE_CPU
-- , afCLDeviceTypeGPU = AFCL_DEVICE_TYPE_GPU
-- , afCLDeviceTypeAccel = AFCL_DEVICE_TYPE_ACCEL
-- , afCLDeviceTypeUnknown = AFCL_DEVICE_TYPE_UNKNOWN
-- }