A high-performance general-purpose compute library

- Main Page
- Tutorials
- Release Notes
- Examples

defines.h
Go to the documentation of this file.
1/*******************************************************
2 * Copyright (c) 2014, ArrayFire
3 * All rights reserved.
4 *
5 * This file is distributed under 3-clause BSD license.
6 * The complete license agreement can be obtained at:
7 * http://arrayfire.com/licenses/BSD-3-Clause
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 // http://msdn.microsoft.com/en-us/library/b0084kay(v=VS.80).aspx
18 // http://msdn.microsoft.com/en-us/library/3y1sfaz2%28v=VS.80%29.aspx
19 #ifdef AFDLL // libaf
20 #define AFAPI __declspec(dllexport)
21 #else
22 #define AFAPI __declspec(dllimport)
23 #endif
24
25 // bool
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// Known 64-bit x86 and ARM architectures use long long
49#if defined(__x86_64__) || defined(_M_X64) || defined(_WIN64) || defined(__aarch64__) || defined(__LP64__) // 64-bit Architectures
50 typedef long long dim_t;
51// Known 32-bit x86 and ARM architectures use int
52#elif defined(__i386__) || defined(_M_IX86) || defined(__arm__) || defined(_M_ARM) // 32-bit x86 Architecture
53 typedef int dim_t;
54// All other platforms use long long
55#else
56 typedef long long dim_t;
57#endif
58
59#include <stdlib.h>
60
61#ifndef AFDLL // prevents the use of these types internally
62 typedef 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
71 typedef enum {
75 AF_SUCCESS = 0
76
77 // 100-199 Errors in environment
78
82 , AF_ERR_NO_MEM = 101
83
87 , AF_ERR_DRIVER = 102
88
92 , AF_ERR_RUNTIME = 103
93
94 // 200-299 Errors in input parameters
95
99 , AF_ERR_INVALID_ARRAY = 201
100
104 , AF_ERR_ARG = 202
105
109 , AF_ERR_SIZE = 203
110
114 , AF_ERR_TYPE = 204
115
119 , AF_ERR_DIFF_TYPE = 205
120
124 , AF_ERR_BATCH = 207
125
126
127#if AF_API_VERSION >= 33
131 , AF_ERR_DEVICE = 208
132#endif
133
134 // 300-399 Errors for missing software features
135
139 , AF_ERR_NOT_SUPPORTED = 301
140
144 , AF_ERR_NOT_CONFIGURED = 302
145
146#if AF_API_VERSION >= 32
150 , AF_ERR_NONFREE = 303
151#endif
152
153 // 400-499 Errors for missing hardware features
154
158 , AF_ERR_NO_DBL = 401
159
164 , AF_ERR_NO_GFX = 402
165
166#if AF_API_VERSION >= 37
170 , AF_ERR_NO_HALF = 403
171#endif
172
173 // 500-599 Errors specific to heterogenous API
174
175#if AF_API_VERSION >= 32
179 , AF_ERR_LOAD_LIB = 501
180#endif
181
182#if AF_API_VERSION >= 32
186 , AF_ERR_LOAD_SYM = 502
187#endif
188
189#if AF_API_VERSION >= 32
193 , AF_ERR_ARR_BKND_MISMATCH = 503
194#endif
195
196 // 900-999 Errors from upstream libraries and runtimes
197
202 , AF_ERR_INTERNAL = 998
203
207 , AF_ERR_UNKNOWN = 999
208} af_err;
209
210 typedef enum {
211 f32,
212 c32,
213 f64,
214 c64,
215 b8 ,
216 s32,
217 u32,
218 u8 ,
219 s64,
220 u64
221#if AF_API_VERSION >= 32
222 , s16
223#endif
224#if AF_API_VERSION >= 32
225 , u16
226#endif
227#if AF_API_VERSION >= 37
228 , f16
229#endif
230} af_dtype;
231
232 typedef enum {
233 afDevice,
234 afHost
235} af_source;
236
237#define AF_MAX_DIMS 4
238
239// A handle for an internal array object
240 typedef void * af_array;
241
242 typedef enum {
243 AF_INTERP_NEAREST,
244 AF_INTERP_LINEAR,
245 AF_INTERP_BILINEAR,
246 AF_INTERP_CUBIC,
247 AF_INTERP_LOWER
248#if AF_API_VERSION >= 34
249 , AF_INTERP_LINEAR_COSINE
250#endif
251#if AF_API_VERSION >= 34
252 , AF_INTERP_BILINEAR_COSINE
253#endif
254#if AF_API_VERSION >= 34
255 , AF_INTERP_BICUBIC
256#endif
257#if AF_API_VERSION >= 34
258 , AF_INTERP_CUBIC_SPLINE
259#endif
260#if AF_API_VERSION >= 34
261 , AF_INTERP_BICUBIC_SPLINE
262#endif
263
264} af_interp_type;
265
266 typedef enum {
270 AF_PAD_ZERO = 0,
271
275 AF_PAD_SYM,
276
280 AF_PAD_CLAMP_TO_EDGE,
281
285 AF_PAD_PERIODIC
286} af_border_type;
287
288 typedef enum {
292 AF_CONNECTIVITY_4 = 4,
293
297 AF_CONNECTIVITY_8 = 8
298} af_connectivity;
299
300 typedef enum {
301
305 AF_CONV_DEFAULT,
306
310 AF_CONV_EXPAND
311} af_conv_mode;
312
313 typedef enum {
314 AF_CONV_AUTO,
315 AF_CONV_SPATIAL,
316 AF_CONV_FREQ
317} af_conv_domain;
318
319 typedef enum {
320 AF_SAD = 0,
321 AF_ZSAD,
322 AF_LSAD,
323 AF_SSD,
324 AF_ZSSD,
325 AF_LSSD,
326 AF_NCC,
327 AF_ZNCC,
328 AF_SHD
329} af_match_type;
330
331#if AF_API_VERSION >= 31
332 typedef enum {
333 AF_YCC_601 = 601,
334 AF_YCC_709 = 709,
335 AF_YCC_2020 = 2020
336} af_ycc_std;
337#endif
338
339 typedef enum {
340 AF_GRAY = 0,
341 AF_RGB,
342 AF_HSV
343#if AF_API_VERSION >= 31
344 , AF_YCbCr
345#endif
346} af_cspace_t;
347
348 typedef enum {
349 AF_MAT_NONE = 0,
350 AF_MAT_TRANS = 1,
351 AF_MAT_CTRANS = 2,
352 AF_MAT_CONJ = 4,
353 AF_MAT_UPPER = 32,
354 AF_MAT_LOWER = 64,
355 AF_MAT_DIAG_UNIT = 128,
356 AF_MAT_SYM = 512,
357 AF_MAT_POSDEF = 1024,
358 AF_MAT_ORTHOG = 2048,
359 AF_MAT_TRI_DIAG = 4096,
360 AF_MAT_BLOCK_DIAG = 8192
361} af_mat_prop;
362
363 typedef enum {
364 AF_NORM_VECTOR_1,
365 AF_NORM_VECTOR_INF,
366 AF_NORM_VECTOR_2,
367 AF_NORM_VECTOR_P,
368 AF_NORM_MATRIX_1,
369 AF_NORM_MATRIX_INF,
370 AF_NORM_MATRIX_2,
371 AF_NORM_MATRIX_L_PQ,
372
373 AF_NORM_EUCLID = AF_NORM_VECTOR_2
374} af_norm_type;
375
376#if AF_API_VERSION >= 31
377 typedef enum {
378 AF_FIF_BMP = 0,
379 AF_FIF_ICO = 1,
380 AF_FIF_JPEG = 2,
381 AF_FIF_JNG = 3,
382 AF_FIF_PNG = 13,
383 AF_FIF_PPM = 14,
384 AF_FIF_PPMRAW = 15,
385 AF_FIF_TIFF = 18,
386 AF_FIF_PSD = 20,
387 AF_FIF_HDR = 26,
388 AF_FIF_EXR = 29,
389 AF_FIF_JP2 = 31,
390 AF_FIF_RAW = 34
391} af_image_format;
392#endif
393
394#if AF_API_VERSION >=34
395 typedef enum {
396 AF_MOMENT_M00 = 1,
397 AF_MOMENT_M01 = 2,
398 AF_MOMENT_M10 = 4,
399 AF_MOMENT_M11 = 8,
400 AF_MOMENT_FIRST_ORDER = AF_MOMENT_M00 | AF_MOMENT_M01 | AF_MOMENT_M10 | AF_MOMENT_M11
401} af_moment_type;
402#endif
403
404#if AF_API_VERSION >= 32
405 typedef enum {
406 AF_HOMOGRAPHY_RANSAC = 0,
407 AF_HOMOGRAPHY_LMEDS = 1
408} af_homography_type;
409#endif
410
411#if AF_API_VERSION >= 32
412// These enums should be 2^x
413 typedef enum {
414 AF_BACKEND_DEFAULT = 0,
415 AF_BACKEND_CPU = 1,
416 AF_BACKEND_CUDA = 2,
417 AF_BACKEND_OPENCL = 4,
418 AF_BACKEND_ONEAPI = 8
419} af_backend;
420#endif
421
422// Below enum is purely added for example purposes
423// it doesn't and shoudn't be used anywhere in the
424// code. No Guarantee's provided if it is used.
425 typedef enum {
426 AF_ID = 0
427} af_someenum_t;
428
429#if AF_API_VERSION >=34
430 typedef enum {
431 AF_BINARY_ADD = 0,
432 AF_BINARY_MUL = 1,
433 AF_BINARY_MIN = 2,
434 AF_BINARY_MAX = 3
435} af_binary_op;
436#endif
437
438#if AF_API_VERSION >=34
439 typedef enum {
440 AF_RANDOM_ENGINE_PHILOX_4X32_10 = 100, //Philox variant with N = 4, W = 32 and Rounds = 10
441 AF_RANDOM_ENGINE_THREEFRY_2X32_16 = 200, //Threefry variant with N = 2, W = 32 and Rounds = 16
442 AF_RANDOM_ENGINE_MERSENNE_GP11213 = 300, //Mersenne variant with MEXP = 11213
443 AF_RANDOM_ENGINE_PHILOX = AF_RANDOM_ENGINE_PHILOX_4X32_10, //Resolves to Philox 4x32_10
444 AF_RANDOM_ENGINE_THREEFRY = AF_RANDOM_ENGINE_THREEFRY_2X32_16, //Resolves to Threefry 2X32_16
445 AF_RANDOM_ENGINE_MERSENNE = AF_RANDOM_ENGINE_MERSENNE_GP11213, //Resolves to Mersenne GP 11213
446 AF_RANDOM_ENGINE_DEFAULT = AF_RANDOM_ENGINE_PHILOX //Resolves to Philox
447} af_random_engine_type;
448#endif
449
451// FORGE / Graphics Related Enums
452// These enums have values corresponsding to Forge enums in forge defines.h
454 typedef enum {
455 AF_COLORMAP_DEFAULT = 0,
456 AF_COLORMAP_SPECTRUM= 1,
457 AF_COLORMAP_COLORS = 2,
458 AF_COLORMAP_RED = 3,
459 AF_COLORMAP_MOOD = 4,
460 AF_COLORMAP_HEAT = 5,
461 AF_COLORMAP_BLUE = 6,
462 AF_COLORMAP_INFERNO = 7,
463 AF_COLORMAP_MAGMA = 8,
464 AF_COLORMAP_PLASMA = 9,
465 AF_COLORMAP_VIRIDIS = 10
466} af_colormap;
467
468#if AF_API_VERSION >= 32
469 typedef enum {
470 AF_MARKER_NONE = 0,
471 AF_MARKER_POINT = 1,
472 AF_MARKER_CIRCLE = 2,
473 AF_MARKER_SQUARE = 3,
474 AF_MARKER_TRIANGLE = 4,
475 AF_MARKER_CROSS = 5,
476 AF_MARKER_PLUS = 6,
477 AF_MARKER_STAR = 7
478} af_marker_type;
479#endif
481
482#if AF_API_VERSION >= 35
483 typedef enum {
484 AF_CANNY_THRESHOLD_MANUAL = 0,
485 AF_CANNY_THRESHOLD_AUTO_OTSU = 1
486} af_canny_threshold;
487#endif
488
489#if AF_API_VERSION >= 34
490 typedef enum {
491 AF_STORAGE_DENSE = 0,
492 AF_STORAGE_CSR = 1,
493 AF_STORAGE_CSC = 2,
494 AF_STORAGE_COO = 3
495} af_storage;
496#endif
497
498#if AF_API_VERSION >= 36
499 typedef enum {
500 AF_FLUX_QUADRATIC = 1,
501 AF_FLUX_EXPONENTIAL = 2,
502 AF_FLUX_DEFAULT = 0
503} af_flux_function;
504
505 typedef enum {
506 AF_DIFFUSION_GRAD = 1,
507 AF_DIFFUSION_MCDE = 2,
508 AF_DIFFUSION_DEFAULT = 0
509} af_diffusion_eq;
510
511 typedef enum {
512 AF_TOPK_MIN = 1,
513 AF_TOPK_MAX = 2,
514 AF_TOPK_STABLE = 4,
515 AF_TOPK_STABLE_MIN = AF_TOPK_STABLE | AF_TOPK_MIN,
516 AF_TOPK_STABLE_MAX = AF_TOPK_STABLE | AF_TOPK_MAX,
517 AF_TOPK_DEFAULT = 0
518} af_topk_function;
519#endif
520
521#if AF_API_VERSION >= 37
522 typedef enum {
523 AF_VARIANCE_DEFAULT = 0,
524 AF_VARIANCE_SAMPLE = 1,
525 AF_VARIANCE_POPULATION = 2
526} af_var_bias;
527
528 typedef enum {
529 AF_ITERATIVE_DECONV_LANDWEBER = 1,
530 AF_ITERATIVE_DECONV_RICHARDSONLUCY = 2,
531 AF_ITERATIVE_DECONV_DEFAULT = 0
532} af_iterative_deconv_algo;
533
534 typedef enum {
535 AF_INVERSE_DECONV_TIKHONOV = 1,
536 AF_INVERSE_DECONV_DEFAULT = 0
537} af_inverse_deconv_algo;
538
539#endif
540
541#if AF_API_VERSION >= 37
542 typedef enum {
543 AF_CONV_GRADIENT_DEFAULT = 0,
544 AF_CONV_GRADIENT_FILTER = 1,
545 AF_CONV_GRADIENT_DATA = 2,
546 AF_CONV_GRADIENT_BIAS = 3
547} af_conv_gradient_type;
548#endif
549
550#ifdef __cplusplus
551 namespace af
552{
553 typedef af_dtype dtype;
554 typedef af_source source;
555 typedef af_interp_type interpType;
556 typedef af_border_type borderType;
557 typedef af_connectivity connectivity;
558 typedef af_match_type matchType;
559 typedef af_cspace_t CSpace;
560 typedef af_someenum_t SomeEnum; // Purpose of Addition: How to add Function example
561 typedef af_mat_prop trans;
562 typedef af_conv_mode convMode;
563 typedef af_conv_domain convDomain;
564 typedef af_mat_prop matProp;
565 typedef af_colormap ColorMap;
566 typedef af_norm_type normType;
567#if AF_API_VERSION >= 31
568 typedef af_ycc_std YCCStd;
569#endif
570#if AF_API_VERSION >= 31
571 typedef af_image_format imageFormat;
572#endif
573#if AF_API_VERSION >= 32
574 typedef af_backend Backend;
575#endif
576#if AF_API_VERSION >= 32
577 typedef af_marker_type markerType;
578#endif
579#if AF_API_VERSION >= 34
580 typedef af_moment_type momentType;
581#endif
582#if AF_API_VERSION >= 34
583 typedef af_storage storage;
584#endif
585#if AF_API_VERSION >= 34
586 typedef af_binary_op binaryOp;
587#endif
588#if AF_API_VERSION >= 34
589 typedef af_random_engine_type randomEngineType;
590#endif
591#if AF_API_VERSION >= 35
592 typedef af_canny_threshold cannyThreshold;
593#endif
594#if AF_API_VERSION >= 36
595 typedef af_flux_function fluxFunction;
596 typedef af_diffusion_eq diffusionEq;
597 typedef af_topk_function topkFunction;
598#endif
599#if AF_API_VERSION >= 37
600 typedef af_var_bias varBias;
601 typedef af_iterative_deconv_algo iterativeDeconvAlgo;
602 typedef af_inverse_deconv_algo inverseDeconvAlgo;
603 typedef af_conv_gradient_type convGradientType;
604#endif
605}
606
607#endif
af_dtype
af_dtype
Definition defines.h:210
u32
@ u32
32-bit unsigned integral values
Definition defines.h:217
u64
@ u64
64-bit unsigned integral values
Definition defines.h:220
s32
@ s32
32-bit signed integral values
Definition defines.h:216
s64
@ s64
64-bit signed integral values
Definition defines.h:219
b8
@ b8
8-bit boolean values
Definition defines.h:215
c64
@ c64
64-bit complex floating point values
Definition defines.h:214
f32
@ f32
32-bit floating point values
Definition defines.h:211
s16
@ s16
16-bit signed integral values
Definition defines.h:222
c32
@ c32
32-bit complex floating point values
Definition defines.h:212
f64
@ f64
64-bit floating point values
Definition defines.h:213
u16
@ u16
16-bit unsigned integral values
Definition defines.h:225
f16
@ f16
16-bit floating point value
Definition defines.h:228
u8
@ u8
8-bit unsigned integral values
Definition defines.h:218
uintl
unsigned long long uintl
Definition defines.h:63
af_canny_threshold
af_canny_threshold
Definition defines.h:483
AF_CANNY_THRESHOLD_AUTO_OTSU
@ AF_CANNY_THRESHOLD_AUTO_OTSU
Determine canny algorithm thresholds using Otsu algorithm.
Definition defines.h:485
AF_CANNY_THRESHOLD_MANUAL
@ AF_CANNY_THRESHOLD_MANUAL
User has to define canny thresholds manually.
Definition defines.h:484
af_iterative_deconv_algo
af_iterative_deconv_algo
Definition defines.h:528
AF_ITERATIVE_DECONV_LANDWEBER
@ AF_ITERATIVE_DECONV_LANDWEBER
Landweber Deconvolution.
Definition defines.h:529
AF_ITERATIVE_DECONV_DEFAULT
@ AF_ITERATIVE_DECONV_DEFAULT
Default is Landweber deconvolution.
Definition defines.h:531
AF_ITERATIVE_DECONV_RICHARDSONLUCY
@ AF_ITERATIVE_DECONV_RICHARDSONLUCY
Richardson-Lucy Deconvolution.
Definition defines.h:530
intl
long long intl
Definition defines.h:62
af_inverse_deconv_algo
af_inverse_deconv_algo
Definition defines.h:534
AF_INVERSE_DECONV_DEFAULT
@ AF_INVERSE_DECONV_DEFAULT
Default is Tikhonov deconvolution.
Definition defines.h:536
AF_INVERSE_DECONV_TIKHONOV
@ AF_INVERSE_DECONV_TIKHONOV
Tikhonov Inverse deconvolution.
Definition defines.h:535
af_norm_type
af_norm_type
Definition defines.h:363
AF_NORM_MATRIX_L_PQ
@ AF_NORM_MATRIX_L_PQ
returns Lpq-norm
Definition defines.h:371
AF_NORM_VECTOR_2
@ AF_NORM_VECTOR_2
treats the input as a vector and returns euclidean norm
Definition defines.h:366
AF_NORM_MATRIX_2
@ AF_NORM_MATRIX_2
returns the max singular value). Currently NOT SUPPORTED
Definition defines.h:370
AF_NORM_MATRIX_INF
@ AF_NORM_MATRIX_INF
return the max of row sums
Definition defines.h:369
AF_NORM_EUCLID
@ AF_NORM_EUCLID
The default. Same as AF_NORM_VECTOR_2.
Definition defines.h:373
AF_NORM_VECTOR_P
@ AF_NORM_VECTOR_P
treats the input as a vector and returns the p-norm
Definition defines.h:367
AF_NORM_VECTOR_INF
@ AF_NORM_VECTOR_INF
treats the input as a vector and returns the max of absolute values
Definition defines.h:365
AF_NORM_VECTOR_1
@ AF_NORM_VECTOR_1
treats the input as a vector and returns the sum of absolute values
Definition defines.h:364
AF_NORM_MATRIX_1
@ AF_NORM_MATRIX_1
return the max of column sums
Definition defines.h:368
af_border_type
af_border_type
Definition defines.h:266
AF_PAD_SYM
@ AF_PAD_SYM
Out of bound values are symmetric over the edge.
Definition defines.h:275
AF_PAD_PERIODIC
@ AF_PAD_PERIODIC
Out of bound values are mapped to range of the dimension in cyclic fashion.
Definition defines.h:285
AF_PAD_CLAMP_TO_EDGE
@ AF_PAD_CLAMP_TO_EDGE
Out of bound values are clamped to the edge.
Definition defines.h:280
AF_PAD_ZERO
@ AF_PAD_ZERO
Out of bound values are 0.
Definition defines.h:270
af_image_format
af_image_format
Definition defines.h:377
AF_FIF_PNG
@ AF_FIF_PNG
FreeImage Enum for Portable Network Graphics File.
Definition defines.h:382
AF_FIF_PSD
@ AF_FIF_PSD
FreeImage Enum for Adobe Photoshop File.
Definition defines.h:386
AF_FIF_PPMRAW
@ AF_FIF_PPMRAW
FreeImage Enum for Portable Pixelmap (Binary) File.
Definition defines.h:384
AF_FIF_JPEG
@ AF_FIF_JPEG
FreeImage Enum for JPEG File.
Definition defines.h:380
AF_FIF_JP2
@ AF_FIF_JP2
FreeImage Enum for JPEG-2000 File.
Definition defines.h:389
AF_FIF_PPM
@ AF_FIF_PPM
FreeImage Enum for Portable Pixelmap (ASCII) File.
Definition defines.h:383
AF_FIF_BMP
@ AF_FIF_BMP
FreeImage Enum for Bitmap File.
Definition defines.h:378
AF_FIF_ICO
@ AF_FIF_ICO
FreeImage Enum for Windows Icon File.
Definition defines.h:379
AF_FIF_RAW
@ AF_FIF_RAW
FreeImage Enum for RAW Camera Image File.
Definition defines.h:390
AF_FIF_EXR
@ AF_FIF_EXR
FreeImage Enum for ILM OpenEXR File.
Definition defines.h:388
AF_FIF_TIFF
@ AF_FIF_TIFF
FreeImage Enum for Tagged Image File Format File.
Definition defines.h:385
AF_FIF_HDR
@ AF_FIF_HDR
FreeImage Enum for High Dynamic Range File.
Definition defines.h:387
AF_FIF_JNG
@ AF_FIF_JNG
FreeImage Enum for JPEG Network Graphics File.
Definition defines.h:381
af_binary_op
af_binary_op
Definition defines.h:430
AF_BINARY_MAX
@ AF_BINARY_MAX
Definition defines.h:434
AF_BINARY_ADD
@ AF_BINARY_ADD
Definition defines.h:431
AF_BINARY_MUL
@ AF_BINARY_MUL
Definition defines.h:432
AF_BINARY_MIN
@ AF_BINARY_MIN
Definition defines.h:433
af_colormap
af_colormap
Definition defines.h:454
AF_COLORMAP_COLORS
@ AF_COLORMAP_COLORS
Colors, aka. Rainbow.
Definition defines.h:457
AF_COLORMAP_SPECTRUM
@ AF_COLORMAP_SPECTRUM
Spectrum map (390nm-830nm, in sRGB colorspace)
Definition defines.h:456
AF_COLORMAP_DEFAULT
@ AF_COLORMAP_DEFAULT
Default grayscale map.
Definition defines.h:455
AF_COLORMAP_VIRIDIS
@ AF_COLORMAP_VIRIDIS
Perceptually uniform shades of blue-green-yellow.
Definition defines.h:465
AF_COLORMAP_BLUE
@ AF_COLORMAP_BLUE
Blue hue map.
Definition defines.h:461
AF_COLORMAP_HEAT
@ AF_COLORMAP_HEAT
Heat map.
Definition defines.h:460
AF_COLORMAP_RED
@ AF_COLORMAP_RED
Red hue map.
Definition defines.h:458
AF_COLORMAP_PLASMA
@ AF_COLORMAP_PLASMA
Perceptually uniform shades of blue-red-yellow.
Definition defines.h:464
AF_COLORMAP_MAGMA
@ AF_COLORMAP_MAGMA
Perceptually uniform shades of black-red-white.
Definition defines.h:463
AF_COLORMAP_MOOD
@ AF_COLORMAP_MOOD
Mood map.
Definition defines.h:459
AF_COLORMAP_INFERNO
@ AF_COLORMAP_INFERNO
Perceptually uniform shades of black-red-yellow.
Definition defines.h:462
af_mat_prop
af_mat_prop
Definition defines.h:348
AF_MAT_CONJ
@ AF_MAT_CONJ
Data needs to be conjugate.
Definition defines.h:352
AF_MAT_CTRANS
@ AF_MAT_CTRANS
Data needs to be conjugate tansposed.
Definition defines.h:351
AF_MAT_LOWER
@ AF_MAT_LOWER
Matrix is lower triangular.
Definition defines.h:354
AF_MAT_POSDEF
@ AF_MAT_POSDEF
Matrix is positive definite.
Definition defines.h:357
AF_MAT_UPPER
@ AF_MAT_UPPER
Matrix is upper triangular.
Definition defines.h:353
AF_MAT_SYM
@ AF_MAT_SYM
Matrix is symmetric.
Definition defines.h:356
AF_MAT_ORTHOG
@ AF_MAT_ORTHOG
Matrix is orthogonal.
Definition defines.h:358
AF_MAT_BLOCK_DIAG
@ AF_MAT_BLOCK_DIAG
Matrix is block diagonal.
Definition defines.h:360
AF_MAT_TRI_DIAG
@ AF_MAT_TRI_DIAG
Matrix is tri diagonal.
Definition defines.h:359
AF_MAT_DIAG_UNIT
@ AF_MAT_DIAG_UNIT
Matrix diagonal contains unitary values.
Definition defines.h:355
AF_MAT_TRANS
@ AF_MAT_TRANS
Data needs to be transposed.
Definition defines.h:350
AF_MAT_NONE
@ AF_MAT_NONE
Default.
Definition defines.h:349
af_storage
af_storage
Definition defines.h:490
AF_STORAGE_CSC
@ AF_STORAGE_CSC
Storage type is CSC.
Definition defines.h:493
AF_STORAGE_CSR
@ AF_STORAGE_CSR
Storage type is CSR.
Definition defines.h:492
AF_STORAGE_COO
@ AF_STORAGE_COO
Storage type is COO.
Definition defines.h:494
AF_STORAGE_DENSE
@ AF_STORAGE_DENSE
Storage type is dense.
Definition defines.h:491
dim_t
long long dim_t
Definition defines.h:56
af_random_engine_type
af_random_engine_type
Definition defines.h:439
AF_RANDOM_ENGINE_PHILOX
@ AF_RANDOM_ENGINE_PHILOX
Definition defines.h:443
AF_RANDOM_ENGINE_DEFAULT
@ AF_RANDOM_ENGINE_DEFAULT
Definition defines.h:446
AF_RANDOM_ENGINE_MERSENNE_GP11213
@ AF_RANDOM_ENGINE_MERSENNE_GP11213
Definition defines.h:442
AF_RANDOM_ENGINE_THREEFRY
@ AF_RANDOM_ENGINE_THREEFRY
Definition defines.h:444
AF_RANDOM_ENGINE_PHILOX_4X32_10
@ AF_RANDOM_ENGINE_PHILOX_4X32_10
Definition defines.h:440
AF_RANDOM_ENGINE_MERSENNE
@ AF_RANDOM_ENGINE_MERSENNE
Definition defines.h:445
AF_RANDOM_ENGINE_THREEFRY_2X32_16
@ AF_RANDOM_ENGINE_THREEFRY_2X32_16
Definition defines.h:441
af_err
af_err
Definition defines.h:71
AF_ERR_NOT_CONFIGURED
@ AF_ERR_NOT_CONFIGURED
Definition defines.h:144
AF_ERR_ARR_BKND_MISMATCH
@ AF_ERR_ARR_BKND_MISMATCH
Definition defines.h:193
AF_ERR_NONFREE
@ AF_ERR_NONFREE
Definition defines.h:150
AF_ERR_RUNTIME
@ AF_ERR_RUNTIME
Definition defines.h:92
AF_SUCCESS
@ AF_SUCCESS
The function returned successfully.
Definition defines.h:75
AF_ERR_DIFF_TYPE
@ AF_ERR_DIFF_TYPE
Definition defines.h:119
AF_ERR_NO_DBL
@ AF_ERR_NO_DBL
Definition defines.h:158
AF_ERR_LOAD_LIB
@ AF_ERR_LOAD_LIB
Definition defines.h:179
AF_ERR_LOAD_SYM
@ AF_ERR_LOAD_SYM
Definition defines.h:186
AF_ERR_NO_HALF
@ AF_ERR_NO_HALF
Definition defines.h:170
AF_ERR_BATCH
@ AF_ERR_BATCH
Definition defines.h:124
AF_ERR_DRIVER
@ AF_ERR_DRIVER
Definition defines.h:87
AF_ERR_NOT_SUPPORTED
@ AF_ERR_NOT_SUPPORTED
Definition defines.h:139
AF_ERR_NO_GFX
@ AF_ERR_NO_GFX
Definition defines.h:164
AF_ERR_INVALID_ARRAY
@ AF_ERR_INVALID_ARRAY
Definition defines.h:99
AF_ERR_TYPE
@ AF_ERR_TYPE
Definition defines.h:114
AF_ERR_NO_MEM
@ AF_ERR_NO_MEM
Definition defines.h:82
AF_ERR_DEVICE
@ AF_ERR_DEVICE
Definition defines.h:131
AF_ERR_UNKNOWN
@ AF_ERR_UNKNOWN
Definition defines.h:207
AF_ERR_ARG
@ AF_ERR_ARG
Definition defines.h:104
AF_ERR_INTERNAL
@ AF_ERR_INTERNAL
Definition defines.h:202
AF_ERR_SIZE
@ AF_ERR_SIZE
Definition defines.h:109
af_conv_domain
af_conv_domain
Definition defines.h:313
AF_CONV_FREQ
@ AF_CONV_FREQ
Perform convolution in frequency domain.
Definition defines.h:316
AF_CONV_SPATIAL
@ AF_CONV_SPATIAL
Perform convolution in spatial domain.
Definition defines.h:315
AF_CONV_AUTO
@ AF_CONV_AUTO
ArrayFire automatically picks the right convolution algorithm.
Definition defines.h:314
af_array
void * af_array
Definition defines.h:240
af_homography_type
af_homography_type
Definition defines.h:405
AF_HOMOGRAPHY_RANSAC
@ AF_HOMOGRAPHY_RANSAC
Computes homography using RANSAC.
Definition defines.h:406
AF_HOMOGRAPHY_LMEDS
@ AF_HOMOGRAPHY_LMEDS
Computes homography using Least Median of Squares.
Definition defines.h:407
AF_DEPRECATED
#define AF_DEPRECATED(msg)
Definition defines.h:44
af_match_type
af_match_type
Definition defines.h:319
AF_LSSD
@ AF_LSSD
Match based on Locally scaled SSD.
Definition defines.h:325
AF_ZNCC
@ AF_ZNCC
Match based on Zero mean NCC.
Definition defines.h:327
AF_ZSAD
@ AF_ZSAD
Match based on Zero mean SAD.
Definition defines.h:321
AF_SSD
@ AF_SSD
Match based on Sum of Squared Differences (SSD)
Definition defines.h:323
AF_NCC
@ AF_NCC
Match based on Normalized Cross Correlation (NCC)
Definition defines.h:326
AF_SHD
@ AF_SHD
Match based on Sum of Hamming Distances (SHD)
Definition defines.h:328
AF_LSAD
@ AF_LSAD
Match based on Locally scaled SAD.
Definition defines.h:322
AF_ZSSD
@ AF_ZSSD
Match based on Zero mean SSD.
Definition defines.h:324
AF_SAD
@ AF_SAD
Match based on Sum of Absolute Differences (SAD)
Definition defines.h:320
af_topk_function
af_topk_function
Definition defines.h:511
AF_TOPK_STABLE_MAX
@ AF_TOPK_STABLE_MAX
Top k max with stable indices.
Definition defines.h:516
AF_TOPK_STABLE
@ AF_TOPK_STABLE
Preserve order of indices for equal values.
Definition defines.h:514
AF_TOPK_MIN
@ AF_TOPK_MIN
Top k min values.
Definition defines.h:512
AF_TOPK_MAX
@ AF_TOPK_MAX
Top k max values.
Definition defines.h:513
AF_TOPK_DEFAULT
@ AF_TOPK_DEFAULT
Default option (max)
Definition defines.h:517
AF_TOPK_STABLE_MIN
@ AF_TOPK_STABLE_MIN
Top k min with stable indices.
Definition defines.h:515
af_ycc_std
af_ycc_std
Definition defines.h:332
AF_YCC_709
@ AF_YCC_709
ITU-R BT.709 standard.
Definition defines.h:334
AF_YCC_2020
@ AF_YCC_2020
ITU-R BT.2020 standard.
Definition defines.h:335
AF_YCC_601
@ AF_YCC_601
ITU-R BT.601 (formerly CCIR 601) standard.
Definition defines.h:333
af_var_bias
af_var_bias
Definition defines.h:522
AF_VARIANCE_DEFAULT
@ AF_VARIANCE_DEFAULT
Default (Population) variance.
Definition defines.h:523
AF_VARIANCE_SAMPLE
@ AF_VARIANCE_SAMPLE
Sample variance.
Definition defines.h:524
AF_VARIANCE_POPULATION
@ AF_VARIANCE_POPULATION
Population variance.
Definition defines.h:525
af_source
af_source
Definition defines.h:232
afDevice
@ afDevice
Device pointer.
Definition defines.h:233
afHost
@ afHost
Host pointer.
Definition defines.h:234
af_someenum_t
af_someenum_t
Definition defines.h:425
AF_ID
@ AF_ID
Definition defines.h:426
af_interp_type
af_interp_type
Definition defines.h:242
AF_INTERP_CUBIC
@ AF_INTERP_CUBIC
Cubic Interpolation.
Definition defines.h:246
AF_INTERP_LOWER
@ AF_INTERP_LOWER
Floor Indexed.
Definition defines.h:247
AF_INTERP_LINEAR_COSINE
@ AF_INTERP_LINEAR_COSINE
Linear Interpolation with cosine smoothing.
Definition defines.h:249
AF_INTERP_LINEAR
@ AF_INTERP_LINEAR
Linear Interpolation.
Definition defines.h:244
AF_INTERP_NEAREST
@ AF_INTERP_NEAREST
Nearest Interpolation.
Definition defines.h:243
AF_INTERP_BILINEAR_COSINE
@ AF_INTERP_BILINEAR_COSINE
Bilinear Interpolation with cosine smoothing.
Definition defines.h:252
AF_INTERP_CUBIC_SPLINE
@ AF_INTERP_CUBIC_SPLINE
Cubic Interpolation with Catmull-Rom splines.
Definition defines.h:258
AF_INTERP_BICUBIC
@ AF_INTERP_BICUBIC
Bicubic Interpolation.
Definition defines.h:255
AF_INTERP_BICUBIC_SPLINE
@ AF_INTERP_BICUBIC_SPLINE
Bicubic Interpolation with Catmull-Rom splines.
Definition defines.h:261
AF_INTERP_BILINEAR
@ AF_INTERP_BILINEAR
Bilinear Interpolation.
Definition defines.h:245
af_diffusion_eq
af_diffusion_eq
Definition defines.h:505
AF_DIFFUSION_MCDE
@ AF_DIFFUSION_MCDE
Modified curvature diffusion equation.
Definition defines.h:507
AF_DIFFUSION_GRAD
@ AF_DIFFUSION_GRAD
Gradient diffusion equation.
Definition defines.h:506
AF_DIFFUSION_DEFAULT
@ AF_DIFFUSION_DEFAULT
Default option is same as AF_DIFFUSION_GRAD.
Definition defines.h:508
af_conv_mode
af_conv_mode
Definition defines.h:300
AF_CONV_DEFAULT
@ AF_CONV_DEFAULT
Output of the convolution is the same size as input.
Definition defines.h:305
AF_CONV_EXPAND
@ AF_CONV_EXPAND
Output of the convolution is signal_len + filter_len - 1.
Definition defines.h:310
af_moment_type
af_moment_type
Definition defines.h:395
AF_MOMENT_M10
@ AF_MOMENT_M10
Definition defines.h:398
AF_MOMENT_M01
@ AF_MOMENT_M01
Definition defines.h:397
AF_MOMENT_M11
@ AF_MOMENT_M11
Definition defines.h:399
AF_MOMENT_FIRST_ORDER
@ AF_MOMENT_FIRST_ORDER
Definition defines.h:400
AF_MOMENT_M00
@ AF_MOMENT_M00
Definition defines.h:396
af_marker_type
af_marker_type
Definition defines.h:469
AF_MARKER_PLUS
@ AF_MARKER_PLUS
Definition defines.h:476
AF_MARKER_CROSS
@ AF_MARKER_CROSS
Definition defines.h:475
AF_MARKER_NONE
@ AF_MARKER_NONE
Definition defines.h:470
AF_MARKER_STAR
@ AF_MARKER_STAR
Definition defines.h:477
AF_MARKER_CIRCLE
@ AF_MARKER_CIRCLE
Definition defines.h:472
AF_MARKER_SQUARE
@ AF_MARKER_SQUARE
Definition defines.h:473
AF_MARKER_POINT
@ AF_MARKER_POINT
Definition defines.h:471
AF_MARKER_TRIANGLE
@ AF_MARKER_TRIANGLE
Definition defines.h:474
af_cspace_t
af_cspace_t
Definition defines.h:339
AF_GRAY
@ AF_GRAY
Grayscale.
Definition defines.h:340
AF_HSV
@ AF_HSV
3-channel HSV
Definition defines.h:342
AF_YCbCr
@ AF_YCbCr
3-channel YCbCr
Definition defines.h:344
AF_RGB
@ AF_RGB
3-channel RGB
Definition defines.h:341
af_flux_function
af_flux_function
Definition defines.h:499
AF_FLUX_EXPONENTIAL
@ AF_FLUX_EXPONENTIAL
Exponential flux function.
Definition defines.h:501
AF_FLUX_QUADRATIC
@ AF_FLUX_QUADRATIC
Quadratic flux function.
Definition defines.h:500
AF_FLUX_DEFAULT
@ AF_FLUX_DEFAULT
Default flux function is exponential.
Definition defines.h:502
af_connectivity
af_connectivity
Definition defines.h:288
AF_CONNECTIVITY_4
@ AF_CONNECTIVITY_4
Connectivity includes neighbors, North, East, South and West of current pixel.
Definition defines.h:292
AF_CONNECTIVITY_8
@ AF_CONNECTIVITY_8
Connectivity includes 4-connectivity neigbors and also those on Northeast, Northwest,...
Definition defines.h:297
af_backend
af_backend
Definition defines.h:413
AF_BACKEND_ONEAPI
@ AF_BACKEND_ONEAPI
OneAPI Compute Backend.
Definition defines.h:418
AF_BACKEND_CUDA
@ AF_BACKEND_CUDA
CUDA Compute Backend.
Definition defines.h:416
AF_BACKEND_OPENCL
@ AF_BACKEND_OPENCL
OpenCL Compute Backend.
Definition defines.h:417
AF_BACKEND_CPU
@ AF_BACKEND_CPU
CPU a.k.a sequential algorithms.
Definition defines.h:415
AF_BACKEND_DEFAULT
@ AF_BACKEND_DEFAULT
Default backend order: OpenCL -> CUDA -> CPU.
Definition defines.h:414
af_conv_gradient_type
af_conv_gradient_type
Definition defines.h:542
AF_CONV_GRADIENT_DATA
@ AF_CONV_GRADIENT_DATA
Definition defines.h:545
AF_CONV_GRADIENT_BIAS
@ AF_CONV_GRADIENT_BIAS
Definition defines.h:546
AF_CONV_GRADIENT_FILTER
@ AF_CONV_GRADIENT_FILTER
Definition defines.h:544
AF_CONV_GRADIENT_DEFAULT
@ AF_CONV_GRADIENT_DEFAULT
Definition defines.h:543
af
Definition algorithm.h:15
af::diffusionEq
af_diffusion_eq diffusionEq
Definition defines.h:596
af::fluxFunction
af_flux_function fluxFunction
Definition defines.h:595
af::matchType
af_match_type matchType
Definition defines.h:558
af::dtype
af_dtype dtype
Definition defines.h:553
af::Backend
af_backend Backend
Definition defines.h:574
af::SomeEnum
af_someenum_t SomeEnum
Definition defines.h:560
af::varBias
af_var_bias varBias
Definition defines.h:600
af::storage
af_storage storage
Definition defines.h:583
af::borderType
af_border_type borderType
Definition defines.h:556
af::topkFunction
af_topk_function topkFunction
Definition defines.h:597
af::momentType
af_moment_type momentType
Definition defines.h:580
af::iterativeDeconvAlgo
af_iterative_deconv_algo iterativeDeconvAlgo
Definition defines.h:601
af::convGradientType
af_conv_gradient_type convGradientType
Definition defines.h:603
af::interpType
af_interp_type interpType
Definition defines.h:555
af::normType
af_norm_type normType
Definition defines.h:566
af::CSpace
af_cspace_t CSpace
Definition defines.h:559
af::source
af_source source
Definition defines.h:554
af::randomEngineType
af_random_engine_type randomEngineType
Definition defines.h:589
af::matProp
af_mat_prop matProp
Definition defines.h:564
af::cannyThreshold
af_canny_threshold cannyThreshold
Definition defines.h:592
af::ColorMap
af_colormap ColorMap
Definition defines.h:565
af::YCCStd
af_ycc_std YCCStd
Definition defines.h:568
af::connectivity
af_connectivity connectivity
Definition defines.h:557
af::binaryOp
af_binary_op binaryOp
Definition defines.h:586
af::convMode
af_conv_mode convMode
Definition defines.h:562
af::inverseDeconvAlgo
af_inverse_deconv_algo inverseDeconvAlgo
Definition defines.h:602
af::trans
af_mat_prop trans
Definition defines.h:561
af::convDomain
af_conv_domain convDomain
Definition defines.h:563
af::markerType
af_marker_type markerType
Definition defines.h:577
af::imageFormat
af_image_format imageFormat
Definition defines.h:571