h&{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                        - Safe-Inferred$%  arrayfire%Value corresponding to ArrayFire type arrayfire/Low-level for representation of ArrayFire types arrayfire3AFDType Newtype over ArrayFire's internal type tag arrayfireEnums for AFDtype Safe-Inferred  Safe-InferredS Safe-Inferred Safe-Inferred Safe-Inferred Safe-Inferred" Safe-Inferred@ Safe-InferredDavid Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred$%' arrayfire Exception type for ArrayFire API arrayfireThe Exception type to throw arrayfireCode representing the exception arrayfireException message arrayfireArrayFire exception type arrayfire,String representation of ArrayFire exception arrayfireConversion function helper arrayfireThrows an ArrayFire Exception!  Safe-Inferred  Safe-Inferred+  Safe-Inferred! Safe-Inferred" Safe-Inferred# Safe-InferredT!$ Safe-Inferred  % Safe-Inferred & Safe-Inferred$%'8 arrayfireArray Fire types+ arrayfireConvolution Mode, arrayfire3Output of the convolution is the same size as input- arrayfire8Output of the convolution is signal_len + filter_len - 1. arrayfireConvolution Domain/ arrayfire=ArrayFire automatically picks the right convolution algorithm0 arrayfire%Perform convolution in spatial domain1 arrayfire'Perform convolution in frequency domain2 arrayfire Norm Type3 arrayfiretreats the input as a vector and returns the sum of absolute values4 arrayfiretreats the input as a vector and returns the max of absolute values5 arrayfire7treats the input as a vector and returns euclidean norm6 arrayfire3treats the input as a vector and returns the p-norm7 arrayfirereturn the max of column sums8 arrayfirereturn the max of row sums9 arrayfire8returns the max singular value). Currently NOT SUPPORTED: arrayfirereturns Lpq-norm; arrayfire%The default. Same as AF_NORM_VECTOR_2  arrayfire$Type alias for ArrayFire API version< arrayfire Index TypeA arrayfire Sequence TypeF arrayfireHomography TypeI arrayfire TopK typeM arrayfire Match typeW arrayfire Marker type` arrayfire ColorMap typel arrayfire"Cell type, used in Graphics moduler arrayfireInverse deconvolution algo typeu arrayfire!Iterative deconvolution algo typey arrayfireDiffusion type} arrayfireFlux function type arrayfireCanny Theshold type arrayfire Moment types arrayfire YccStd type arrayfireColor Space type arrayfireConnectivity Type arrayfire Border Type arrayfireInterpolation type arrayfire Type for different RandomEngines arrayfire#Storage type used for Sparse arrays arrayfireBinary operation support arrayfireMatrix properties arrayfireArrayFire backends arrayfire+Mapping of Haskell types to ArrayFire types arrayfire ArrayFire  arrayfire ArrayFire  arrayfire ArrayFire  arrayfire ArrayFire   arrayfireType used for indexing into   arrayfire*Low-level to high-level Backend conversion  arrayfire*High-level to low-level Backend conversion  arrayfireRead multiple backends  arrayfireLow-level to High-level  conversion  arrayfireHigh-level to low-level  conversion  arrayfireHigh-level to low-level  conversion  arrayfire conversion helper*)('&%$#"! +-,.10/2;:9876543 <=@?>ABEDCFHGILKJMVUTSRQPONW_^]\[ZYX`kjihgfedcbalmqponrtsuxwvy|{z}~    ' Safe-Inferred ( Safe-Inferred!  ) Safe-Inferred!n * Safe-Inferred! David Johnson (c) 2019-2020BSD3$David Johnson  ExperimentalGHC Safe-Inferred$%'()/0"Z  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ IJKLMNOPQRSTUVFGHlmnopqWXYZ[\]^_}~yz{|uvwxrstABCDE<=>?@23456789:;+,-./01 !"#$%&'()*`abcdefghijk+David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred$%'%  arrayfire"Note: We don't add a finalizer to  since the  finalizer frees  under the hood.# David Johnson (c) 2019-2020BSD3$David Johnson  ExperimentalGHC Safe-Inferred'=x  arrayfireThis function converts af::array of values, row indices and column indices into a sparse array. http://arrayfire.org/docs/group__sparse__func__create.htm#ga42c5cf729a232c1cbbcfe0f664f3b986ArrayFire DocsNote* This function only create references of these arrays into the sparse data structure and does not do deep copies.createSparseArray 10 10 (matrix @Double (10,10) [[1,2],[3,4]]) (vector @Int32 10 [1..]) (vector @Int32 10 [1..]) CSR arrayfirehttp://arrayfire.org/docs/group__sparse__func__convert__to.htmArrayFire Docs.Converting storage formats is allowed between ,  and DENSE.4When converting to DENSE, a dense array is returned.Note*  is currently not supported.array = createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSRarray ArrayFire ArrayStorage Format : AF_STORAGE_CSR [2 2 1 1]ArrayFire Array: Values [4 1 1 1] 1.0000 3.0000 2.0000 4.0000 arrayfire)Returns a dense array from a sparse input http://arrayfire.org/docs/group__sparse__func__dense.htm#ga80c3d8db78d537b74d9caebcf359b6a5ArrayFire Docs=Converts the sparse matrix into a dense matrix and returns itarray = createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSRarray ArrayFire ArrayStorage Format : AF_STORAGE_CSR [2 2 1 1]ArrayFire Array: Values [4 1 1 1] 1.0000 3.0000 2.0000 4.0000ArrayFire Array: RowIdx [3 1 1 1] 0 2 4ArrayFire Array: ColIdx [4 1 1 1] 0 1 0 1 arrayfire:Returns reference to components of the input sparse array. http://arrayfire.org/docs/group__sparse__func__info.htm#gae6b553df80e21c174d374e82d8505ba5ArrayFire DocsReturns reference to values, row indices, column indices and storage format of an input sparse array(values, cols, rows, storage) = sparseGetInfo $ createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSRvaluesArrayFire Array [4 1 1 1] 1.0000 3.0000 2.0000 4.0000colsArrayFire Array [3 1 1 1] 0 2 4rowsArrayFire Array [4 1 1 1] 0 1 0 1storageCSR arrayfire>Returns reference to the values component of the sparse array. 9http://arrayfire.org/docs/group__sparse__func__values.htmArrayFire DocsReturns reference to the values component of the sparse array. Values is the 6 containing the non-zero elements of the dense matrix.sparseGetValues (createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSR)ArrayFire Array [4 1 1 1] 1.0000 3.0000 2.0000 4.0000 arrayfireReturns reference to the row indices component of the sparse array. More... ;http://arrayfire.org/docs/group__sparse__func__row__idx.htmArrayFire DocsReturns reference to the row indices component of the sparse array. Row indices is the 3 containing the column indices of the sparse array.sparseGetRowIdx (createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSR)ArrayFire Array [3 1 1 1] 0 2 4 arrayfireReturns reference to the column indices component of the sparse array. More... ;http://arrayfire.org/docs/group__sparse__func__col__idx.htmArrayFire DocsReturns reference to the column indices component of the sparse array. Column indices is the 3 containing the column indices of the sparse array.sparseGetColIdx (createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSR)ArrayFire Array [4 1 1 1] 0 1 0 1 arrayfire+Returns the storage type of a sparse array. :http://arrayfire.org/docs/group__sparse__func__storage.htmArrayFire DocsReturns the number of non zero elements in the sparse array. This is always equal to the size of the values array.sparseGetStorage $ createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSRCSR arrayfireReturns the number of non zero elements in the sparse array. More... http://arrayfire.org/docs/group__sparse__func__nnz.htm#ga0c1ad61d829c02a280c28820eb91f03eArrayFire DocsReturns the number of non zero elements in the sparse array. This is always equal to the size of the values array.sparseGetNNZ $ createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSR4 arrayfire)is the number of rows in the dense matrix arrayfire,is the number of columns in the dense matrix arrayfireis the / containing the non-zero elements of the matrix arrayfire'is the row indices for the sparse array arrayfire'the column indices for the sparse array arrayfire&the storage format of the sparse array arrayfire Sparse Array arrayfireis the source dense matrix arrayfire)is the storage format of the sparse array arrayfire1 for the sparse array with the given storage type arrayfire+is the source sparse matrix to be converted arrayfire0is the storage format of the output sparse array arrayfire,the sparse array with the given storage type  David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred'  arrayfire- interpolates data along the first dimensions :http://arrayfire.org/docs/group__signal__func__approx1.htmArrayFire DocsInterpolation is performed assuming input data is equally spaced with indices in the range [0, n). The positions are sampled with respect to data at these locations.input = vector 3 [10,20,30].positions = vector 5 [0.0, 0.5, 1.0, 1.5, 2.0])approx1 @Double input positions Cubic 0.0ArrayFire Array [5 1 1 1] 10.0000 13.7500 20.0000 26.2500 30.0000 arrayfireapprox2 performs interpolation on data along the first and second dimensions. :http://arrayfire.org/docs/group__signal__func__approx2.htmArrayFire DocsInterpolation is performed assuming input data is equally spaced with indices in the range [0, n) along each dimension. The positions are sampled with respect to data at these locations.input = matrix @Double (3,3) [ [ 1.0,1.0,1.0 ], [ 2.0, 2.0, 2.0 ], [ 3.0,3.0,3.0 ] ]=positions1 = matrix @Double (2,2) [ [ 0.5,1.5 ],[ 0.5,1.5 ] ]=positions2 = matrix @Double (2,2) [ [ 0.5,0.5 ],[ 1.5,1.5 ] ]5approx2 @Double input positions1 positions2 Cubic 0.0ArrayFire Array [2 2 1 1] 1.3750 2.6250 1.3750 2.6250 arrayfireFast Fourier Transform http://arrayfire.org/docs/group__signal__func__fft.htm#ga64d0db9e59c9410ba738591ad146a884ArrayFire DocsThe Fast Fourier Transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT) of a signal or array. This is most commonly used to convert data in the time (or space) domain to the frequency domain, Then, the inverse FFT (iFFT) is used to return the data to the original domain.$fft (vector @Double 10 [1..]) 2.0 10 ArrayFire Array [10 1 1 1] (110.0000,0.0000) (-10.0000,30.7768) (-10.0000,13.7638) (-10.0000,7.2654) (-10.0000,3.2492) (-10.0000,0.0000) (-10.0000,-3.2492) (-10.0000,-7.2654) (-10.0000,-13.7638) (-10.0000,-30.7768) arrayfire!Fast Fourier Transform (in-place) http://arrayfire.org/docs/group__signal__func__fft.htm#gaa2f03c9ee1cb80dc184c0b0a13176da1ArrayFire DocsC Interface for fast fourier transform on one dimensional signals.*Note* The input in must be a complex array arrayfire&Fast Fourier Transform (2-dimensional) http://arrayfire.org/docs/group__signal__func__fft2.htm#gaab3fb1ed398e208a615036b4496da611ArrayFire DocsC Interface for fast fourier transform on two dimensional signals. arrayfire0Fast Fourier Transform (2-dimensional, in-place) http://arrayfire.org/docs/group__signal__func__fft2.htm#gacdeebb3f221ae698833dc4900a172b8cArrayFire DocsC Interface for fast fourier transform on two dimensional signals.*Note* The input in must be a complex array arrayfire&Fast Fourier Transform (3-dimensional) http://arrayfire.org/docs/group__signal__func__fft3.htm#ga5138ef1740ece0fde2c796904d733c12ArrayFire DocsC Interface for fast fourier transform on three dimensional signals. arrayfire0Fast Fourier Transform (3-dimensional, in-place) http://arrayfire.org/docs/group__signal__func__fft2.htm#gacdeebb3f221ae698833dc4900a172b8cArrayFire DocsC Interface for fast fourier transform on three dimensional signals.*Note* The input in must be a complex array arrayfireInverse Fast Fourier Transform http://arrayfire.org/docs/group__signal__func__ifft.htm#ga2d62c120b474b3b937b0425c994645feArrayFire DocsC Interface for inverse fast fourier transform on one dimensional signals. arrayfire)Inverse Fast Fourier Transform (in-place) http://arrayfire.org/docs/group__signal__func__ifft.htm#ga827379bef0e2cadb382c1b6301c91429ArrayFire DocsC Interface for fast fourier transform on one dimensional signals. arrayfire6Inverse Fast Fourier Transform (2-dimensional signals) http://arrayfire.org/docs/group__signal__func__ifft2.htm#ga7cd29c6a35c19240635b62cc5c30dc4fArrayFire DocsC Interface for inverse fast fourier transform on two dimensional signals. arrayfire8Inverse Fast Fourier Transform (2-dimensional, in-place) http://arrayfire.org/docs/group__signal__func__ifft2.htm#ga9e6a165d44306db4552a56d421ce5d05ArrayFire DocsC Interface for fast fourier transform on two dimensional signals. arrayfire.Inverse Fast Fourier Transform (3-dimensional) 8http://arrayfire.org/docs/group__signal__func__ifft3.htmArrayFire DocsC Interface for inverse fast fourier transform on three dimensional signals. arrayfire8Inverse Fast Fourier Transform (3-dimensional, in-place) http://arrayfire.org/docs/group__signal__func__ifft3.htm#ga439a7a49723bc6cf77cf4fe7f8dfe334ArrayFire DocsC Interface for fast fourier transform on two dimensional signals. arrayfire&Real to Complex Fast Fourier Transform http://arrayfire.org/docs/group__signal__func__fft__r2c.htm#ga7486f342182a18e773f14cc2ab4cb551ArrayFire DocsC Interface for real to complex fast fourier transform for one dimensional signals.The first dimension of the output will be of size (pad0 / 2) + 1. The second dimension of the output will be pad1. The third dimension of the output will be pad 2. arrayfire&Real to Complex Fast Fourier Transform http://arrayfire.org/docs/group__signal__func__fft__r2c.htm#ga7486f342182a18e773f14cc2ab4cb551ArrayFire DocsC Interface for real to complex fast fourier transform for two dimensional signals.The first dimension of the output will be of size (pad0 / 2) + 1. The second dimension of the output will be pad1. The third dimension of the output will be pad 2. arrayfire&Real to Complex Fast Fourier Transform http://arrayfire.org/docs/group__signal__func__fft__r2c.htm#gab4ca074b54218b74d8cfbda63d38be51ArrayFire DocsC Interface for real to complex fast fourier transform for three dimensional signals.The first dimension of the output will be of size (pad0 / 2) + 1. The second dimension of the output will be pad1. The third dimension of the output will be pad 2. arrayfire&Complex to Real Fast Fourier Transform http://arrayfire.org/docs/group__signal__func__fft__c2r.htm#gaa5efdfd84213a4a07d81a5d534cde5acArrayFire DocsC Interface for complex to real fast fourier transform for one dimensional signals.The first dimension of the output will be 2 * dim0 - 1 if is_odd is true else 2 * dim0 - 2 where dim0 is the first dimension of the input. The remaining dimensions are unchanged. arrayfire6Complex to Real Fast Fourier Transform (2-dimensional) http://arrayfire.org/docs/group__signal__func__fft__c2r.htm#gaaa7da16f226cacaffced631e08da4493ArrayFire DocsC Interface for complex to real fast fourier transform for two dimensional signals.The first dimension of the output will be 2 * dim0 - 1 if is_odd is true else 2 * dim0 - 2 where dim0 is the first dimension of the input. The remaining dimensions are unchanged. arrayfire6Complex to Real Fast Fourier Transform (3-dimensional) http://arrayfire.org/docs/group__signal__func__fft__c2r.htm#gaa9b3322d9ffab15268919e1f114bed24ArrayFire DocsC Interface for complex to real fast fourier transform for three dimensional signals.The first dimension of the output will be 2 * dim0 - 1 if is_odd is true else 2 * dim0 - 2 where dim0 is the first dimension of the input. The remaining dimensions are unchanged. arrayfire-Convolution Integral for one dimensional data http://arrayfire.org/docs/group__signal__func__convolve1.htm#ga25d77b794463b5cd72cd0b7f4af140d7ArrayFire Docs7C Interface for convolution on one dimensional signals.Note* The default parameter of domain, AF_CONV_AUTO, heuristically switches between frequency and spatial domain. arrayfire-Convolution Integral for two dimensional data http://arrayfire.org/docs/group__signal__func__convolve2.htm#ga25d77b794463b5cd72cd0b7f4af140d7ArrayFire Docs7C Interface for convolution on two dimensional signals.Note* The default parameter of domain, AF_CONV_AUTO, heuristically switches between frequency and spatial domain. arrayfire/Convolution Integral for three dimensional data http://arrayfire.org/docs/group__signal__func__convolve3.htm#ga25d77b794463b5cd72cd0b7f4af140d7ArrayFire Docs9C Interface for convolution on three dimensional signals.Note* The default parameter of domain, AF_CONV_AUTO, heuristically switches between frequency and spatial domain. arrayfireC Interface for separable convolution on two dimensional signals. http://arrayfire.org/docs/group__signal__func__convolve.htm#gaeb6ba88155cf3ef29d93f97b147e372fArrayFire DocsC Interface for separable convolution on two dimensional signals.Note* The default parameter of domain, AF_CONV_AUTO, heuristically switches between frequency and spatial domain. arrayfire+2D Convolution using Fast Fourier Transform http://arrayfire.org/docs/group__signal__func__fft__convolve2.htm#gab52ebe631d8358cdef1b5c8a95550556ArrayFire DocsA convolution is a common operation between a source array, a, and a filter (or kernel) array b. The answer to the convolution is the same as computing the coefficients in polynomial multiplication, if a and b are the coefficients.C Interface for FFT-based convolution on two dimensional signals. arrayfire+3D Convolution using Fast Fourier Transform http://arrayfire.org/docs/group__signal__func__fft__convolve3.htmArrayFire DocsA convolution is a common operation between a source array, a, and a filter (or kernel) array b. The answer to the convolution is the same as computing the coefficients in polynomial multiplication, if a and b are the coefficients.C Interface for FFT-based convolution on three dimensional signals. arrayfireFinite Impulse Filter. http://arrayfire.org/docs/group__signal__func__fir.htm#ga2a850e69775eede4709e0d607bba240bArrayFire DocsFinite impulse filters take an input x and a co-efficient array b to generate an output y such that:/C Interface for finite impulse response filter. arrayfireInfinite Impulse Filter. http://arrayfire.org/docs/group__signal__func__iir.htm#ga7adcc364da0a66cdfd2bb351215456c4ArrayFire DocsInfinite impulse filters take an input x and a feedforward array b, feedback array a to generate an output y such that:1C Interface for infinite impulse response filter.Note* The feedforward coefficients are currently limited to a length of 512 arrayfire Median Filter http://arrayfire.org/docs/group__image__func__medfilt.htm#gaaf3f62f2de0f4dc315b831e494e1b2c0ArrayFire DocsA median filter is similar to the arbitrary filter except that instead of a weighted sum, the median value of the pixels covered by the kernel is returned.C Interface for median filter. arrayfire1D Median Filter http://arrayfire.org/docs/group__image__func__medfilt.htm#gad108ea62cbbb5371bd14a17d06384359ArrayFire DocsA median filter is similar to the arbitrary filter except that instead of a weighted sum, the median value of the pixels covered by the kernel is returned.!C Interface for 1D median filter. arrayfire2D Median Filter http://arrayfire.org/docs/group__image__func__medfilt.htm#ga2cb99dca5842f74f6b9cd28eb187a9cdArrayFire DocsA median filter is similar to the arbitrary filter except that instead of a weighted sum, the median value of the pixels covered by the kernel is returned.!C Interface for 2D median filter. arrayfire(C Interface for setting plan cache size. http://arrayfire.org/docs/group__signal__func__fft.htm#ga4ddef19b43d9a50c97b1a835df60279aArrayFire DocsThis function doesn't do anything if called when CPU backend is active. The plans associated with the most recently used array sizes are cached.setFFTPlanCacheSize 2()  arrayfirethe input array arrayfire*array contains the interpolation locations arrayfireis the interpolation type, it can take one of the values defined by  arrayfireis the value that will set in the output array when certain index is out of bounds arrayfire%is the array with interpolated values arrayfireis the input array arrayfire>array contains the interpolation locations for first dimension arrayfire?array contains the interpolation locations for second dimension arrayfireis the interpolation type, it can take one of the values defined by  arrayfireis the value that will set in the output array when certain index is out of bounds arrayfire%is the array with interpolated values arrayfireinput  arrayfirethe normalization factor with which the input is scaled after the transformation is applied arrayfireis the length of output signals - used to either truncate or pad the input signals. arrayfireis the transformed array arrayfireis the input array on entry and the output of 1D forward fourier transform at exit arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfirethe normalization factor with which the input is scaled after the transformation is applied arrayfireis the length of output signals along first dimension - used to either truncate/pad the input arrayfireis the length of output signals along second dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireinput array on entry and the output of 2D forward fourier transform on exit arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfirethe normalization factor with which the input is scaled after the transformation is applied arrayfireis the length of output signals along first dimension - used to either truncate/pad the input arrayfireis the length of output signals along second dimension - used to either truncate/pad the input arrayfireis the length of output signals along third dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireinput array on entry and the output of 3D forward fourier transform on exit arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfireis the length of output signals - used to either truncate or pad the input signals arrayfirethe transformed array arrayfireis the input array on entry and the output of 1D forward fourier transform at exit arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfirethe normalization factor with which the input is scaled after the transformation is applied arrayfireis the length of output signals along first dimension - used to either truncate/pad the input arrayfireis the length of output signals along second dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireis the input array on entry and the output of 1D forward fourier transform at exit arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfirethe normalization factor with which the input is scaled after the transformation is applied arrayfireis the length of output signals along first dimension - used to either truncate/pad the input arrayfireis the length of output signals along second dimension - used to either truncate/pad the input arrayfireis the length of output signals along third dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireis the input array on entry and the output of 1D forward fourier transform at exit arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfireis a real array arrayfireis the normalization factor with which the input is scaled after the transformation is applied arrayfireis the length of output signals along first dimension - used to either truncate/pad the input arrayfirethe signal that shall be flipped for the convolution operation arrayfireindicates if the convolution should be expanded or not(where output size equals input) arrayfirespecifies if the convolution should be performed in frequency os spatial domain arrayfireconvolved array arrayfirethe input signal arrayfire>the signal that shall be flipped for the convolution operation arrayfireindicates if the convolution should be expanded or not(where output size equals input) arrayfirespecifies if the convolution should be performed in frequency os spatial domain arrayfireconvolved array arrayfirethe input signal arrayfire>the signal that shall be flipped for the convolution operation arrayfireindicates if the convolution should be expanded or not(where output size equals input) arrayfirespecifies if the convolution should be performed in frequency os spatial domain arrayfireconvolved array arrayfire0filter that has to be applied along the coloumns arrayfire,filter that has to be applied along the rows arrayfirethe input array arrayfireindicates if the convolution should be expanded or not(where output size equals input) arrayfireconvolved array arrayfireis the input signal arrayfireindicates if the convolution should be expanded or not(where output size equals input) arrayfireis convolved array arrayfireis the input signal arrayfireindicates if the convolution should be expanded or not(where output size equals input) arrayfireis convolved array arrayfire!is the input signal to the filter arrayfire6is the array containing the coefficients of the filter arrayfire$is the output signal from the filter arrayfire0the array containing the feedforward coefficient arrayfire1is the array containing the feedback coefficients arrayfire!is the input signal to the filter arrayfire!the output signal from the filter arrayfire is the input image arrayfire is the processed image arrayfire is the input signal arrayfireIs the kernel width arrayfirevalue will decide what happens to border when running filter in their neighborhood. It takes one of the values [AF_PAD_ZERO | AF_PAD_SYM] arrayfire is the processed signal arrayfire is the input image arrayfirethe kernel height arrayfirethe kernel width arrayfirevalue will decide what happens to border when running filter in their neighborhood. It takes one of the values [AF_PAD_ZERO | AF_PAD_SYM] arrayfire is the processed image arrayfire+is the number of plans that shall be cached  David Johnson (c) 2019-2020BSD3$David Johnson  ExperimentalGHC Safe-Inferred$%'/0  arrayfire&Create random number generator object. ,>>> engine <- createRandomEngine 100 Philox  arrayfireRetains  reference ,>>> nextEngine <- retainRandomEngine engine  arrayfireSets RandomEngine to a new  ">>> setRandomEngine engine Philox  arrayfire Retrieves  3>>> randomEngineType <- getRandomEngineType engine  arrayfire Sets seed on  #>>> randomEngineSetSeed engine 100  arrayfireRetrieve default  %>>> engine <- getDefaultRandomEngine  arrayfire Set defualt  type &>>> setDefaultRandomEngineType Philox  arrayfireRetrieve seed of  '>>> seed <- randomEngineGetSeed engine  arrayfireSet random seed >>> setSeed 100  arrayfireRetrieve random seed >>> seed <- getSeed  arrayfireGenerate random randn @Double [2,2] ArrayFire Array [2 2 1 1] 0.9428 -0.9523 -1.0564 -0.4199  arrayfireGenerate random uniform randu @Double [2,2] ArrayFire Array [2 2 1 1] 0.6010 0.0278 0.9806 0.2126  arrayfireGenerate random uniform 6randomUniform @Double [2,2] =<< getDefaultRandomEngine ArrayFire Array [2 2 1 1] 0.6010 0.9806 0.0278 0.2126  arrayfireGenerate random uniform 5randomNormal @Double [2,2] =<< getDefaultRandomEngine ArrayFire Array [2 2 1 1] -1.4394 0.1952 0.7982 -0.9783  arrayfire-Initial seed value of random number generator arrayfireType of random engine to employ arrayfireOpaque RandomEngine handle arrayfire to retain arrayfire Retained  arrayfire as input arrayfire to set  to arrayfire argument arrayfire returned arrayfire argument arrayfireSeed arrayfire type arrayfireRandomEngine argument  arrayfire Dimensions arrayfireDimensions of random array arrayfireDimensions of random array arrayfireDimensions of random array arrayfire argument arrayfireDimensions of random array arrayfire argumentDavid Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred'J arrayfireSingular Value Decomposition >http://arrayfire.org/docs/group__lapack__factor__func__svd.htmArrayFire DocsThe arrayfire function only returns the non zero diagonal elements of S. arrayfire'Singular Value Decomposition (in-place) >http://arrayfire.org/docs/group__lapack__factor__func__svd.htmArrayFire DocsThe arrayfire function only returns the non zero diagonal elements of S. arrayfirePerform LU decomposition =http://arrayfire.org/docs/group__lapack__factor__func__lu.htmArrayFire Docs!C Interface for LU decomposition. arrayfire$Perform LU decomposition (in-place). http://arrayfire.org/docs/group__lapack__factor__func__lu.htm#ga0adcdc4b189c34644a7153c6ce9c4f7fArrayFire Docs*C Interface for in place LU decomposition. arrayfirePerform QR decomposition =http://arrayfire.org/docs/group__lapack__factor__func__qr.htmArrayFire Docs!C Interface for QR decomposition. arrayfirePerform QR decomposition =http://arrayfire.org/docs/group__lapack__factor__func__qr.htmArrayFire Docs!C Interface for QR decomposition. arrayfirePerform Cholesky Decomposition http://arrayfire.org/docs/group__lapack__factor__func__cholesky.htmArrayFire DocsThis function decomposes a positive definite matrix A into two triangular matrices. arrayfirePerform Cholesky Decomposition http://arrayfire.org/docs/group__lapack__factor__func__cholesky.htmArrayFire Docs0C Interface for in place cholesky decomposition. arrayfireSolve a system of equations =http://arrayfire.org/docs/group__lapack__solve__func__gen.htmArrayFire Docs arrayfireSolve a system of equations. http://arrayfire.org/docs/group__lapack__solve__lu__func__gen.htmArrayFire Docs arrayfireInvert a matrix. ;http://arrayfire.org/docs/group__lapack__ops__func__inv.htmArrayFire Docs#C Interface for inverting a matrix. arrayfire!Find the rank of the input matrix ?http://arrayfire.org/docs/group__lapack__factor__func__rank.htmArrayFire DocsThis function uses af::qr to find the rank of the input matrix within the given tolerance. arrayfire Find the determinant of a Matrix ;http://arrayfire.org/docs/group__lapack__ops__func__det.htmArrayFire Docs4C Interface for finding the determinant of a matrix. arrayfire"Find the norm of the input matrix.  ExperimentalGHC Safe-Inferred arrayfireIndex into an  by A arrayfire3Lookup an Array by keys along a specified dimension arrayfire argument arrayfireA to use for indexingDavid Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred' arrayfire Create window 6http://arrayfire.org/docs/group__gfx__func__window.htmArrayFire Docs*window <- createWindow 800 600 "New Chart" arrayfireSets  position 6http://arrayfire.org/docs/group__gfx__func__window.htmArrayFire Docs*window <- createWindow 800 600 "New Chart"setPosition window 800 600 arrayfireSets  title 6http://arrayfire.org/docs/group__gfx__func__window.htmArrayFire Docs*window <- createWindow 800 600 "New Chart"setTitle window "window title" arrayfireSets  size 6http://arrayfire.org/docs/group__gfx__func__window.htmArrayFire Docs*window <- createWindow 800 600 "New Chart"setSize window 800 600 arrayfireDraw an image onto a Window 4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire DocsdrawImage window ('constant' \@'Int' 1) ('Cell' 10 10 "test" 'ColorMapSpectrum') arrayfireDraw a plot onto a  4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire DocsdrawPlot window ('constant' \@'Int' 1) ('constant' \@'Int' 1) ('Cell' 10 10 "test" 'ColorMapSpectrum') Note* X and Y should be vectors. arrayfireDraw a plot onto a  4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire DocsNote* P should be a 3n x 1 vector or one of a 3xn or nx3 matrices. arrayfireDraw a plot onto a  4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire DocsNote* in must be 2d and of the form [n, order], where order is either 2 or 3. If order is 2, then chart is 2D and if order is 3, then chart is 3D. arrayfireDraw a plot onto a  4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire Docs Note* X and Y should be vectors. arrayfireDraw a 3D plot onto a  4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire Docs#Note* X, Y and Z should be vectors. arrayfireDraw a scatter plot onto a  4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire Docs Note* X and Y should be vectors. arrayfireDraw a scatter plot onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#ga764410fbdf0cd60c7044c77e36fb2577ArrayFire Docs Note* X and Y should be vectors. arrayfireDraw a scatter plot onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#ga9991b93681e0c18693a5464458781d22ArrayFire DocsNote* in must be 2d and of the form [n, order], where order is either 2 or 3. If order is 2, then chart is 2D and if order is 3, then chart is 3D. arrayfireDraw a scatter plot onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#ga79417722c69883e7a91282b138288010ArrayFire DocsNote* in must be 2d and of the form [n, order], where order is either 2 or 3. If order is 2, then chart is 2D and if order is 3, then chart is 3D. arrayfireDraw a scatter plot onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#ga2b3d0dd690ebcba4c4dbb09cdcaed304ArrayFire Docs#Note* X, Y and Z should be vectors. arrayfireDraw a Histogram onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#gaf1648ee35739c86116bfa9c22644dbd7ArrayFire DocsNote* X should be a vector. arrayfireDraw a Surface onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#gaaee14e457272b2cd1bd4ed1228370229ArrayFire Docs7Note* X and Y should be vectors. S should be a 2D array arrayfireDraw a Vector Field onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#ga2d31a148578d749be4224e7119b386bcArrayFire DocsNote* all the + inputs should be vectors and the same size arrayfireDraw a Vector Field onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#gaf2d3be32c1b6a9034a3bb851206b4b5aArrayFire DocsNote* all the + inputs should be vectors and the same size arrayfireDraw a Vector Field onto a  http://arrayfire.org/docs/group__gfx__func__draw.htm#gaa1a667e4d29ab089629acd5296f29a7bArrayFire DocsNote* all the + inputs should be vectors and the same size arrayfireDraw a grid onto a  http://arrayfire.org/docs/group__gfx__func__window.htm#ga37fc7eb00ae11c25e1a60d341663d68dArrayFire DocsNote* all the + inputs should be vectors and the same size arrayfire#Setting axes limits for a histogramplotsurface/vector field. http://arrayfire.org/docs/group__gfx__func__window.htm#ga62d2cad30e3aad06c24999fe5ac34598ArrayFire Docs%Note* Set to NULL if the chart is 2D. arrayfire&Setting axes limits for a 2D histogramplotsurface/vector field. http://arrayfire.org/docs/group__gfx__func__window.htm#gadadc41caf7d6a9b7ca2e674079971895ArrayFire Docs arrayfire&Setting axes limits for a 3D histogramplotsurface/vector field. http://arrayfire.org/docs/group__gfx__func__window.htm#gadcd1bd46b9d6fabc047365ca5dc3f73dArrayFire Docs arrayfireSetting axes titles http://arrayfire.org/docs/group__gfx__func__window.htm#gadcd1bd46b9d6fabc047365ca5dc3f73dArrayFire Docs arrayfire Displays  http://arrayfire.org/docs/group__gfx__func__window.htm#ga50dae861324dca1cce9f583256f5a654ArrayFire Docs arrayfire Checks if  is closed http://arrayfire.org/docs/group__gfx__func__window.htm#ga50dae861324dca1cce9f583256f5a654ArrayFire Docs arrayfireSets  visibility http://arrayfire.org/docs/group__gfx__func__window.htm#gad7b63c70d45e101c4d8d500273e310c7ArrayFire Docs arrayfirewidth arrayfireheight arrayfiretitle arrayfire handle arrayfire handle arrayfireHorizontal start coordinate arrayfireVertical start coordinate arrayfire handle arrayfiretitle arrayfire handle arrayfiretarget width of the window arrayfiretarget height of the window arrayfire handle arrayfireImage arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an  with the x-axis data points arrayfireis an  with the y-axis data points arrayfire is structure l that has the properties that are used for the current rendering. arrayfirethe window handle arrayfire:is an af_array or matrix with the xyz-values of the points arrayfireis structure af_cell that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an , or matrix with the xyz-values of the points arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an  with the x-axis data points arrayfireis an  with the y-axis data points arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an  with the x-axis data points arrayfireis an  with the y-axis data points arrayfireis an  with the z-axis data points arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an  with the x-axis data points arrayfireis an  with the y-axis data points arrayfire7enum specifying which marker to use in the scatter plot arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfire:is an af_array or matrix with the xyz-values of the points arrayfireis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireis structure af_cell that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an , or matrix with the xyz-values of the points arrayfireis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireis structure af_cell that has the properties that are used for the current rendering. arrayfireis the window handle arrayfire*is an af_array with the x-axis data points arrayfire*is an af_array with the y-axis data points arrayfireis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireis structure af_cell that has the properties that are used for the current rendering. arrayfireis the window handle arrayfire*is an af_array with the x-axis data points arrayfire*is an af_array with the y-axis data points arrayfire*is an af_array with the z-axis data points arrayfireis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireis structure af_cell that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis the data frequency af_array arrayfireis the value of the minimum data point of the array whose histogram(X) is going to be rendered. arrayfireis the value of the maximum data point of the array whose histogram(X) is going to be rendered. arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfire*is an af_array with the x-axis data points arrayfire*is an af_array with the y-axis data points arrayfire*is an af_array with the z-axis data points arrayfireis structure af_cell that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an  with the points arrayfireis an  with the directions arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an  with the x-axis points arrayfireis an  with the y-axis points arrayfireis an  with the z-axis points arrayfireis an  with the x-axis directions arrayfireis an  with the y-axis directions arrayfireis an  with the z-axis directions arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis an  with the x-axis points arrayfireis the window handle arrayfireis the window handle arrayfireis the window handle arrayfireis the window handle arrayfireis the window handle arrayfire.is number of rows you want to show in a window arrayfire2is number of coloumns you want to show in a window arrayfireis the window handle arrayfire*the data to compute the limits for x-axis. arrayfire*the data to compute the limits for y-axis. arrayfire*the data to compute the limits for z-axis. arrayfireis for using the exact min/max values from x, y and z. If exact is false then the most significant digit is rounded up to next power of 2 and the magnitude remains the same. arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis the minimum on x-axis arrayfireis the maximum on x-axis arrayfireis the minimum on y-axis arrayfireis the maximum on y-axis arrayfireis for using the exact min/max values from x, and y. If exact is false then the most significant digit is rounded up to next power of 2 and the magnitude remains the same. arrayfireis structure af_cell that has the properties that are used for the current rendering.  arrayfireis the window handle arrayfireis the minimum on x-axis arrayfireis the maximum on x-axis arrayfireis the minimum on y-axis arrayfireis the maximum on y-axis arrayfireis the minimum on z-axis arrayfireis the maximum on z-axis arrayfireis for using the exact min/max values from x, y and z. If exact is false then the most significant digit is rounded up to next power of 2 and the magnitude remains the same. arrayfire is structure l that has the properties that are used for the current rendering. arrayfireis the window handle arrayfireis the name of the x-axis arrayfireis the name of the y-axis arrayfireis the name of the z-axis arrayfire is structure l that has the properties that are used for the current rendering. arrayfire handle arrayfire handle arrayfireSet to   to display David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred' arrayfireConstruct Featuresfeatures = createFeatures 10 arrayfireRetain Features-features = retainFeatures (createFeatures 10) arrayfireGet number of Featureslink"getFeaturesNum (createFeatures 10)10 arrayfireGet Feature X-position#getFeaturesXPos (createFeatures 10) ArrayFire Array [10 1 1 1] 0.0000 1.8750 0.0000 2.3750 0.0000 2.5938 0.0000 2.0000 0.0000 2.4375 arrayfireGet Feature Y-position#getFeaturesYPos (createFeatures 10) ArrayFire Array [10 1 1 1] nan nan nan nan nan nan nan nan nan nan arrayfireGet Feature Score$getFeaturesScore (createFeatures 10) ArrayFire Array [10 1 1 1] nan nan nan nan nan nan nan nan nan nan arrayfireGet Feature orientation*getFeaturesOrientation (createFeatures 10) ArrayFire Array [10 1 1 1] nan nan nan nan nan nan nan nan nan nan arrayfireGet Feature size#getFeaturesSize (createFeatures 10) ArrayFire Array [10 1 1 1] nan nan nan nan nan nan nan nan nan nan David Johnson (c) 2019-2020BSD3$David Johnson  ExperimentalGHC Safe-Inferred'` arrayfire Retrieve info from ArrayFire API ArrayFire v3.6.4 (OpenCL, 64-bit Mac OSX, build 1b8030c5) [0] APPLE: AMD Radeon Pro 555X Compute Engine, 4096 MB -1- APPLE: Intel(R) UHD Graphics 630, 1536 MB  arrayfireCalls af_init C function from ArrayFire APIafInit() arrayfire*Retrieves ArrayFire device information as   , same as . getInfoString"ArrayFire v3.6.4 (OpenCL, 64-bit Mac OSX, build 1b8030c5)\n[0] APPLE: AMD Radeon Pro 555X Compute Engine, 4096 MB\n-1- APPLE: Intel(R) UHD Graphics 630, 1536 MB\n" arrayfireRetrieves count of devicesgetDeviceCount2 arrayfireSets a device by   setDevice 0() arrayfireRetrieves device identifier getDevice0 David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-InferredB arrayfire Set specific  to usesetBackend OpenCL() arrayfire$Retrieve count of Backends availablegetBackendCount2 arrayfireRetrieve available s$mapM_ print =<< getAvailableBackendsCPUOpenCL arrayfire Retrieve  that specific  was created fromgetBackend (scalar @Double 2.0)OpenCL arrayfireRetrieve active getActiveBackendOpenCL arrayfireRetrieve Device ID that  was created from!getDeviceID (scalar \@Double 2.0)1 arrayfire to use for  construction David Johnson (c) 2019-2020BSD3$David Johnson  ExperimentalGHC Safe-Inferred' arrayfire=The following applies for Sparse-Dense matrix multiplication.This function can be used with one sparse input. The sparse input must always be the lhs and the dense matrix must be rhs. The sparse array can only be of  format.#The returned array is always dense.optLhs an only be one of AF_MAT_NONE, AF_MAT_TRANS, AF_MAT_CTRANS.optRhs can only be AF_MAT_NONE.matmul (matrix @Double (2,2) [[1,2],[3,4]]) (matrix @Double (2,2) [[1,2],[3,4]]) None NoneArrayFire Array [2 2 1 1] 7.0000 15.0000 10.0000 22.0000 arrayfireScalar dot product between two vectors. Also referred to as the inner product.dot (vector @Double 10 [1..]) (vector @Double 10 [1..]) None NoneArrayFire Array [1 1 1 1] 385.0000 arrayfireScalar dot product between two vectors. Also referred to as the inner product. Returns the result as a host scalar.dotAll (vector @Double 10 [1..]) (vector @Double 10 [1..]) None None 385.0 :+ 0.0 arrayfireTransposes a matrix.0array = matrix @Double (2,3) [[2,3],[3,4],[5,6]]arrayArrayFire Array [2 3 1 1] 2.0000 3.0000 5.0000 3.0000 4.0000 6.0000transpose array TrueArrayFire Array [3 2 1 1] 2.0000 3.0000 3.0000 4.0000 5.0000 6.0000 arrayfireTransposes a matrix.Warning: This function mutates an array in-place, all subsequent references will be changed. Use carefully.*array = matrix @Double (2,2) [[1,2],[3,4]]arrayArrayFire Array [3 2 1 1] 1.0000 4.0000 2.0000 5.0000 3.0000 6.0000transposeInPlace array FalsearrayArrayFire Array [2 2 1 1] 1.0000 2.0000 3.0000 4.0000 arrayfire$2D matrix of Array a, left-hand side arrayfire%2D matrix of Array a, right-hand side arrayfireLeft hand side matrix options arrayfireRight hand side matrix options arrayfire Output of  arrayfireLeft-hand side input arrayfireRight-hand side input arrayfireOptions for left-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfireOptions for right-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfire Output of  arrayfireLeft-hand side array arrayfireRight-hand side array arrayfireOptions for left-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfireOptions for right-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfire#Real and imaginary component result arrayfireInput matrix to be transposed arrayfire&Should perform conjugate transposition arrayfireThe transposed matrix arrayfireInput matrix to be transposed arrayfire&Should perform conjugate transposition David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred'ha arrayfire Adds two  objects'A.scalar @Int 1 `A.add` A.scalar @Int 1ArrayFire Array [1 1 1 1] 2 arrayfire Adds two  objects5(A.scalar @Int 1 `A.addBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 2 arrayfireSubtracts two  objects'A.scalar @Int 1 `A.sub` A.scalar @Int 1ArrayFire Array [1 1 1 1] 0 arrayfireSubtracts two  objects3(A.scalar @Int 1 `subBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 0 arrayfire Multiply two  objects%A.scalar @Int 2 `mul` A.scalar @Int 2ArrayFire Array [1 1 1 1] 4 arrayfire Multiply two  objects3(A.scalar @Int 2 `mulBatched` A.scalar @Int 2) TrueArrayFire Array [1 1 1 1] 4 arrayfire Divide two  objects'A.scalar @Int 6 `A.div` A.scalar @Int 3ArrayFire Array [1 1 1 1] 2 arrayfire Divide two  objects5(A.scalar @Int 6 `A.divBatched` A.scalar @Int 3) TrueArrayFire Array [1 1 1 1] 2 arrayfire Test if on  is less than another &A.scalar @Int 1 `A.lt` A.scalar @Int 1ArrayFire Array [1 1 1 1] 0 arrayfire Test if on  is less than another 4(A.scalar @Int 1 `A.ltBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 0 arrayfire Test if an  is greater than another &A.scalar @Int 1 `A.gt` A.scalar @Int 1ArrayFire Array [1 1 1 1] 0 arrayfire Test if an  is greater than another 2(A.scalar @Int 1 `gtBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 0 arrayfire Test if one " is less than or equal to another &A.scalar @Int 1 `A.le` A.scalar @Int 1ArrayFire Array [1 1 1 1] 1 arrayfire Test if one " is less than or equal to another 4(A.scalar @Int 1 `A.leBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 1 arrayfire Test if one % is greater than or equal to another &A.scalar @Int 1 `A.ge` A.scalar @Int 1ArrayFire Array [1 1 1 1] 1 arrayfire Test if one % is greater than or equal to another 4(A.scalar @Int 1 `A.geBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 1 arrayfire Test if one  is equal to another &A.scalar @Int 1 `A.eq` A.scalar @Int 1ArrayFire Array [1 1 1 1] 1 arrayfire Test if one  is equal to another 4(A.scalar @Int 1 `A.eqBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 1 arrayfire Test if one  is not equal to another 'A.scalar @Int 1 `A.neq` A.scalar @Int 1ArrayFire Array [1 1 1 1] 0 arrayfire Test if one  is not equal to another 5(A.scalar @Int 1 `A.neqBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 0 arrayfireLogical  one  with another'A.scalar @Int 1 `A.and` A.scalar @Int 1ArrayFire Array [1 1 1 1] 1 arrayfireLogical  one  with another3(A.scalar @Int 1 `andBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 1 arrayfireLogical  one  with another&A.scalar @Int 1 `A.or` A.scalar @Int 1ArrayFire Array [1 1 1 1] 1 arrayfireLogical  one  with another4(A.scalar @Int 1 `A.orBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 1 arrayfireNot the values of an A.not (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 0 arrayfireBitwise and the values in one  against another ,A.bitAnd (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 1 arrayfireBitwise and the values in one  against another  arrayfireBitwise or the values in one  against another +A.bitOr (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 1 arrayfireBitwise or the values in one  against another 8A.bitOrBatched (A.scalar @Int 1) (A.scalar @Int 1) FalseArrayFire Array [1 1 1 1] 1 arrayfireBitwise xor the values in one  against another ,A.bitXor (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 0 arrayfireBitwise xor the values in one  against another 9A.bitXorBatched (A.scalar @Int 1) (A.scalar @Int 1) FalseArrayFire Array [1 1 1 1] 0 arrayfire!Left bit shift the values in one  against another /A.bitShiftL (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 2 arrayfire!Left bit shift the values in one  against another A.real (A.scalar @(Complex Double) (10 :+ 11)) :: Array DoubleArrayFire Array [1 1 1 1] 10.0000 arrayfire Execute imag>A.imag (A.scalar @(Complex Double) (10 :+ 11)) :: Array DoubleArrayFire Array [1 1 1 1] 11.0000 arrayfire Execute conjg#A.conjg (A.vector @Double 10 [1..]) ArrayFire Array [10 1 1 1] 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 arrayfire Execute sinhA.sinh (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 1.1752 3.6269 10.0179 27.2899 74.2032 201.7132 548.3161 1490.4789 4051.5420 11013.2324 arrayfire Execute cosh"A.cosh (A.vector @Double 10 [1..]) ArrayFire Array [10 1 1 1] 1.5431 3.7622 10.0677 27.3082 74.2099 201.7156 548.3170 1490.4792 4051.5420 11013.2329 arrayfire Execute tanhA.tanh (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.7616 0.9640 0.9951 0.9993 0.9999 1.0000 1.0000 1.0000 1.0000 1.0000 arrayfire Execute asinh A.asinh (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.8814 1.4436 1.8184 2.0947 2.3124 2.4918 2.6441 2.7765 2.8934 2.9982 arrayfire Execute acosh#A.acosh (A.vector @Double 10 [1..]) ArrayFire Array [10 1 1 1] 0.0000 1.3170 1.7627 2.0634 2.2924 2.4779 2.6339 2.7687 2.8873 2.9932 arrayfire Execute atanh#A.atanh (A.vector @Double 10 [1..]) ArrayFire Array [10 1 1 1] inf nan nan nan nan nan nan nan nan nan arrayfire Execute root>A.root (A.vector @Double 10 [1..]) (A.vector @Double 10 [1..]) ArrayFire Array [10 1 1 1] 1.0000 1.4142 1.4422 1.4142 1.3797 1.3480 1.3205 1.2968 1.2765 1.2589 arrayfireExecute rootBatchedA.rootBatched (vector @Double 10 [1..]) (vector @Double 10 [1..]) True ArrayFire Array [10 1 1 1] 1.0000 1.4142 1.4422 1.4142 1.3797 1.3480 1.3205 1.2968 1.2765 1.2589 arrayfire Execute pow A.pow (A.vector @Int 10 [1..]) 2 ArrayFire Array [10 1 1 1] 1 4 9 16 25 36 49 64 81 100 arrayfireExecute powBatchedA.powBatched (A.vector @Int 10 [1..]) (A.constant @Int [1] 2) True ArrayFire Array [10 1 1 1] 1 4 9 16 25 36 49 64 81 100 arrayfire Raise an  to the second powerA.pow2 (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 2 4 8 16 32 64 128 256 512 1024 arrayfireExecute exp on !A.exp (A.vector @Double 10 [1..]) ArrayFire Array [10 1 1 1] 2.7183 7.3891 20.0855 54.5982 148.4132 403.4288 1096.6332 2980.9580 8103.0839 22026.4658 arrayfireExecute sigmoid on "A.sigmoid (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.7311 0.8808 0.9526 0.9820 0.9933 0.9975 0.9991 0.9997 0.9999 1.0000 arrayfire Execute expm1 A.expm1 (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 1.7183 6.3891 19.0855 53.5981 147.4132 402.4288 1095.6332 2979.9580 8102.0840 22025.4648 arrayfire Execute erfA.erf (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.8427 0.9953 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 arrayfire Execute erfcA.erfc (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.1573 0.0047 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 arrayfire Execute logA.log (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.0000 0.6931 1.0986 1.3863 1.6094 1.7918 1.9459 2.0794 2.1972 2.3026 arrayfire Execute log1p A.log1p (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.6931 1.0986 1.3863 1.6094 1.7918 1.9459 2.0794 2.1972 2.3026 2.3979 arrayfire Execute log10 A.log10 (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.0000 0.3010 0.4771 0.6021 0.6990 0.7782 0.8451 0.9031 0.9542 1.0000 arrayfire Execute log2A.log2 (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.0000 1.0000 1.5850 2.0000 2.3219 2.5850 2.8074 3.0000 3.1699 3.3219 arrayfire Execute sqrtA.sqrt (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 2.6458 2.8284 3.0000 3.1623 arrayfire Execute cbrtA.cbrt (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 1.0000 1.2599 1.4422 1.5874 1.7100 1.8171 1.9129 2.0000 2.0801 2.1544 arrayfireExecute factorial$A.factorial (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 1.0000 2.0000 6.0000 24.0000 120.0000 720.0001 5040.0020 40319.9961 362880.0000 3628801.7500 arrayfireExecute tgammatgamma (vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 1.0000 1.0000 2.0000 6.0000 24.0000 120.0000 720.0001 5040.0020 40319.9961 362880.0000 arrayfireExecute lgamma!A.lgamma (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0.0000 0.0000 0.6931 1.7918 3.1781 4.7875 6.5793 8.5252 10.6046 12.8018 arrayfireExecute isZero(A.isZero (A.vector @CBool 10 (repeat 0)) ArrayFire Array [10 1 1 1] 1 1 1 1 1 1 1 1 1 1 arrayfire Execute isInf#A.isInf (A.vector @Double 10 [1..]) ArrayFire Array [10 1 1 1] 0 0 0 0 0 0 0 0 0 0 arrayfire Execute isNaN)A.isNaN $ A.acos (A.vector @Int 10 [1..]) ArrayFire Array [10 1 1 1] 0 1 1 1 1 1 1 1 1 1 arrayfire First input arrayfire Second input arrayfire Result of add arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of add arrayfire First input arrayfire Second input arrayfire Result of sub arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of sub arrayfire First input arrayfire Second input arrayfire Result of mul arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of mul arrayfire First input arrayfire Second input arrayfire Result of div arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of div arrayfire First input arrayfire Second input arrayfireResult of less than arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of less than arrayfire First input arrayfire Second input arrayfire Result of gt arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of gt arrayfire First input arrayfire Second input arrayfireResult of less than or equal arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of less than or equal arrayfire First input arrayfire Second input arrayfireResult of greater than or equal arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of greater than or equal arrayfire First input arrayfire Second input arrayfireResult of equal arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of equal arrayfire First input arrayfire Second input arrayfireResult of not equal arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of not equal arrayfire First input arrayfire Second input arrayfire Result of and arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of and arrayfire First input arrayfire Second input arrayfire Result of or arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of or arrayfireInput  arrayfire Result of  on an  arrayfire First input arrayfire Second input arrayfireResult of bitwise and arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bitwise and arrayfire First input arrayfire Second input arrayfireResult of bit or arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit or arrayfire First input arrayfire Second input arrayfireResult of bit xor arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit xor arrayfire First input arrayfire Second input arrayfireResult of bit shift left arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit shift left arrayfire First input arrayfire Second input arrayfireResult of bit shift right arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit shift left arrayfireInput array to cast arrayfireResult of cast arrayfire First input arrayfire Second input arrayfireResult of minimum of arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of minimum of arrayfire First input arrayfire Second input arrayfireResult of maximum of arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of maximum of arrayfireinput arrayfire lower bound arrayfire upper bound arrayfireResult of clamp arrayfire First input arrayfire Second input arrayfire Third input arrayfire Use batch arrayfireResult of clamp arrayfire First input arrayfire Second input arrayfireResult of remainder arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of remainder arrayfire First input arrayfire Second input arrayfire Result of mod arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of mod arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire First input arrayfire Second input arrayfireResult of atan2 arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of atan2 arrayfire First input arrayfire Second input arrayfireResult of cplx2 arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of cplx2 arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire First input arrayfire Second input arrayfireResult of root arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of root arrayfire First input arrayfire Second input arrayfire Result of pow arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of powBatched arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfireResult of calling  arrayfire Input array arrayfire=will contain 1's where input is Inf or -Inf, and 0 otherwise. arrayfire Input array arrayfire5Will contain 1's where input is NaN, and 0 otherwise. David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred':( arrayfire#Calculates the gradient of an image >>> print (gradient image)  arrayfireLoads an image from disk (>>> image <- loadImage "image.png" True  arrayfireSaves an image to disk  >>> saveImage image "image.png"  arrayfireLoads an image natively )>>> image <- loadImageNative "image.png"  arrayfireSaves an image natively &>>> saveImageNative image "image.png"  arrayfireReturns true if ArrayFire was compiled with ImageIO (FreeImage) support !>>> print =<< isImageIOAvailable  arrayfireResize an input image. Note* If img is 3d array, a batch operation will be performed. arrayfire&RGB to Grayscale colorspace converter. :http://arrayfire.org/docs/group__image__func__rgb2gray.htmArrayFire DocsRGB (Red, Green, Blue) is the most common format used in computer imaging. RGB stores individual values for red, green and blue, and hence the 3 values per pixel. A combination of these three values produces the gamut of unique colors. arrayfire&Grayscale to RGB colorspace converter. :http://arrayfire.org/docs/group__image__func__gray2rgb.htmArrayFire DocsGrayscale is a single channel color space where pixel value ranges from 0 to 1. Zero represents black, one represent white and any value between zero & one is a gray value arrayfire&Histogram equalization of input image. ;http://arrayfire.org/docs/group__image__func__histequal.htmArrayFire DocsHistogram equalization is a method in image processing of contrast adjustment using the image's histogram. arrayfireCreates a Gaussian Kernel. 7http://arrayfire.org/docs/group__image__func__gauss.htmArrayFire DocsThis function creates a kernel of a specified size that contains a Gaussian distribution. This distribution is normalized to one. This is most commonly used when performing a Gaussian blur on an image. The function takes two sets of arguments, the size of the kernel (width and height in pixels) and the sigma parameters (for row and column) which effect the distribution of the weights in the y and x directions, respectively. arrayfire HSV to RGB colorspace converter. 9http://arrayfire.org/docs/group__image__func__hsv2rgb.htmArrayFire Docs&C Interface for converting HSV to RGB.%Note* input must be three dimensional arrayfire RGB to HSV colorspace converter. 9http://arrayfire.org/docs/group__image__func__rgb2hsv.htmArrayFire DocsRGB (Red, Green, Blue) is the most common format used in computer imaging. RGB stores individual values for red, green and blue, and hence the 3 values per pixel. A combination of these three values produces the gamut of unique colors. arrayfireColorspace conversion function. C Interface for calculating image moment(s) of a single image. arrayfire.Finding different properties of image regions. 9http://arrayfire.org/docs/group__image__func__moments.htmArrayFire Docs>C Interface for calculating image moment(s) of a single image. arrayfireCanny Edge Detector 7http://arrayfire.org/docs/group__image__func__canny.htmArrayFire DocsThe Canny edge detector is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images. arrayfireAnisotropic Smoothing Filter. http://arrayfire.org/docs/group__image__func__anisotropic__diffusion.htmArrayFire Docs&C Interface for anisotropic diffusion." arrayfire File path arrayfireIs color image (boolean denoting if the image should be loaded as 1 channel or 3 channel) arrayfire input image arrayfire*is the size for the first output dimension arrayfire+is the size for the second output dimension arrayfire.is the interpolation type (Nearest by default) arrayfire>will contain the resized image of specified by odim0 and odim1 arrayfireis input image arrayfireis transformation matrix arrayfireis the first output dimension arrayfireis the second output dimension arrayfire.is the interpolation type (Nearest by default) arrayfireif true applies inverse transform, if false applies forward transoform arrayfire"will contain the transformed image arrayfireis transformation matrix arrayfireis the first input dimension arrayfireis the second input dimension arrayfirethe transformed coordinates arrayfireis input image arrayfire8is the degree (in radians) by which the input is rotated arrayfireif true the output is cropped original dimensions. If false the output dimensions scale based on theta arrayfire.is the interpolation type (Nearest by default) arrayfire*will contain the image in rotated by theta arrayfireis input image arrayfire4is amount by which the first dimension is translated arrayfire5is amount by which the second dimension is translated arrayfireis the first output dimension arrayfireis the second output dimension arrayfire.is the interpolation type (Nearest by default) arrayfire!will contain the translated image arrayfireis input image arrayfire0is amount by which the first dimension is scaled arrayfire1is amount by which the second dimension is scaled arrayfireis the first output dimension arrayfireis the second output dimension arrayfire.is the interpolation type (Nearest by default) arrayfirewill contain the scaled image arrayfireis input image arrayfire0is amount by which the first dimension is skewed arrayfire1is amount by which the second dimension is skewed arrayfireis the first output dimension arrayfireis the second output dimension arrayfireif true applies inverse transform, if false applies forward transoform arrayfire.is the interpolation type (Nearest by default) arrayfirewill contain the skewed image arrayfirethe input array arrayfire.Number of bins to populate between min and max arrayfire+minimum bin value (accumulates -inf to min) arrayfire+minimum bin value (accumulates max to +inf) arrayfire.(type u32) is the histogram for input array in arrayfirethe input image arrayfirethe neighborhood window arrayfirethe dilated image arrayfirethe input volume arrayfirethe neighborhood delta volume arrayfirethe dilated volume arrayfire is the input image arrayfire!(mask) is the neighborhood window arrayfire is the eroded image arrayfire is the input volume arrayfire'(mask) is the neighborhood delta volume arrayfire is the eroded volume arrayfire is the input image arrayfireis the spatial variance parameter that decides the filter window arrayfire#is the chromatic variance parameter arrayfire5indicates if the input in is color image or grayscale arrayfire is the processed image arrayfire is the input image arrayfireis the spatial variance parameter that decides the filter window arrayfire#is the chromatic variance parameter arrayfire9is the number of iterations filter operation is performed arrayfire5indicates if the input in is color image or grayscale arrayfire is the processed image arrayfire is the input image arrayfireis the kernel height arrayfireis the kernel width arrayfirevalue will decide what happens to border when running filter in their neighborhood. It takes one of the values [AF_PAD_ZERO | AF_PAD_SYM] arrayfire is the processed image arrayfire is the input image arrayfireis the kernel height arrayfireis the kernel width arrayfirevalue will decide what happens to border when running filter in their neighborhood. It takes one of the values [AF_PAD_ZERO | AF_PAD_SYM] arrayfire is the processed image arrayfire*array should be binary image of type CBool arrayfire3array will have labels indicating different regions arrayfireis an array with image data arrayfire sobel kernel size or window size arrayfire7Derivative along the horizontal and vertical directions arrayfire"is an array in the RGB color space arrayfireis percentage of red channel value contributing to grayscale intensity arrayfireis percentage of green channel value contributing to grayscale intensity arrayfireis percentage of blue channel value contributing to grayscale intensity arrayfire!is an array in target color space arrayfire(is an array in the Grayscale color space arrayfireis percentage of intensity value contributing to green channel arrayfire=is percentage of intensity value contributing to blue channel arrayfire!is an array in target color space arrayfireis the input array, non-normalized input (!! assumes values [0-255] !!) arrayfiretarget histogram to approximate in output (based on number of bins) arrayfireis an array with data that has histogram approximately equal to histogram arrayfire%number of rows of the gaussian kernel arrayfire(number of columns of the gaussian kernel arrayfire9(default 0) (calculated internally as 0.25 * rows + 0.75) arrayfire9(default 0) (calculated internally as 0.25 * cols + 0.75) arrayfire9is an array with values generated using gaussian function arrayfire"is an array in the HSV color space arrayfire"is an array in the RGB color space arrayfire"is an array in the RGB color space arrayfire"is an array in the HSV color space arrayfireis the input array arrayfireis the target array color space arrayfireis the input array color space arrayfire!is an array in target color space  arrayfire the input  arrayfire$is the window size along dimension 0 arrayfire$is the window size along dimension 1 arrayfireis the stride along dimension 0 arrayfireis the stride along dimension 1 arrayfire is the padding along dimension 0 arrayfire is the padding along dimension 1 arrayfiredetermines whether an output patch is formed from a column (if true) or a row (if false) arrayfirean array with the input's sections rearraged as columns (or rows)  arrayfire the input  arrayfire is the output's dimension 0 size arrayfire is the output's dimension 1 size arrayfire$is the window size along dimension 0 arrayfire$is the window size along dimension 1 arrayfireis the stride along dimension 0 arrayfireis the stride along dimension 1 arrayfire is the padding along dimension 0 arrayfire is the padding along dimension 1  arrayfiredetermines whether an output patch is formed from a column (if true) or a row (if false)  arrayfireis an array with the input's columns (or rows) reshaped as patches arrayfire the input  arrayfire*is the summed area table on input image(s) arrayfire"is an array in the RGB color space arrayfirespecifies the ITU-R BT "xyz" standard which determines the Kb, Kr values used in colorspace conversion equation arrayfireis an  in the YCbCr color space arrayfireis an array of image(s) arrayfireis moment(s) to calculate arrayfire-is an array containing the calculated moments arrayfireis the input image arrayfireis moment(s) to calculate arrayfireis a pointer to a pre-allocated array where the calculated moment(s) will be placed. User is responsible for ensuring enough space to hold all requested moments arrayfirethe input image arrayfire;determines if user set high threshold is to be used or not. arrayfireis the lower threshold % of the maximum or auto-derived high threshold arrayfireis the higher threshold % of maximum value in gradient image used in hysteresis procedure. This value is ignored if AF_CANNY_THRESHOLD_AUTO_OTSU is chosen as af_canny_threshold arrayfireis the window size of sobel kernel for computing gradient direction and magnitude arrayfireindicates if L1 norm(faster but less accurate) is used to compute image gradient magnitude instead of L2 norm. arrayfire#is an binary array containing edges arrayfireis the input image, expects non-integral (float/double) typed af_array arrayfire8is the time step used in solving the diffusion equation. arrayfireparameter controls the sensitivity of conductance in diffusion equation. arrayfire7is the number of times the diffusion step is performed. arrayfireindicates whether quadratic or exponential flux function is used by algorithm. arrayfirewill let the user choose what kind of diffusion method to perform. arrayfireis an 7 containing anisotropically smoothed image pixel values((David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred$%'0 arrayfire Creates an * from a scalar value from given dimensionsconstant @Double [2,2] 2.0 ArrayFire Array [2 2 1 1] 2.0000 2.0000 2.0000 2.0000 arrayfire%Creates a range of values in an Arrayrange @Double [10] (-1) ArrayFire Array [10 1 1 1] 0.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 arrayfireCreate an sequence [0, dims.elements() - 1] and modify to specified dimensions dims and then tile it according to tile_dims. 5http://arrayfire.org/docs/group__data__func__iota.htmiota @Double [5,3] []ArrayFire Array [5 3 1 1] 0.0000 5.0000 10.0000 1.0000 6.0000 11.0000 2.0000 7.0000 12.0000 3.0000 8.0000 13.0000 4.0000 9.0000 14.0000iota @Double [5,3] [1,2]ArrayFire Array [5 6 1 1] 0.0000 5.0000 10.0000 0.0000 5.0000 10.0000 1.0000 6.0000 11.0000 1.0000 6.0000 11.0000 2.0000 7.0000 12.0000 2.0000 7.0000 12.0000 3.0000 8.0000 13.0000 3.0000 8.0000 13.0000 4.0000 9.0000 14.0000 4.0000 9.0000 14.0000 arrayfireCreates the identity  from given dimensionsidentity [2,2]ArrayFire Array [2 2 1 1] 1.0000 0.0000 0.0000 1.0000 arrayfireCreate a diagonal matrix from input array when extract is set to false%diagCreate (vector @Double 2 [1..]) 0ArrayFire Array [2 2 1 1] 1.0000 0.0000 0.0000 2.0000 arrayfireCreate a diagonal matrix from input array when extract is set to false2diagExtract (matrix @Double (2,2) [[1,2],[3,4]]) 0ArrayFire Array [2 1 1 1] 1.0000 4.0000 arrayfire4Join two Arrays together along a specified dimensionjoin 0 (matrix @Double (2,2) [[1,2],[3,4]]) (matrix @Double (2,2) [[5,6],[7,8]])ArrayFire Array [4 2 1 1] 1.0000 3.0000 2.0000 4.0000 5.0000 7.0000 6.0000 8.0000 arrayfire5Join many Arrays together along a specified dimensionFIX ME*joinMany 0 [1,2,3]ArrayFire Array [3 1 1 1] 1.0000 2.0000 3.0000 arrayfire0Tiles an Array according to specified dimensions tile @Double (scalar 22.0) [5,5]ArrayFire Array [5 5 1 1]322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000 arrayfire9Reorders an Array according to newly specified dimensionsFIX ME*#reorder @Double (scalar 22.0) [5,5]ArrayFire Array [5 5 1 1]322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000322.0000 22.0000 22.0000 22.0000 22.0000 arrayfireShift elements in an Array along a specified dimension (elements will wrap).&shift (vector @Double 4 [1..]) 2 0 0 0ArrayFire Array [4 1 1 1] 3.0000 4.0000 1.0000 2.0000 arrayfireModify dimensions of array&moddims (vector @Double 3 [1..]) [1,3]ArrayFire Array [1 3 1 1] 1.0000 2.0000 3.0000 arrayfire(Flatten an Array into a single dimension)flat (matrix @Double (2,2) [[1..],[1..]])ArrayFire Array [4 1 1 1] 1.0000 2.0000 1.0000 2.00006flat $ cube @Int (2,2,2) [[[1,1],[1,1]],[[1,1],[1,1]]] ArrayFire Array [8 1 1 1] 1 1 1 1 1 1 1 1 arrayfire7Flip the values of an Array along a specified dimension"matrix @Double (2,2) [[2,2],[3,3]]ArrayFire Array [2 2 1 1] 2.0000 3.0000 2.0000 3.0000-A.flip (matrix @Double (2,2) [[2,2],[3,3]]) 1ArrayFire Array [2 2 1 1] 3.0000 2.0000 3.0000 2.0000 arrayfire2Create a lower triangular matrix from input array..lower (constant [2,2] 10 :: Array Double) TrueArrayFire Array [2 2 1 1] 1.0000 0.0000 10.0000 1.0000 arrayfire3Create an upper triangular matrix from input array..upper (constant [2,2] 10 :: Array Double) TrueArrayFire Array [2 2 1 1] 1.0000 10.0000 0.0000 1.0000 arrayfireSelects elements from two arrays based on the values of a binary conditional array."cond = vector @CBool 5 [1,0,1,0,1]"arr1 = vector @Double 5 (repeat 1)"arr2 = vector @Double 5 (repeat 2)select cond arr1 arr2ArrayFire Array [5 1 1 1] 1.0000 2.0000 1.0000 2.0000 1.0000 arrayfireSelects elements from two arrays based on the values of a binary conditional array. http://arrayfire.org/docs/group__data__func__select.htm#gab6886120d0bac4717276910e468bbe88"cond = vector @CBool 5 [1,0,1,0,1]"arr1 = vector @Double 5 (repeat 1)x = 99selectScalarR cond arr1 xArrayFire Array [5 1 1 1] 1.0000 99.0000 1.0000 99.0000 1.0000 arrayfireSelects elements from two arrays based on the values of a binary conditional array. http://arrayfire.org/docs/group__data__func__select.htm#ga0ccdc05779f88cab5095bce987c2da9dArrayFire Docs"cond = vector @CBool 5 [1,0,1,0,1]"arr1 = vector @Double 5 (repeat 1)x = 99selectScalarL cond x arr1ArrayFire Array [5 1 1 1] 99.0000 1.0000 99.0000 1.0000 99.0000 arrayfire Dimensions arrayfire Scalar value arrayfire.is the array containing sizes of the dimension arrayfireis array containing the number of repetitions of the unit dimensions arrayfireis the generated array arrayfire Dimensions arrayfire(is the input array which is the diagonal arrayfireis the diagonal index arrayfireis the input matrix arrayfireboolean parameter specifying if the diagonal elements should be 1 arrayfireis the conditional array arrayfireis the array containing elements from the true part of the condition arrayfireis the array containing elements from the false part of the condition arrayfireis the output containing elements of a when cond is true else elements from b arrayfireis the conditional array arrayfireis the array containing elements from the true part of the condition arrayfire.is a scalar assigned to out when cond is false arrayfirethe output containing elements of a when cond is true else elements from b arrayfirethe conditional array arrayfire*a scalar assigned to out when cond is true arrayfirethe array containing elements from the false part of the condition arrayfireis the output containing elements of a when cond is true else elements from bDavid Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred'" arrayfireSum all of the elements in  along the specified dimension#A.sum (A.vector @Double 10 [1..]) 0ArrayFire Array [1 1 1 1] 55.00007A.sum (A.matrix @Double (10,10) $ replicate 10 [1..]) 1 ArrayFire Array [10 1 1 1] 10.0000 20.0000 30.0000 40.0000 50.0000 60.0000 70.0000 80.0000 90.0000 100.0000 arrayfireSum all of the elements in = along the specified dimension, using a default value for NaN*A.sumNaN (A.vector @Double 10 [1..]) 0 0.0ArrayFire Array [1 1 1 1] 55.0000 arrayfireProduct all of the elements in  along the specified dimension'A.product (A.vector @Double 10 [1..]) 0ArrayFire Array [1 1 1 1] 3628800.0000 arrayfireProduct all of the elements in = along the specified dimension, using a default value for NaN.A.productNaN (A.vector @Double 10 [1..]) 0 0.0ArrayFire Array [1 1 1 1] 3628800.0000 arrayfireTake the minimum of an  along a specific dimension#A.min (A.vector @Double 10 [1..]) 0ArrayFire Array [1 1 1 1] 1.0000 arrayfireTake the maximum of an  along a specific dimension#A.max (A.vector @Double 10 [1..]) 0ArrayFire Array [1 1 1 1] 10.0000 arrayfireFind if all elements in an  are   along a dimension+A.allTrue (A.vector @CBool 10 (repeat 0)) 0ArrayFire Array [1 1 1 1] 0 arrayfireFind if any elements in an  are   along a dimension+A.anyTrue (A.vector @CBool 10 (repeat 0)) 0ArrayFire Array [1 1 1 1] 0 arrayfireCount elements in an  along a dimension%A.count (A.vector @Double 10 [1..]) 0ArrayFire Array [1 1 1 1] 10 arrayfireSum all elements in an  along all dimensions$A.sumAll (A.vector @Double 10 [1..]) (55.0,0.0) arrayfireSum all elements in an 4 along all dimensions, using a default value for NaN+A.sumNaNAll (A.vector @Double 10 [1..]) 0.0 (55.0,0.0) arrayfireProduct all elements in an 4 along all dimensions, using a default value for NaN(A.productAll (A.vector @Double 10 [1..])(3628800.0,0.0) arrayfireProduct all elements in an 4 along all dimensions, using a default value for NaN/A.productNaNAll (A.vector @Double 10 [1..]) 1.0(3628800.0,0.0) arrayfire=Take the minimum across all elements along all dimensions in $A.minAll (A.vector @Double 10 [1..]) (1.0,0.0) arrayfire=Take the maximum across all elements along all dimensions in $A.maxAll (A.vector @Double 10 [1..]) (10.0,0.0) arrayfire/Decide if all elements along all dimensions in  are True,A.allTrueAll (A.vector @CBool 10 (repeat 1)) (1.0, 0.0) arrayfire/Decide if any elements along all dimensions in  are True,A.anyTrueAll $ A.vector @CBool 10 (repeat 0) (0.0,0.0) arrayfire+Count all elements along all dimensions in =A.countAll (A.matrix @Double (100,100) (replicate 100 [1..])) (10000.0,0.0) arrayfire8Find the minimum element along a specified dimension in $A.imin (A.vector @Double 10 [1..]) 0(ArrayFire Array [1 1 1 1] 1.0000,ArrayFire Array [1 1 1 1] 0) arrayfire8Find the maximum element along a specified dimension in $A.imax (A.vector @Double 10 [1..]) 0(ArrayFire Array [1 1 1 1] 10.0000,ArrayFire Array [1 1 1 1] 9) arrayfire1Find the minimum element along all dimensions in %A.iminAll (A.vector @Double 10 [1..]) (1.0,0.0,0) arrayfire1Find the maximum element along all dimensions in %A.imaxAll (A.vector @Double 10 [1..]) (10.0,0.0,9) arrayfireCalculate sum of  across specified dimension%A.accum (A.vector @Double 10 [1..]) 0 ArrayFire Array [10 1 1 1] 1.0000 3.0000 6.0000 10.0000 15.0000 21.0000 28.0000 36.0000 45.0000 55.0000 arrayfireScan elements of an  across a dimension, using a , specifying inclusivity.-A.scan (A.vector @Double 10 [1..]) 0 Add True ArrayFire Array [10 1 1 1] 1.0000 3.0000 6.0000 10.0000 15.0000 21.0000 28.0000 36.0000 45.0000 55.0000 arrayfireScan elements of an % across a dimension, by key, using a , specifying inclusivity.A.scanByKey (A.vector @Int 7 [2..]) (A.vector @Int 10 [1..]) 1 Add True ArrayFire Array [10 1 1 1] 1 2 3 4 5 6 7 8 9 10 arrayfire*Find indices where input Array is non zero)A.where' (A.vector @Double 10 (repeat 0))ArrayFire Array [0 1 1 1] arrayfire;First order numerical difference along specified dimension.,A.diff1 (A.vector @Double 4 [10,35,65,95]) 0ArrayFire Array [3 1 1 1] 25.0000 30.0000 30.0000 arrayfire ExperimentalGHC Safe-Inferred'  arrayfire"Retrieve version for ArrayFire API >>>      (3.6.4)  arrayfirePrints array to stdout >>>  (constant @  [1] 1) (ArrayFire Array [ 1 1 1 1 ] 1.0  arrayfireGets git revision of ArrayFire >>>       1b8030c5  arrayfirePrints  with error codes $>>> printArrayGen "test" (constant @  [1] 1) 2 )ArrayFire Array [ 1 1 1 1 ] 1.00  arrayfireSaves  to disk%Save an array to a binary file. The  and readArray functions are designed to provide store and read access to arrays using files written to disk. 7http://arrayfire.org/docs/group__stream__func__save.htm $>>> saveArray "my array" (constant @  [1] 1) "array.file"   0  arrayfireReads Array by indexThe  and readArray functions are designed to provide store and read access to arrays using files written to disk. 7http://arrayfire.org/docs/group__stream__func__save.htm ">>> readArrayIndex "array.file" 0 /ArrayFire Array [ 1 1 1 1 ] 10.0000  arrayfireReads  by key )>>> readArrayKey "array.file" "my array"  ArrayFire  [ 1 1 1 1 ] 10.0000  arrayfire9Reads Array, checks if a key exists in the specified fileWhen reading by key, it may be a good idea to run this function first to check for the key and then call the readArray using the index. http://arrayfire.org/docs/group__stream__func__read.htm#ga31522b71beee2b1c06d49b5aa65a5c6f +>>> readArrayCheck "array.file" "my array" 0  arrayfireConvert ArrayFire  to   , used for   instance. >>>      (constant @  10 [1,1,1,1])  ArrayFire  [ 1 1 1 1 ] 10.0000  arrayfire!Convert ArrayFire Array to String >>> print (constant @  10 [1,1,1,1]) 4    ArrayFire  [ 1 1 1 1 ] 10.0000  arrayfire$Retrieve size of ArrayFire data type >>>  (  @  ) 8  arrayfireInput  arrayfire&is the expression or name of the array arrayfireis the input array arrayfireprecision for the display arrayfire&An expression used as tag/key for the  during readArray arrayfireInput  arrayfire Path that  will be saved arrayfire(Used to append to an existing file when  / and create or overwrite an existing file when   arrayfireThe index location of the  in the file arrayfirePath to  location arrayfire Index into  arrayfirePath to  arrayfireKey of  on disk arrayfire Returned  arrayfire Path to file arrayfireKey arrayfireis the tag/name of the array to be read. The key needs to have an exact match. arrayfireInput  arrayfire  representation of  arrayfireName of  arrayfire input arrayfire Precision of  values. arrayfireIf  3, performs takes the transpose before rendering to   arrayfire rendered to   arrayfire4Witness of Haskell type that mirrors ArrayFire type. arrayfireSize of ArrayFire type  David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred $%'/0)  arrayfire(Smart constructor for creating a scalar scalar @Double 2.0ArrayFire Array [1 1 1 1] 2.0000 arrayfire(Smart constructor for creating a vector vector @Double 10 [1..] ArrayFire Array [10 1 1 1] 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 arrayfire(Smart constructor for creating a matrix (A.matrix @Double (3,2) [[1,2,3],[4,5,6]]ArrayFire Array [3 2 1 1] 1.0000 4.0000 2.0000 5.0000 3.0000 6.0000 arrayfire'Smart constructor for creating a cubic 2cube @Double (2,2,2) [[[2,2],[2,2]],[[2,2],[2,2]]] ArrayFire Array [2 2 2 1] 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000  arrayfire(Smart constructor for creating a tensor tensor @Double (2,2,2,2) [[[[2,2],[2,2]],[[2,2],[2,2]]], [[[2,2],[2,2]],[[2,2],[2,2]]]] ArrayFire Array [2 2 2 2] 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000  arrayfireInternal function for  construction"mkArray @Double [10] [1.0 .. 10.0] ArrayFire Array [10 1 1 1] 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 arrayfire Copies an  to a new copyArray (scalar @Double 10)ArrayFire Array [1 1 1 1] 10.0000 arrayfire Retains an , increases reference countretainArray (scalar @Double 10)ArrayFire Array [1 1 1 1] 10.0000 arrayfire Retrieves  reference count initialArray = scalar @Double 10#retainedArray = retain initialArraygetDataRefCount retainedArray2 arrayfireShould manual evaluation occursetManualEvalFlag True() arrayfire!Retrieve manual evaluation statussetManualEvalFlag FalsegetManualEvalFlagFalse arrayfireRetrieve element count%getElements (vector @Double 10 [1..])10 arrayfireRetrieve type of !getType (vector @Double 10 [1..])F64 arrayfireRetrieves dimensions of !getDims (vector @Double 10 [1..]) (10,1,1,1) arrayfire"Retrieves number of dimensions in /getNumDims (matrix @Double (2,2) [[1..],[1..]])2 arrayfire Checks if an  is empty,isEmpty (matrix @Double (2,2) [[1..],[1..]])False arrayfire Checks if an ( is a scalar (contains only one element)-isScalar (matrix @Double (2,2) [[1..],[1..]])FalseisScalar (1.0 :: Array Double)True arrayfire Checks if an  is row-oriented*isRow (matrix @Double (2,2) [[1..],[1..]])False arrayfire Checks if an  is a column-oriented"isColumn (vector @Double 10 [1..])True arrayfire Checks if an  is a vector"isVector (vector @Double 10 [1..])TrueisVector (1.0 :: Array Double)False arrayfire Checks if an  is a Complex9isComplex (scalar (1.0 :+ 1.0) :: Array (Complex Double))True arrayfire Checks if an  is Real#isReal (scalar 1.0 :: Array Double)True arrayfire Checks if an  is  %isDouble (scalar 1.0 :: Array Double)True arrayfire Checks if an  is  $isSingle (scalar 1.0 :: Array Float)True arrayfire Checks if an  is  ,   , Complex   , or Complex  +isRealFloating (scalar 1.0 :: Array Double)True arrayfire Checks if an  is   or  'isFloating (scalar 1.0 :: Array Double)True arrayfire Checks if an " is of type Int16, Int32, or Int64#isInteger (scalar 1 :: Array Int16)True arrayfire Checks if an  is of type CBool isBool (scalar 1 :: Array CBool)True arrayfire Checks if an  is sparse#isSparse (scalar 1 :: Array Double)False arrayfire Converts an  to a    "toVector (vector @Double 10 [1..])*[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0] arrayfire Converts an  to [a] toList (vector @Double 10 [1..])*[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0] arrayfire&Retrieves single scalar value from an )getScalar (scalar @Double 22.0) :: Double22.0 arrayfire Dimensions arrayfireArray elements arrayfireReturned array arrayfire to be copied arrayfire Newly copied  arrayfireInput  arrayfireInput  arrayfireReference count arrayfire+Whether or not to perform manual evaluation arrayfireInput  arrayfireCount of elements in   David Johnson (c) 2019-2020BSD3$David Johnson  ExperimentalGHC Safe-Inferred'AO arrayfire Calculates  of  along user-specified dimension.mean ( vector @Int 10 [1..] ) 0ArrayFire Array [1 1 1 1] 5.5000 arrayfire Calculates  of  along user-specified dimension.meanWeighted (vector @Double 10 [1..10]) (vector @Double 10 [1..10]) 0ArrayFire Array [1 1 1 1] 7.0000 arrayfire Calculates variance of  along user-specified dimension.%var (vector @Double 8 [1..8]) False 0ArrayFire Array [1 1 1 1] 6.0000 arrayfire Calculates  of  along user-specified dimension.varWeighted ( vector @Double 10 [1..] ) ( vector @Double 10 [1..] ) 0ArrayFire Array [1 1 1 1] 6.0000 arrayfire Calculates  of  along user-specified dimension.*stdev (vector @Double 10 (cycle [1,-1])) 0ArrayFire Array [1 1 1 1] 1.0000 arrayfire Calculates  covariance of two s with a bias specifier.cov (vector @Double 10 (repeat 1)) (vector @Double 10 (repeat 1)) FalseArrayFire Array [1 1 1 1] 0.0000 arrayfire Calculates  of  along user-specified dimension.$median ( vector @Double 10 [1..] ) 0ArrayFire Array [1 1 1 1] 5.5000 arrayfire Calculates  of all elements in an ,meanAll $ matrix @Double (2,2) [[1,2],[4,5]](3.0,2.232709401e-314) arrayfire/Calculates weighted mean of all elements in an meanAllWeighted (matrix @Double (2,2) [[1,2],[3,4]]) (matrix @Double (2,2) [[1,2],[3,4]])(3.0,1.400743288453e-312) arrayfire*Calculates variance of all elements in an ,varAll (vector @Double 10 (repeat 10)) False(0.0,1.4013073623e-312) arrayfire3Calculates weighted variance of all elements in an varAllWeighted ( vector @Double 10 [1..] ) ( vector @Double 10 [1..] )(6.0,2.1941097984e-314) arrayfire4Calculates standard deviation of all elements in an (stdevAll (vector @Double 10 (repeat 10))(0.0,2.190573324e-314) arrayfire(Calculates median of all elements in an )medianAll (vector @Double 10 (repeat 10))(10.0,2.1961564713e-314) arrayfireThis algorithm returns Pearson product-moment correlation coefficient. =https://en.wikipedia.org/wiki/Pearson_correlation_coefficient=corrCoef ( vector @Int 10 [1..] ) ( vector @Int 10 [10,9..] )(-1.0,2.1904819737e-314) arrayfireThis function returns the top k values along a given dimension of the input array. >>> let (vals,indexes) =  (  @  10 [1..] ) 3 J >>> indexes ArrayFire Array [3 1 1 1] 9 8 7 >>> vals ArrayFire Array [3 1 1 1] 10.0000 9.0000 8.0000 The indices along with their values are returned. If the input is a multi-dimensional array, the indices will be the index of the value in that dimension. Order of duplicate values are not preserved. This function is optimized for small values of k. This function performs the operation across all dimensions of the input array. This function is optimized for small values of k. The order of the returned keys may not be in the same order as the appear in the input array arrayfireInput  arrayfire/The dimension along which the mean is extracted arrayfire#Will contain the mean of the input  along dimension dim arrayfireInput  arrayfireWeights  arrayfire/The dimension along which the mean is extracted arrayfire#Will contain the mean of the input  along dimension dim arrayfireInput  arrayfireboolean denoting Population variance (false) or Sample Variance (true) arrayfire3The dimension along which the variance is extracted arrayfirewill contain the variance of the input array along dimension dim arrayfireInput  arrayfireWeights / used to scale input in before getting variance arrayfire3The dimension along which the variance is extracted arrayfireThe number of elements to be retrieved along the dim dimension arrayfireIf descending, the highest values are returned. Otherwise, the lowest values are returned arrayfireReturns The values of the top k elements along the dim dimension along with the indices of the top k elements along the dim dimension,David Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred0BDavid Johnson (c) 2019-2020BSD 3$David Johnson  ExperimentalGHC Safe-Inferred'{  arrayfireFAST feature detectors 3http://arrayfire.org/docs/group__cv__func__fast.htmArrayFire DocsA circle of radius 3 pixels, translating into a total of 16 pixels, is checked for sequential segments of pixels much brighter or much darker than the central one. For a pixel p to be considered a feature, there must exist a sequential segment of arc_length pixels in the circle around it such that all are greather than (p + thr) or smaller than (p - thr). After all features in the image are detected, if nonmax is true, the non-maximal suppression is applied, checking all detected features and the features detected in its 8-neighborhood and discard it if its score is non maximal. arrayfireHarris corner detection 5http://arrayfire.org/docs/group__cv__func__harris.htmArrayFire DocsHarris corner detector. arrayfireORB Feature descriptor 2http://arrayfire.org/docs/group__cv__func__orb.htmArrayFire DocsExtract ORB descriptors from FAST features that hold higher Harris responses. FAST does not compute orientation, thus, orientation of features is calculated using the intensity centroid. As FAST is also not multi-scale enabled, a multi-scale pyramid is calculated by downsampling the input image multiple times followed by FAST feature detection on each scale. arrayfire/SIFT feature detector and descriptor extractor. 3http://arrayfire.org/docs/group__cv__func__sift.htmArrayFire Docs5C Interface for SIFT feature detector and descriptor. arrayfire/SIFT feature detector and descriptor extractor. 3http://arrayfire.org/docs/group__cv__func__gloh.htmArrayFire Docs5C Interface for SIFT feature detector and descriptor. arrayfireHamming Matcher ?http://arrayfire.org/docs/group__cv__func__hamming__matcher.htmArrayFire DocsCalculates Hamming distances between two 2-dimensional arrays containing features, one of the arrays containing the training data and the other the query data. One of the dimensions of the both arrays must be equal among them, identifying the length of each feature. The other dimension indicates the total number of features in each of the training and query arrays. Two 1-dimensional arrays are created as results, one containg the smallest N distances of the query array and another containing the indices of these distances in the training array. The resulting 1-dimensional arrays have length equal to the number of features contained in the query array. arrayfireNearest Neighbor http://arrayfire.org/docs/group__cv__func__nearest__neighbour.htmArrayFire DocsCalculates nearest distances between two 2-dimensional arrays containing features based on the type of distance computation chosen. Currently, AF_SAD (sum of absolute differences), AF_SSD (sum of squared differences) and AF_SHD (hamming distance) are supported. One of the arrays containing the training data and the other the query data. One of the dimensions of the both arrays must be equal among them, identifying the length of each feature. The other dimension indicates the total number of features in each of the training and query arrays. Two 1-dimensional arrays are created as results, one containg the smallest N distances of the query array and another containing the indices of these distances in the training array. The resulting 1-dimensional arrays have length equal to the number of features contained in the query array. arrayfireNearest Neighbor >http://arrayfire.org/docs/group__cv__func__match__template.htmArrayFire Docs(C Interface for image template matching. arrayfireSUSAN corner detector. 4http://arrayfire.org/docs/group__cv__func__susan.htmArrayFire DocsSUSAN is an acronym standing for Smallest Univalue Segment Assimilating Nucleus. This method places a circular disc over the pixel to be tested (a.k.a nucleus) to compute the corner measure of that corresponding pixel. The region covered by the circular disc is M, and a pixel in this region is represented by m M where m 0 is the nucleus. Every pixel in the region is compared to the nucleus using the following comparison function: arrayfireDifference of Gaussians. 2http://arrayfire.org/docs/group__cv__func__dog.htmArrayFire DocsGiven an image, this function computes two different versions of smoothed input image using the difference smoothing parameters and subtracts one from the other and returns the result. arrayfireHomography Estimation. 9http://arrayfire.org/docs/group__cv__func__homography.htmArrayFire DocsHomography estimation find a perspective transform between two sets of 2D points.  arrayfireArray containing a grayscale image (color images are not supported) arrayfireFAST threshold for which a pixel of the circle around the central pixel is considered to be greater or smaller arrayfireLength of arc (or sequential segment) to be tested, must be within range [9-16] arrayfire(Performs non-maximal suppression if true arrayfireMaximum ratio of features to detect, the maximum number of features is calculated by feature_ratio * in.elements(). The maximum number of features is not based on the score, instead, features detected after the limit is reached are discarded arrayfireIs the length of the edges in the image to be discarded by FAST (minimum is 3, as the radius of the circle) arrayfireStruct containing arrays for x and y coordinates and score, while array orientation is set to 0 as FAST does not compute orientation, and size is set to 1 as FAST does not compute multiple scales arrayfirearray containing a grayscale image (color images are not supported) arrayfiremaximum number of corners to keep, only retains those with highest Harris responses arrayfireminimum response in order for a corner to be retained, only used if max_corners = 0 arrayfirethe standard deviation of a circular window (its dimensions will be calculated according to the standard deviation), the covariation matrix will be calculated to a circular neighborhood of this standard deviation (only used when block_size == 0, must be >= 0.5f and <= 5.0f) arrayfiresquare window size, the covariation matrix will be calculated to a square neighborhood of this size (must be >= 3 and <= 31) arrayfirestruct containing arrays for x and y coordinates and score (Harris response), while arrays orientation and size are set to 0 and 1, respectively, because Harris does not compute that information arrayfire> containing a grayscale image (color images are not supported) arrayfireFAST threshold for which a pixel of the circle around the central pixel is considered to be brighter or darker arrayfiremaximum number of features to hold (will only keep the max_feat features with higher Harris responses) arrayfirefactor to downsample the input image, meaning that each level will hold prior level dimensions divided by scl_fctr arrayfire5number of levels to be computed for the image pyramid arrayfireblur image with a Gaussian filter with sigma=2 before computing descriptors to increase robustness against noise if true arrayfire struct composed of arrays for x and y coordinates, score, orientation and size of selected features  arrayfireArray containing a grayscale image (color images are not supported) arrayfirenumber of layers per octave, the number of octaves is computed automatically according to the input image dimensions, the original SIFT paper suggests 3 arrayfirethreshold used to filter out features that have low contrast, the original SIFT paper suggests 0.04 arrayfirethreshold used to filter out features that are too edge-like, the original SIFT paper suggests 10.0 arrayfirethe sigma value used to filter the input image at the first octave, the original SIFT paper suggests 1.6 arrayfireif true, the input image dimensions will be doubled and the doubled image will be used for the first octave arrayfirethe inverse of the difference between the minimum and maximum grayscale intensity value, e.g.: if the ranges are 0-256, the proper intensity_scale value is 1256, if the ranges are 0-1, the proper intensity-scale value is 11 arrayfiremaximum ratio of features to detect, the maximum number of features is calculated by feature_ratio * in.elements(). The maximum number of features is not based on the score, instead, features detected after the limit is reached are discarded arrayfireFeatures object composed of arrays for x and y coordinates, score, orientation and size of selected features Nx128 array containing extracted descriptors, where N is the number of features found by SIFT  arrayfire> containing a grayscale image (color images are not supported) arrayfirenumber of layers per octave, the number of octaves is computed automatically according to the input image dimensions, the original SIFT paper suggests 3 arrayfirethreshold used to filter out features that have low contrast, the original SIFT paper suggests 0.04 arrayfirethreshold used to filter out features that are too edge-like, the original SIFT paper suggests 10.0 arrayfirethe sigma value used to filter the input image at the first octave, the original SIFT paper suggests 1.6 arrayfireif true, the input image dimensions will be doubled and the doubled image will be used for the first octave arrayfirethe inverse of the difference between the minimum and maximum grayscale intensity value, e.g.: if the ranges are 0-256, the proper intensity_scale value is 1256, if the ranges are 0-1, the proper intensity-scale value is 11 arrayfiremaximum ratio of features to detect, the maximum number of features is calculated by feature_ratio * in.elements(). The maximum number of features is not based on the score, instead, features detected after the limit is reached are discarded arrayfire object composed of arrays for x and y coordinates, score, orientation and size of selected features ^ Nx272 array containing extracted GLOH descriptors, where N is the number of features found by SIFT arrayfireis the " containing the data to be queried arrayfireis the * containing the data used as training data arrayfireindicates the dimension to analyze for distance (the dimension indicated here must be of equal length for both query and train arrays) arrayfireis the number of smallest distances to return (currently, only 1 is supported) arrayfireis an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the index of the Jth smallest distance to the Ith query value in the train data array. the index of the Ith smallest distance of the Mth query. is an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the Hamming distance of the Jth smallest distance to the Ith query value in the train data array. arrayfire.is the array containing the data to be queried arrayfire6is the array containing the data used as training data arrayfireindicates the dimension to analyze for distance (the dimension indicated here must be of equal length for both query and train arrays) arrayfireis the number of smallest distances to return (currently, only values <= 256 are supported) arrayfireis the distance computation type. Currently AF_SAD (sum of absolute differences), AF_SSD (sum of squared differences), and AF_SHD (hamming distances) are supported. arrayfireis an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the index of the Jth smallest distance to the Ith query value in the train data array. the index of the Ith smallest distance of the Mth query. is an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the distance of the Jth smallest distance to the Ith query value in the train data array based on the dist_type chosen. arrayfireis an  with image data arrayfire/is the template we are looking for in the image arrayfireis metric that should be used to calculate the disparity between window in the image and the template image. It can be one of the values defined by the enum af_match_type arrayfirewill have disparity values for the window starting at corresponding pixel position arrayfire"is input grayscale/intensity image arrayfire*nucleus radius for each pixel neighborhood arrayfireintensity difference threshold a.k.a t from equations in description arrayfiregeometric threshold arrayfireis maximum number of features that will be returned by the function arrayfireindicates how many pixels width area should be skipped for corner detection arrayfireis input image arrayfire&is the radius of first gaussian kernel arrayfire'is the radius of second gaussian kernel arrayfire is difference of smoothed inputs arrayfire#x coordinates of the source points. arrayfire#y coordinates of the source points. arrayfire(x coordinates of the destination points. arrayfire(y coordinates of the destination points. arrayfirehtype, can be AF_HOMOGRAPHY_RANSAC, for which a RANdom SAmple Consensus will be used to evaluate the homography quality (e.g., number of inliers), or AF_HOMOGRAPHY_LMEDS, which will use Least Median of Squares method to evaluate homography quality. arrayfireIf htype is AF_HOMOGRAPHY_RANSAC, this parameter will five the maximum L2-distance for a point to be considered an inlier. arrayfiremaximum number of iterations when htype is AF_HOMOGRAPHY_RANSAC and backend is CPU, if backend is CUDA or OpenCL, iterations is the total number of iterations, an iteration is a selection of 4 random points for which the homography is estimated and evaluated for number of inliers. arrayfireis a 3x3 array containing the estimated homography. is the number of inliers that the homography was estimated to comprise, in the case that htype is AF_HOMOGRAPHY_RANSAC, a higher inlier_thr value will increase the estimated inliers. Note that if the number of inliers is too low, it is likely that a bad homography will be returned.  -David Johnson (c) 2019-2020BSD3$David Johnson  ExperimentalGHC Safe-Inferred|8   *)('&%$#"! +,-.1/02;:9876534<=@>?ABECDFGHILJKMVUTSRQPNOW_^]\[ZXY`kjihgfedcablmqpnorstuxvwy|z{}~ ../00123456789:;<=>?@ABCDEFGHI&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&h&i&j&k&l&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&                                                                                                                                                               !!!!!!!!!!!!!!!"""""""""""""""#################################$ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % & & & & & & & & & &&&&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) * * * * * * * * * * * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +                                                                              arrayfire-0.7.0.0-inplaceArrayFire.TypesArrayFire.SparseArrayFire.SignalArrayFire.RandomArrayFire.LAPACKArrayFire.IndexArrayFire.GraphicsArrayFire.FeaturesArrayFire.DeviceArrayFire.BackendArrayFire.BLASArrayFire.ArithArrayFire.ImageArrayFire.DataArrayFire.AlgorithmArrayFire.UtilArrayFire.ArrayArrayFire.StatisticsArrayFire.VisionArrayFire.Internal.DefinesArrayFire.Internal.DataArrayFire.Internal.BackendArrayFire.Internal.BLASArrayFire.Internal.ArrayArrayFire.Internal.ArithArrayFire.Internal.AlgorithmArrayFire.Internal.DeviceArrayFire.Internal.ExceptionArrayFire.ExceptionArrayFire.Internal.FeaturesArrayFire.Internal.ImageArrayFire.Internal.InternalArrayFire.Internal.LAPACKArrayFire.Internal.RandomArrayFire.Internal.SignalArrayFire.Internal.SparseArrayFire.Internal.StatisticsArrayFire.Internal.TypesArrayFire.Internal.IndexArrayFire.Internal.GraphicsArrayFire.Internal.UtilArrayFire.Internal.Vision ArrayFire.FFIArrayFire.Orphans ArrayFireAFDtypeafDType AFExceptionafExceptionTypeafExceptionCodeafExceptionMsgAFExceptionType NoMemoryError DriverError RuntimeErrorInvalidArrayErrorArgError SizeError TypeError DiffTypeError BatchError DeviceErrorNotSupportedErrorNotConfiguredError NonFreeError NoDblError NoGfxError LoadLibError LoadSymErrorBackendMismatchError InternalError UnknownErrorUnhandledErrorAFDTypeF32C32F64C64B8S32U32U8S64U64S16U16ConvMode ConvDefault ConvExpand ConvDomainConvDomainAutoConvDomainSpatialConvDomainFreqNormType NormVectorOne NormVectorInf NormVector2 NormVectorP NormMatrix1 NormMatrixInf NormMatrix2 NormMatrixLPQ NormEuclidIndexidxisSeqisBatchSeqseqBeginseqEndseqStepHomographyTypeRANSACLMEDSTopK TopKDefaultTopKMinTopKMax MatchType MatchTypeSAD MatchTypeZSAD MatchTypeLSAD MatchTypeSSD MatchTypeZSSD MatchTypeLSSD MatchTypeNCC MatchTypeZNCC MatchTypeSHD MarkerTypeMarkerTypeNoneMarkerTypePointMarkerTypeCircleMarkerTypeSquareMarkerTypeTriangleMarkerTypeCrossMarkerTypePlusMarkerTypeStarColorMapColorMapDefaultColorMapSpectrumColorMapColors ColorMapRed ColorMapMood ColorMapHeat ColorMapBlueColorMapInferno ColorMapMagmaColorMapPlasmaColorMapViridisCellcellRowcellCol cellTitle cellColorMapInverseDeconvAlgoInverseDeconvDefaultInverseDeconvTikhonovIterativeDeconvAlgo DeconvDefaultDeconvLandweberDeconvRichardsonLucy DiffusionEqDiffusionDefault DiffusionGrad DiffusionMCDE FluxFunction FluxDefault FluxQuadraticFluxExponentialCannyThresholdManualAutoOtsu MomentTypeM00M01M10M11 FirstOrderYccStdYcc601Ycc709Ycc2020CSpaceGrayRGBHSVYCBCR ConnectivityConn4Conn8 BorderTypePadZeroPadSym InterpTypeNearestLinearBilinearCubic LowerInterp LinearCosineBilinearCosineBicubic CubicSpline BicubicSplineRandomEngineTypePhiloxThreeFryMersenneStorageDenseCSRCSCCOOBinaryOpAddMulMinMaxMatPropNoneTransCTransConjUpperLowerDiagUnitSymPosDefOrthogTriDiag BlockDiagBackendDefaultCPUCUDAOpenCLAFTypeafTypeWindow RandomEngineFeaturesArraycreateSparseArraycreateSparseArrayFromDensesparseConvertTo sparseToDense sparseGetInfosparseGetValuessparseGetRowIdxsparseGetColIdxsparseGetStorage sparseGetNNZapprox1approx2fft fftInPlacefft2 fft2_inplacefft3 fft3_inplaceifft ifft_inplaceifft2 ifft2_inplaceifft3 ifft3_inplacefftr2cfft2r2cfft3r2cfftc2rfft2C2rfft3C2r convolve1 convolve2 convolve3 convolve2Sep fftConvolve2 fftConvolve3firiirmedFiltmedFilt1medFilt2setFFTPlanCacheSizecreateRandomEngineretainRandomEnginesetRandomEnginegetRandomEngineTyperandomEngineSetSeedgetDefaultRandomEnginesetDefaultRandomEngineTyperandomEngineGetSeedsetSeedgetSeedrandnrandu randomUniform randomNormalsvd svdInPlacelu luInPlaceqr qrInPlacecholeskycholeskyInplacesolvesolveLUinverserankdetnormisLAPACKAvailableindexlookup createWindow setPositionsetTitlesetSize drawImagedrawPlot drawPlot3 drawPlotNd drawPlot2d drawPlot3d drawScatter drawScatter3 drawScatterNd drawScatter2d drawScatter3d drawHistogram drawSurfacedrawVectorFieldNDdrawVectorField3ddrawVectorField2dgridsetAxesLimitsComputesetAxesLimits2dsetAxesLimits3d setAxesTitles showWindowisWindowClosed setVisibilitycreateFeaturesretainFeaturesgetFeaturesNumgetFeaturesXPosgetFeaturesYPosgetFeaturesScoregetFeaturesOrientationgetFeaturesSizeinfoafInit getInfoStringgetDeviceCount setDevice getDevice setBackendgetBackendCountgetAvailableBackends getBackendgetActiveBackend getDeviceIDmatmuldotdotAll transposetransposeInPlaceadd addBatchedsub subBatchedmul mulBatcheddiv divBatchedlt ltBatchedgt gtBatchedle leBatchedge geBatchedeq eqBatchedneq neqBatchedand andBatchedor orBatchednotbitAnd bitAndBatchedbitOr bitOrBatchedbitXor bitXorBatched bitShiftLbitShiftLBatched bitShiftRbitShiftRBatchedcastminOf minOfBatchedmaxOf maxOfBatchedclamp clampBatchedrem remBatchedmod modBatchedabsargsignroundtruncfloorceilsincostanasinacosatanatan2 atan2Batchedcplx2 cplx2Batchedcplxrealimagconjgsinhcoshtanhasinhacoshatanhroot rootBatchedpow powBatchedpow2expsigmoidexpm1erferfcloglog1plog10log2sqrtcbrt factorialtgammalgammaisZeroisInfisNaNgradient loadImage saveImageloadImageNativesaveImageNativeisImageIOAvailableresize transformtransformCoordinatesrotate translatescaleskew histogramdilatedilate3erodeerode3 bilateral meanShiftminFiltmaxFiltregionssobel_operatorrgb2graygray2rgb histEqualgaussianKernelhsv2rgbrgb2hsv colorSpaceunwrapwrapsat ycbcr2rgb rgb2ycbcrmoments momentsAllcannyanisotropicDiffusionconstantrangeiotaidentity diagCreate diagExtractjoinjoinManytilereordershiftmoddimsflatfliplowerupperselect selectScalarR selectScalarLsumsumNaNproduct productNaNminmaxallTrueanyTruecountsumAll sumNaNAll productAll productNaNAllminAllmaxAll allTrueAll anyTrueAllcountAlliminimaximinAllimaxAllaccumscan scanByKeywhere'diff1diff2sort sortIndex sortByKey setUniquesetUnion setIntersect getVersion printArray getRevision printArrayGen saveArrayreadArrayIndex readArrayKeyreadArrayKeyCheck arrayString arrayToString getSizeOfscalarvectormatrixcubetensormkArray copyArray retainArraygetDataRefCountsetManualEvalFlaggetManualEvalFlag getElementsgetTypegetDims getNumDimsisEmptyisScalarisRowisColumnisVector isComplexisRealisDoubleisSingleisRealFloating isFloating isIntegerisBoolisSparsetoVectortoList getScalarmean meanWeightedvar varWeightedstdevcovmedianmeanAllmeanAllWeightedvarAllvarAllWeightedstdevAll medianAllcorrCoeftopkfastharrisorbsiftglohhammingMatchernearestNeighbor matchTemplatesusandog homographyafErrNotConfigured afErrNonFree afErrLoadLibIntLUIntLDimTAFInverseDeconvAlgoAFIterativeDeconvAlgoAFTopkFunction AFDiffusionEqAFFluxFunction AFStorageAFCannyThreshold AFMarkerType AFColorMapAFRandomEngineType AFBinaryOpAFID AFBackendAFHomographyType AFMomentType AFImageFormat AFNormType AFMatPropAFCSpaceAFYccStd AFMatchType AFConvDomain AFConvModeAFConnectivity AFBorderType AFInterpTypeAFWindowAFRandomEngine AFFeaturesAFArray AFSomeEnumAFSourceAFErrafError afVersion afSuccess afErrNoMem afErrDriver afErrRuntimeafErrInvalidArrayafErrArg afErrSize afErrType afErrDiffType afErrBatch afErrDeviceafErrNotSupported afErrNoDbl afErrNoGfx afErrLoadSymafErrArrBkndMismatch afErrInternal afErrUnknownf32c32f64c64b8s32u32u8s64u64s16u16afDeviceafHost afMaxDims afSomeEnumafInterpNearestafInterpLinearafInterpBilinear afInterpCubic afInterpLowerafInterpLinearCosineafInterpBilinearCosineafInterpBicubicafInterpCubicSplineafInterpBicubicSplineafBorderPadZeroafPadSymafConnectivity4afConnectivity8 afConvDefault afConvExpand afConvAuto afConvSpatial afConvFreqafSADafZSADafLSADafSSDafZSSDafLSSDafNCCafZNCCafSHDafYcc601afYcc709 afYcc2020afGrayafRgbafHsvafYCbCr afMatNone afMatTrans afMatCtrans afMatConj afMatUpper afMatLower afMatDiagUnitafMatSym afMatPosdef afMatOrthog afMatTriDiagafMatBlockDiag afNormVector1afNormVectorInf afNormVector2 afNormVectorP afNormMatrix1afNormMatrixInf afNormMatrix2afNormMatrixLPq afNormEuclidafFIFBmpafFIFIco afFIFJpegafFIFJngafFIFPngafFIFPpm afFIFPpmraw afFIFTiffafFIFPsdafFIFHdrafFIFExrafFIFJp2afFIFRaw afMomentM00 afMomentM01 afMomentM10 afMomentM11afMomentFirstOrderafHomographyRansacafHomographyLmedsafBackendDefault afBackendCpu afBackendCudaafBackendOpencl afBinaryAdd afBinaryMul afBinaryMin afBinaryMaxafRandomEnginePhilox4X3210afRandomEngineThreefry2X3216afRandomEngineMersenneGp11213afRandomEnginePhiloxafRandomEngineThreefryafRandomEngineMersenneafRandomEngineDefaultafColormapDefaultafColormapSpectrumafColormapColors afColormapRedafColormapMoodafColormapHeatafColormapBlueafColormapInfernoafColormapMagmaafColormapPlasmaafColormapViridis afMarkerNone afMarkerPointafMarkerCircleafMarkerSquareafMarkerTriangle afMarkerCross afMarkerPlus afMarkerStarafCannyThresholdManualafCannyThresholdAutoOtsuafStorageDense afStorageCsr afStorageCsc afStorageCooafFluxQuadraticafFluxExponential afFluxDefaultafDiffusionGradafDiffusionMcdeafDiffusionDefault afTopkMin afTopkMax afTopkDefaultaf_replace_scalar af_replaceaf_select_scalar_laf_select_scalar_r af_selectaf_upperaf_loweraf_flipaf_flat af_moddimsaf_shift af_reorderaf_tile af_join_manyaf_joinaf_diag_extractaf_diag_create af_identityaf_iotaaf_rangeaf_constant_ulongaf_constant_longaf_constant_complex af_constantaf_get_device_idaf_get_active_backendaf_get_backend_idaf_get_available_backendsaf_get_backend_countaf_set_backendaf_transpose_inplace af_transpose af_dot_allaf_dot af_matmul af_get_scalar af_is_sparse af_is_bool af_is_integeraf_is_floatingaf_is_realfloating af_is_single af_is_double af_is_real af_is_complex af_is_vector af_is_column af_is_row af_is_scalar af_is_emptyaf_get_numdims af_get_dims af_get_typeaf_get_elementsaf_get_manual_eval_flagaf_set_manual_eval_flagaf_eval_multipleaf_evalaf_get_data_ref_countaf_retain_arrayaf_release_arrayaf_get_data_ptraf_write_array af_copy_arrayaf_create_handleaf_create_arrayaf_isnanaf_isinf af_iszero af_lgamma af_tgamma af_factorialaf_cbrtaf_sqrtaf_log2af_log10af_log1paf_logaf_erfcaf_erfaf_expm1 af_sigmoidaf_expaf_pow2af_powaf_rootaf_atanhaf_acoshaf_asinhaf_tanhaf_coshaf_sinhaf_conjgaf_imagaf_realaf_cplxaf_cplx2af_atan2af_atanaf_acosaf_asinaf_tanaf_cosaf_sinaf_hypotaf_ceilaf_flooraf_truncaf_roundaf_signaf_argaf_absaf_modaf_remaf_clampaf_maxofaf_minofaf_cast af_bitshiftr af_bitshiftl af_bitxoraf_bitor af_bitandaf_notaf_oraf_andaf_neqaf_eqaf_geaf_leaf_gtaf_ltaf_divaf_mulaf_subaf_addaf_set_intersect af_set_union af_set_uniqueaf_sort_by_key af_sort_indexaf_sortaf_diff2af_diff1af_whereaf_scan_by_keyaf_scanaf_accum af_imax_all af_imin_allaf_imaxaf_imin af_count_allaf_any_true_allaf_all_true_all af_max_all af_min_allaf_product_nan_allaf_product_allaf_sum_nan_all af_sum_allaf_count af_any_true af_all_trueaf_maxaf_minaf_product_nan af_product af_sum_nanaf_sumaf_get_device_ptraf_is_locked_array af_lock_arrayaf_unlock_device_ptraf_lock_device_ptraf_get_mem_step_sizeaf_set_mem_step_size af_device_gcaf_print_mem_infoaf_device_mem_infoaf_device_array af_free_host af_alloc_hostaf_free_pinnedaf_alloc_pinnedaf_free_deviceaf_alloc_deviceaf_sync af_get_device af_set_deviceaf_get_dbl_supportaf_get_device_countaf_device_infoaf_info_stringaf_initaf_infoaf_err_to_stringaf_get_last_error errorToStringtoAFExceptionType throwAFErroraf_release_array_finalizeraf_release_window_finalizer"af_release_random_engine_finalizeraf_release_featuresaf_get_features_sizeaf_get_features_orientationaf_get_features_scoreaf_get_features_yposaf_get_features_xposaf_get_features_numaf_retain_featuresaf_create_featuresaf_anisotropic_diffusionaf_cannyaf_moments_all af_moments af_rgb2ycbcr af_ycbcr2rgbaf_sataf_wrap af_unwrapaf_color_space af_rgb2hsv af_hsv2rgbaf_gaussian_kernel af_hist_equal af_gray2rgb af_rgb2grayaf_sobel_operator af_regions af_maxfilt af_minfilt af_mean_shift af_bilateral af_erode3af_erode af_dilate3 af_dilate af_histogramaf_skewaf_scale af_translate af_rotateaf_transform_coordinates af_transform af_resizeaf_is_image_io_availableaf_save_image_nativeaf_load_image_nativeaf_delete_image_memoryaf_save_image_memoryaf_load_image_memory af_save_image af_load_image af_gradientaf_get_allocated_bytes af_is_owner af_is_linearaf_get_raw_ptr af_get_offsetaf_get_stridesaf_create_strided_arrayaf_is_lapack_availableaf_normaf_detaf_rank af_inverse af_solve_luaf_solveaf_cholesky_inplace af_cholesky af_qr_inplaceaf_qr af_lu_inplaceaf_luaf_svd_inplaceaf_svd af_get_seed af_set_seedaf_randnaf_randuaf_release_random_engineaf_random_engine_get_seed!af_set_default_random_engine_typeaf_get_default_random_engineaf_random_engine_set_seedaf_random_normalaf_random_uniformaf_random_engine_get_typeaf_random_engine_set_typeaf_retain_random_engineaf_create_random_engineaf_set_fft_plan_cache_size af_medfilt2 af_medfilt1 af_medfiltaf_iiraf_firaf_fft_convolve3af_fft_convolve2af_fft_convolve1af_convolve2_sep af_convolve3 af_convolve2 af_convolve1 af_fft3_c2r af_fft2_c2r af_fft_c2r af_fft3_r2c af_fft2_r2c af_fft_r2caf_ifft3_inplaceaf_ifft3af_ifft2_inplaceaf_ifft2af_ifft_inplaceaf_ifftaf_fft3_inplaceaf_fft3af_fft2_inplaceaf_fft2af_fft_inplaceaf_fft af_approx2 af_approx1af_sparse_get_storageaf_sparse_get_nnzaf_sparse_get_col_idxaf_sparse_get_row_idxaf_sparse_get_valuesaf_sparse_get_infoaf_sparse_to_denseaf_sparse_convert_to!af_create_sparse_array_from_denseaf_create_sparse_array_from_ptraf_create_sparse_arrayaf_topk af_corrcoef af_median_all af_stdev_allaf_var_all_weighted af_var_allaf_mean_all_weighted af_mean_all af_medianaf_covaf_stdevaf_var_weightedaf_varaf_mean_weightedaf_meanVersionAFIndex toBackend toAFBackend toBackends fromMatProp toMatProp toBinaryOp fromBinaryOpAFCellafCellColorMap afCellTitle afCellCol afCellRowAFCFloatafcImagafcReal afIsBatchafIsSeqafIdxAFSeq afSeqStepafSeqEnd afSeqBegin toStorage fromStoragetoRandomEnginefromRandomEngine toInterpTypefromInterpType toBorderTypefromBorderTypetoConnectivityfromConnectivitytoCSpace fromCSpace toAFYccStd fromAFYccStd toMomentTypefromMomentTypetoCannyThresholdfromCannyThresholdtoFluxFunctionfromFluxFunction toDiffusionEqfromDiffusionEqtoIterativeDeconvAlgofromIterativeDeconvAlgotoInverseDeconvAlgofromInverseDeconvAlgo cellToAFCell fromColorMap toColorMapfromMarkerType toMarkerType fromMatchType toMatchTypefromTopKtoTopKfromHomographyTypetoHomographyTypetoAFSeqseqIdxarrIdx toAFIndex fromNormType toNormTypefromConvDomain toConvDomain fromConvMode toConvMode fromAFTypetoAFTypeaf_release_indexersaf_set_seq_param_indexeraf_set_seq_indexeraf_set_array_indexeraf_create_indexers af_assign_gen af_index_gen af_assign_seq af_lookupaf_indexaf_destroy_windowaf_set_visibilityaf_is_window_closedaf_showaf_set_axes_titlesaf_set_axes_limits_3daf_set_axes_limits_2daf_set_axes_limits_computeaf_gridaf_draw_vector_field_2daf_draw_vector_field_3daf_draw_vector_field_ndaf_draw_surface af_draw_histaf_draw_scatter_3daf_draw_scatter_2daf_draw_scatter_ndaf_draw_scatter3af_draw_scatteraf_draw_plot_3daf_draw_plot_2daf_draw_plot_nd af_draw_plot3 af_draw_plot af_draw_image af_set_size af_set_titleaf_set_positionaf_create_windowaf_get_size_ofaf_get_revisionaf_get_versionaf_example_functionaf_array_to_stringaf_read_array_key_checkaf_read_array_keyaf_read_array_index af_save_arrayaf_print_array_genaf_print_array af_homographyaf_dogaf_susanaf_match_templateaf_nearest_neighbouraf_hamming_matcheraf_glohaf_siftaf_orb af_harrisaf_fastfeaturesToArray zeroOutArrayop3op3Intop2op2boolop2pop3pop3p1op2p2 createArray' createArray createWindow'opwopw1op1dop1op1fop1reop1bafCall loadAFImageloadAFImageNativeinPlace inPlaceEngafCall1afCall1'infoFromFeaturesinfoFromRandomEngine afSaveImage infoFromArrayinfoFromArray2infoFromArray22infoFromArray3infoFromArray4randghc-prim GHC.TypesIntTruebaseGHC.BaseString System.IOprint=<<DoubleputStrLnGHC.ShowShow$False Data.ProxyProxyFloatForeign.StorableStorable%vector-0.12.3.1-TXkE6leK98EdYcmdk29JFData.Vector.StorableVectorGHC.IntInt8Int16Int32Int64WordGHC.WordWord8Word16Word32Word64 Data.ComplexComplex:+realPartpolarphasemkPolar magnitudeimagPart conjugatecisForeign.C.TypesCWcharCUShort CUSecondsCULongCULLongCUIntPtrCUIntMaxCUIntCUCharCTimeCSize CSigAtomicCShort CSUSecondsCSCharCPtrdiffCLongCLLongCJmpBufCIntPtrCIntMaxCIntCFposCFloatCFileCDoubleCClockCCharCBool pokeElemOff pokeByteOffpoke peekElemOff peekByteOffpeeksizeOf alignment byteSwap64 byteSwap32 byteSwap16 bitReverse8 bitReverse64 bitReverse32 bitReverse16