ArrayFire: defines.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10#pragma once
11
12#ifndef __CUDACC_RTC__
13#include <af/compilers.h>
14#endif
15
16#if defined(_WIN32) || defined(_MSC_VER)
17
18
19 #ifdef AFDLL
20 #define AFAPI __declspec(dllexport)
21 #else
22 #define AFAPI __declspec(dllimport)
23 #endif
24
25
26 #ifndef __cplusplus
27 #define bool unsigned char
28 #define false 0
29 #define true 1
30 #endif
31 #define __PRETTY_FUNCTION__ __FUNCSIG__
32 #define SIZE_T_FRMT_SPECIFIER "%Iu"
33 #define AF_DEPRECATED(msg) __declspec(deprecated( msg ))
34 #if _MSC_VER >= 1800
35 #define AF_HAS_VARIADIC_TEMPLATES
36 #endif
37#else
38 #define AFAPI __attribute__((visibility("default")))
39 #include <stdbool.h>
40 #define SIZE_T_FRMT_SPECIFIER "%zu"
41#if __GNUC__ >= 4 && __GNUC_MINOR > 4
42 #define AF_DEPRECATED(msg) __attribute__((deprecated( msg )))
43#else
44 #define AF_DEPRECATED(msg) __attribute__((deprecated))
45#endif
46#endif
47
48
49#if defined(__x86_64__) || defined(_M_X64) || defined(_WIN64) || defined(__aarch64__) || defined(__LP64__)
50 typedef long long dim_t;
51
52#elif defined(__i386__) || defined(_M_IX86) || defined(__arm__) || defined(_M_ARM)
53 typedef int dim_t;
54
55#else
57#endif
58
59#include <stdlib.h>
60
61#ifndef AFDLL
62typedef AF_DEPRECATED("intl is deprecated. Use long long instead.") long long intl;
63typedef AF_DEPRECATED("uintl is deprecated. Use unsigned long long instead.") unsigned long long uintl;
64#endif
65
66#include <af/version.h>
67#ifndef AF_API_VERSION
68#define AF_API_VERSION AF_API_VERSION_CURRENT
69#endif
70
71typedef enum {
76
77
78
83
88
93
94
95
100
105
110
115
120
125
126
127#if AF_API_VERSION >= 33
132#endif
133
134
135
140
145
146#if AF_API_VERSION >= 32
151#endif
152
153
154
159
165
166#if AF_API_VERSION >= 37
171#endif
172
173
174
175#if AF_API_VERSION >= 32
180#endif
181
182#if AF_API_VERSION >= 32
187#endif
188
189#if AF_API_VERSION >= 32
194#endif
195
196
197
203
209
210typedef enum {
221#if AF_API_VERSION >= 32
223#endif
224#if AF_API_VERSION >= 32
226#endif
227#if AF_API_VERSION >= 37
229#endif
230#if AF_API_VERSION >= 310
232#endif
234
235typedef enum {
239
240#define AF_MAX_DIMS 4
241
242
244
245typedef enum {
251#if AF_API_VERSION >= 34
253#endif
254#if AF_API_VERSION >= 34
256#endif
257#if AF_API_VERSION >= 34
259#endif
260#if AF_API_VERSION >= 34
262#endif
263#if AF_API_VERSION >= 34
265#endif
266
268
269typedef enum {
274
279
284
290
291typedef enum {
296
302
303typedef enum {
304
309
315
316typedef enum {
321
322typedef enum {
333
334#if AF_API_VERSION >= 31
335typedef enum {
340#endif
341
342typedef enum {
346#if AF_API_VERSION >= 31
348#endif
350
351typedef enum {
365
366typedef enum {
375
378
379#if AF_API_VERSION >= 31
380typedef enum {
395#endif
396
397#if AF_API_VERSION >=34
398typedef enum {
405#endif
406
407#if AF_API_VERSION >= 32
408typedef enum {
412#endif
413
414#if AF_API_VERSION >= 32
415
416typedef enum {
423#endif
424
425
426
427
428typedef enum {
431
432#if AF_API_VERSION >=34
433typedef enum {
439#endif
440
441#if AF_API_VERSION >=34
442typedef enum {
451#endif
452
454
455
457typedef enum {
470
471#if AF_API_VERSION >= 32
472typedef enum {
482#endif
484
485#if AF_API_VERSION >= 35
486typedef enum {
490#endif
491
492#if AF_API_VERSION >= 34
493typedef enum {
499#endif
500
501#if AF_API_VERSION >= 36
502typedef enum {
507
508typedef enum {
513
514typedef enum {
522#endif
523
524#if AF_API_VERSION >= 37
525typedef enum {
530
531typedef enum {
536
537typedef enum {
541
542#endif
543
544#if AF_API_VERSION >= 37
545typedef enum {
551#endif
552
553#ifdef __cplusplus
554namespace af
555{
570#if AF_API_VERSION >= 31
572#endif
573#if AF_API_VERSION >= 31
575#endif
576#if AF_API_VERSION >= 32
578#endif
579#if AF_API_VERSION >= 32
581#endif
582#if AF_API_VERSION >= 34
584#endif
585#if AF_API_VERSION >= 34
587#endif
588#if AF_API_VERSION >= 34
590#endif
591#if AF_API_VERSION >= 34
593#endif
594#if AF_API_VERSION >= 35
596#endif
597#if AF_API_VERSION >= 36
601#endif
602#if AF_API_VERSION >= 37
607#endif
608}
609
610#endif
@ u32
32-bit unsigned integral values
@ u64
64-bit unsigned integral values
@ s32
32-bit signed integral values
@ s64
64-bit signed integral values
@ c64
64-bit complex floating point values
@ f32
32-bit floating point values
@ s16
16-bit signed integral values
@ c32
32-bit complex floating point values
@ s8
8-bit signed integral values
@ f64
64-bit floating point values
@ u16
16-bit unsigned integral values
@ f16
16-bit floating point value
@ u8
8-bit unsigned integral values
@ AF_CANNY_THRESHOLD_AUTO_OTSU
Determine canny algorithm thresholds using Otsu algorithm.
@ AF_CANNY_THRESHOLD_MANUAL
User has to define canny thresholds manually.
@ AF_ITERATIVE_DECONV_LANDWEBER
Landweber Deconvolution.
@ AF_ITERATIVE_DECONV_DEFAULT
Default is Landweber deconvolution.
@ AF_ITERATIVE_DECONV_RICHARDSONLUCY
Richardson-Lucy Deconvolution.
@ AF_INVERSE_DECONV_DEFAULT
Default is Tikhonov deconvolution.
@ AF_INVERSE_DECONV_TIKHONOV
Tikhonov Inverse deconvolution.
@ AF_NORM_MATRIX_L_PQ
returns Lpq-norm
@ AF_NORM_VECTOR_2
treats the input as a vector and returns euclidean norm
@ AF_NORM_MATRIX_2
returns the max singular value). Currently NOT SUPPORTED
@ AF_NORM_MATRIX_INF
return the max of row sums
@ AF_NORM_EUCLID
The default. Same as AF_NORM_VECTOR_2.
@ AF_NORM_VECTOR_P
treats the input as a vector and returns the p-norm
@ AF_NORM_VECTOR_INF
treats the input as a vector and returns the max of absolute values
@ AF_NORM_VECTOR_1
treats the input as a vector and returns the sum of absolute values
@ AF_NORM_MATRIX_1
return the max of column sums
@ AF_PAD_SYM
Out of bound values are symmetric over the edge.
@ AF_PAD_PERIODIC
Out of bound values are mapped to range of the dimension in cyclic fashion.
@ AF_PAD_CLAMP_TO_EDGE
Out of bound values are clamped to the edge.
@ AF_PAD_ZERO
Out of bound values are 0.
@ AF_FIF_PNG
FreeImage Enum for Portable Network Graphics File.
@ AF_FIF_PSD
FreeImage Enum for Adobe Photoshop File.
@ AF_FIF_PPMRAW
FreeImage Enum for Portable Pixelmap (Binary) File.
@ AF_FIF_JPEG
FreeImage Enum for JPEG File.
@ AF_FIF_JP2
FreeImage Enum for JPEG-2000 File.
@ AF_FIF_PPM
FreeImage Enum for Portable Pixelmap (ASCII) File.
@ AF_FIF_BMP
FreeImage Enum for Bitmap File.
@ AF_FIF_ICO
FreeImage Enum for Windows Icon File.
@ AF_FIF_RAW
FreeImage Enum for RAW Camera Image File.
@ AF_FIF_EXR
FreeImage Enum for ILM OpenEXR File.
@ AF_FIF_TIFF
FreeImage Enum for Tagged Image File Format File.
@ AF_FIF_HDR
FreeImage Enum for High Dynamic Range File.
@ AF_FIF_JNG
FreeImage Enum for JPEG Network Graphics File.
@ AF_COLORMAP_COLORS
Colors, aka. Rainbow.
@ AF_COLORMAP_SPECTRUM
Spectrum map (390nm-830nm, in sRGB colorspace)
@ AF_COLORMAP_DEFAULT
Default grayscale map.
@ AF_COLORMAP_VIRIDIS
Perceptually uniform shades of blue-green-yellow.
@ AF_COLORMAP_BLUE
Blue hue map.
@ AF_COLORMAP_HEAT
Heat map.
@ AF_COLORMAP_RED
Red hue map.
@ AF_COLORMAP_PLASMA
Perceptually uniform shades of blue-red-yellow.
@ AF_COLORMAP_MAGMA
Perceptually uniform shades of black-red-white.
@ AF_COLORMAP_MOOD
Mood map.
@ AF_COLORMAP_INFERNO
Perceptually uniform shades of black-red-yellow.
@ AF_MAT_CONJ
Data needs to be conjugate.
@ AF_MAT_CTRANS
Data needs to be conjugate tansposed.
@ AF_MAT_LOWER
Matrix is lower triangular.
@ AF_MAT_POSDEF
Matrix is positive definite.
@ AF_MAT_UPPER
Matrix is upper triangular.
@ AF_MAT_SYM
Matrix is symmetric.
@ AF_MAT_ORTHOG
Matrix is orthogonal.
@ AF_MAT_BLOCK_DIAG
Matrix is block diagonal.
@ AF_MAT_TRI_DIAG
Matrix is tri diagonal.
@ AF_MAT_DIAG_UNIT
Matrix diagonal contains unitary values.
@ AF_MAT_TRANS
Data needs to be transposed.
@ AF_STORAGE_CSC
Storage type is CSC.
@ AF_STORAGE_CSR
Storage type is CSR.
@ AF_STORAGE_COO
Storage type is COO.
@ AF_STORAGE_DENSE
Storage type is dense.
@ AF_RANDOM_ENGINE_PHILOX
@ AF_RANDOM_ENGINE_DEFAULT
@ AF_RANDOM_ENGINE_MERSENNE_GP11213
@ AF_RANDOM_ENGINE_THREEFRY
@ AF_RANDOM_ENGINE_PHILOX_4X32_10
@ AF_RANDOM_ENGINE_MERSENNE
@ AF_RANDOM_ENGINE_THREEFRY_2X32_16
@ AF_ERR_ARR_BKND_MISMATCH
@ AF_SUCCESS
The function returned successfully.
@ AF_CONV_FREQ
Perform convolution in frequency domain.
@ AF_CONV_SPATIAL
Perform convolution in spatial domain.
@ AF_CONV_AUTO
ArrayFire automatically picks the right convolution algorithm.
@ AF_HOMOGRAPHY_RANSAC
Computes homography using RANSAC.
@ AF_HOMOGRAPHY_LMEDS
Computes homography using Least Median of Squares.
#define AF_DEPRECATED(msg)
@ AF_LSSD
Match based on Locally scaled SSD.
@ AF_ZNCC
Match based on Zero mean NCC.
@ AF_ZSAD
Match based on Zero mean SAD.
@ AF_SSD
Match based on Sum of Squared Differences (SSD)
@ AF_NCC
Match based on Normalized Cross Correlation (NCC)
@ AF_SHD
Match based on Sum of Hamming Distances (SHD)
@ AF_LSAD
Match based on Locally scaled SAD.
@ AF_ZSSD
Match based on Zero mean SSD.
@ AF_SAD
Match based on Sum of Absolute Differences (SAD)
@ AF_TOPK_STABLE_MAX
Top k max with stable indices.
@ AF_TOPK_STABLE
Preserve order of indices for equal values.
@ AF_TOPK_MIN
Top k min values.
@ AF_TOPK_MAX
Top k max values.
@ AF_TOPK_DEFAULT
Default option (max)
@ AF_TOPK_STABLE_MIN
Top k min with stable indices.
@ AF_YCC_709
ITU-R BT.709 standard.
@ AF_YCC_2020
ITU-R BT.2020 standard.
@ AF_YCC_601
ITU-R BT.601 (formerly CCIR 601) standard.
@ AF_VARIANCE_DEFAULT
Default (Population) variance.
@ AF_VARIANCE_SAMPLE
Sample variance.
@ AF_VARIANCE_POPULATION
Population variance.
@ afDevice
Device pointer.
@ AF_INTERP_CUBIC
Cubic Interpolation.
@ AF_INTERP_LOWER
Floor Indexed.
@ AF_INTERP_LINEAR_COSINE
Linear Interpolation with cosine smoothing.
@ AF_INTERP_LINEAR
Linear Interpolation.
@ AF_INTERP_NEAREST
Nearest Interpolation.
@ AF_INTERP_BILINEAR_COSINE
Bilinear Interpolation with cosine smoothing.
@ AF_INTERP_CUBIC_SPLINE
Cubic Interpolation with Catmull-Rom splines.
@ AF_INTERP_BICUBIC
Bicubic Interpolation.
@ AF_INTERP_BICUBIC_SPLINE
Bicubic Interpolation with Catmull-Rom splines.
@ AF_INTERP_BILINEAR
Bilinear Interpolation.
@ AF_DIFFUSION_MCDE
Modified curvature diffusion equation.
@ AF_DIFFUSION_GRAD
Gradient diffusion equation.
@ AF_DIFFUSION_DEFAULT
Default option is same as AF_DIFFUSION_GRAD.
@ AF_CONV_DEFAULT
Output of the convolution is the same size as input.
@ AF_CONV_EXPAND
Output of the convolution is signal_len + filter_len - 1.
@ AF_YCbCr
3-channel YCbCr
@ AF_FLUX_EXPONENTIAL
Exponential flux function.
@ AF_FLUX_QUADRATIC
Quadratic flux function.
@ AF_FLUX_DEFAULT
Default flux function is exponential.
@ AF_CONNECTIVITY_4
Connectivity includes neighbors, North, East, South and West of current pixel.
@ AF_CONNECTIVITY_8
Connectivity includes 4-connectivity neigbors and also those on Northeast, Northwest,...
@ AF_BACKEND_ONEAPI
OneAPI Compute Backend.
@ AF_BACKEND_CUDA
CUDA Compute Backend.
@ AF_BACKEND_OPENCL
OpenCL Compute Backend.
@ AF_BACKEND_CPU
CPU a.k.a sequential algorithms.
@ AF_BACKEND_DEFAULT
Default backend order: OpenCL -> CUDA -> CPU.
@ AF_CONV_GRADIENT_FILTER
@ AF_CONV_GRADIENT_DEFAULT
af_diffusion_eq diffusionEq
af_flux_function fluxFunction
af_border_type borderType
af_topk_function topkFunction
af_moment_type momentType
af_iterative_deconv_algo iterativeDeconvAlgo
af_conv_gradient_type convGradientType
af_interp_type interpType
af_random_engine_type randomEngineType
af_canny_threshold cannyThreshold
af_connectivity connectivity
af_inverse_deconv_algo inverseDeconvAlgo
af_conv_domain convDomain
af_marker_type markerType
af_image_format imageFormat