! EI      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234567 8 9 : ; < = > ? @ A B C D E F G H I 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 i j k l m n o p q r s t u v w x y z { | } ~                                                                                       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH-None"#M 9 arrayfire%Value corresponding to ArrayFire typeI arrayfire/Low-level for representation of ArrayFire typesJ arrayfireEnums for AFDtypeKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~IJ      !"#$%&'()*+,-./0None$$123456789:;<=>?@ABCDEFGHNone$IJKLMNNone%OPQRSNone%mTUVWXYZ[\]^_`abcdefghijklmnopqrNone&(Fstuvwxyz{|}~None'"None(FNone(David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone"#%/ 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! None0` None0+      !"#$%&'()*+,-./0 None11234567!None2 89:;<=>?@ABCDEF"None2GHIJKLMNOPQRSTU#None2!VWXYZ[\]^_`abcdefghijklmnopqrstuv$None3 wxyz{|}~%None4-&None"#%=?V8 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 arrayfireCtreats the input as a vector and returns the sum of absolute values4 arrayfireCtreats 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}~'None[" (None[)None\<      *None\ David Johnson (c) 2019-2020BSD3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone"#%&'-.=?HUVXk^  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ IJKLMNOPQRSTUVFGHlmnopqWXYZ[\]^_}~yz{|uvwxrstABCDE<=>?@23456789:;+,-./01 !"#$%&'()*`abcdefghijk+David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone"#%Xhs arrayfire"Note: We don't add a finalizer to  since the  finalizer frees  under the hood." !"#$%&'()*+,-./0123456789:;<=>?@David Johnson (c) 2019-2020BSD3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%ɩ  arrayfire_This 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 DocswNote* This function only create references of these arrays into the sparse data structure and does not do deep copies.tcreateSparseArray 10 10 (matrix @Double (10,10) [[1,2],[3,4]]) (vector @Int32 10 [1..]) (vector @Int32 10 [1..]) CSR arrayfire<This function converts a dense af_array into a sparse array. \http://arrayfire.org/docs/group__sparse__func__create.htm#ga52e3b2895cf9e9d697a06b4b44190d92ArrayFire DocswNote* This function only create references of these arrays into the sparse data structure and does not do deep copies.CcreateSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSR 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 arrayfireAConvert an existing sparse array into a different storage format. >http://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.Karray = 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 1sparseConvertTo array COO ArrayFire ArrayStorage Format : AF_STORAGE_COO [2 2 1 1]ArrayFire Array: Values [4 1 1 1]+ 1.0000 2.0000 3.0000 4.0000ArrayFire Array: RowIdx [4 1 1 1]+ 0 1 0 1ArrayFire Array: ColIdx [4 1 1 1]+ 0 0 1 1 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 itKarray = 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 1sparseToDense arrayArrayFire Array [2 2 1 1] 1.0000 2.0000 3.0000 4.0000 arrayfire:Returns reference to components of the input sparse array. Zhttp://arrayfire.org/docs/group__sparse__func__info.htm#gae6b553df80e21c174d374e82d8505ba5ArrayFire DocsdReturns reference to values, row indices, column indices and storage format of an input sparse arrays(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 DocsNReturns reference to the values component of the sparse array. Values is the 6 containing the non-zero elements of the dense matrix.UsparseGetValues (createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSR)ArrayFire Array [4 1 1 1]* 1.0000 3.0000 2.0000 4.0000 arrayfireKReturns reference to the row indices component of the sparse array. More... ;http://arrayfire.org/docs/group__sparse__func__row__idx.htmArrayFire DocsXReturns reference to the row indices component of the sparse array. Row indices is the 3 containing the column indices of the sparse array.UsparseGetRowIdx (createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSR)ArrayFire Array [3 1 1 1] 0 2 4 arrayfireNReturns reference to the column indices component of the sparse array. More... ;http://arrayfire.org/docs/group__sparse__func__col__idx.htmArrayFire Docs^Returns reference to the column indices component of the sparse array. Column indices is the 3 containing the column indices of the sparse array.UsparseGetColIdx (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 DocssReturns the number of non zero elements in the sparse array. This is always equal to the size of the values array.VsparseGetStorage $ createSparseArrayFromDense (matrix @Double (2,2) [[1,2],[3,4]]) CSRCSR arrayfireDReturns the number of non zero elements in the sparse array. More... Yhttp://arrayfire.org/docs/group__sparse__func__nnz.htm#ga0c1ad61d829c02a280c28820eb91f03eArrayFire DocssReturns the number of non zero elements in the sparse array. This is always equal to the size of the values array.RsparseGetNNZ $ 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 <djohnson.m@gmail.com> ExperimentalGHCNone%p  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]5 10.0000 13.7500 20.0000 26.2500 30.0000 arrayfireMapprox2 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.Tinput = 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 1.3750 2.6250 2.6250 arrayfireFast Fourier Transform Yhttp://arrayfire.org/docs/group__signal__func__fft.htm#ga64d0db9e59c9410ba738591ad146a884ArrayFire Docs2The 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 10ArrayFire Array [2 2 1 1] 1.3750 1.3750  2.6250 2.6250 arrayfire!Fast Fourier Transform (in-place) Yhttp://arrayfire.org/docs/group__signal__func__fft.htm#gaa2f03c9ee1cb80dc184c0b0a13176da1ArrayFire DocsBC Interface for fast fourier transform on one dimensional signals.*Note* The input in must be a complex array arrayfire&Fast Fourier Transform (2-dimensional) Zhttp://arrayfire.org/docs/group__signal__func__fft2.htm#gaab3fb1ed398e208a615036b4496da611ArrayFire DocsBC Interface for fast fourier transform on two dimensional signals. arrayfire0Fast Fourier Transform (2-dimensional, in-place) Zhttp://arrayfire.org/docs/group__signal__func__fft2.htm#gacdeebb3f221ae698833dc4900a172b8cArrayFire DocsBC Interface for fast fourier transform on two dimensional signals.*Note* The input in must be a complex array arrayfire&Fast Fourier Transform (3-dimensional) Zhttp://arrayfire.org/docs/group__signal__func__fft3.htm#ga5138ef1740ece0fde2c796904d733c12ArrayFire DocsDC Interface for fast fourier transform on three dimensional signals. arrayfire0Fast Fourier Transform (3-dimensional, in-place) Zhttp://arrayfire.org/docs/group__signal__func__fft2.htm#gacdeebb3f221ae698833dc4900a172b8cArrayFire DocsDC Interface for fast fourier transform on three dimensional signals.*Note* The input in must be a complex array arrayfireInverse Fast Fourier Transform Zhttp://arrayfire.org/docs/group__signal__func__ifft.htm#ga2d62c120b474b3b937b0425c994645feArrayFire DocsJC Interface for inverse fast fourier transform on one dimensional signals. arrayfire)Inverse Fast Fourier Transform (in-place) Zhttp://arrayfire.org/docs/group__signal__func__ifft.htm#ga827379bef0e2cadb382c1b6301c91429ArrayFire DocsBC 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 DocsJC 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 DocsBC 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 DocsLC 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 DocsBC 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 DocsSC 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 DocsSC 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 DocsUC 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 DocsSC 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 DocsSC 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 DocsUC 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.qNote* 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.qNote* 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.qNote* The default parameter of domain, AF_CONV_AUTO, heuristically switches between frequency and spatial domain. arrayfireAC Interface for separable convolution on two dimensional signals. ^http://arrayfire.org/docs/group__signal__func__convolve.htm#gaeb6ba88155cf3ef29d93f97b147e372fArrayFire DocsAC Interface for separable convolution on two dimensional signals.qNote* The default parameter of domain, AF_CONV_AUTO, heuristically switches between frequency and spatial domain. arrayfire+2D Convolution using Fast Fourier Transform dhttp://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.AC Interface for FFT-based convolution on two dimensional signals. arrayfire+3D Convolution using Fast Fourier Transform Ahttp://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.CC Interface for FFT-based convolution on three dimensional signals. arrayfireFinite Impulse Filter. Yhttp://arrayfire.org/docs/group__signal__func__fir.htm#ga2a850e69775eede4709e0d607bba240bArrayFire DocsdFinite 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. Yhttp://arrayfire.org/docs/group__signal__func__iir.htm#ga7adcc364da0a66cdfd2bb351215456c4ArrayFire DocswInfinite 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.KNote* 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. Yhttp://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 arrayfireDis the interpolation type, it can take one of the values defined by  arrayfireRis 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 arrayfireDis the interpolation type, it can take one of the values defined by  arrayfireRis the value that will set in the output array when certain index is out of bounds arrayfire%is the array with interpolated values arrayfireinput  arrayfire[the normalization factor with which the input is scaled after the transformation is applied arrayfireSis the length of output signals - used to either truncate or pad the input signals. arrayfireis the transformed array arrayfireRis the input array on entry and the output of 1D forward fourier transform at exit arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfire[the normalization factor with which the input is scaled after the transformation is applied arrayfire]is the length of output signals along first dimension - used to either truncate/pad the input arrayfire^is the length of output signals along second dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireKinput array on entry and the output of 2D forward fourier transform on exit arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfire[the normalization factor with which the input is scaled after the transformation is applied arrayfire]is the length of output signals along first dimension - used to either truncate/pad the input arrayfire^is the length of output signals along second dimension - used to either truncate/pad the input arrayfire]is the length of output signals along third dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireKinput array on entry and the output of 3D forward fourier transform on exit arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfireRis the length of output signals - used to either truncate or pad the input signals arrayfirethe transformed array arrayfireRis the input array on entry and the output of 1D forward fourier transform at exit arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfire[the normalization factor with which the input is scaled after the transformation is applied arrayfire]is the length of output signals along first dimension - used to either truncate/pad the input arrayfire^is the length of output signals along second dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireRis the input array on entry and the output of 1D forward fourier transform at exit arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfirethe input array arrayfire[the normalization factor with which the input is scaled after the transformation is applied arrayfire]is the length of output signals along first dimension - used to either truncate/pad the input arrayfire^is the length of output signals along second dimension - used to either truncate/pad the input arrayfire]is the length of output signals along third dimension - used to either truncate/pad the input arrayfirethe transformed array arrayfireRis the input array on entry and the output of 1D forward fourier transform at exit arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfireis a real array arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfire]is the length of output signals along first dimension - used to either truncate/pad the input arrayfire<is a complex array containing the non redundant parts of in. arrayfireis a real array arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfire]is the length of output signals along first dimension - used to either truncate/pad the input arrayfire^is the length of output signals along second dimension - used to either truncate/pad the input arrayfire<is a complex array containing the non redundant parts of in. arrayfireis a real array arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfire]is the length of output signals along first dimension - used to either truncate/pad the input arrayfire^is the length of output signals along second dimension - used to either truncate/pad the input arrayfire]is the length of output signals along third dimension - used to either truncate/pad the input arrayfire<is a complex array containing the non redundant parts of in. arrayfireJis a complex array containing only the non redundant parts of the signals. arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfire=is a flag signifying if the output should be even or odd size arrayfire7is a real array containing the output of the transform. arrayfireJis a complex array containing only the non redundant parts of the signals. arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfire=is a flag signifying if the output should be even or odd size arrayfire7is a real array containing the output of the transform. arrayfireJis a complex array containing only the non redundant parts of the signals. arrayfire^is the normalization factor with which the input is scaled after the transformation is applied arrayfire=is a flag signifying if the output should be even or odd size arrayfire7is a real array containing the output of the transform. arrayfirethe input signal arrayfire>the signal that shall be flipped for the convolution operation arrayfireVindicates if the convolution should be expanded or not(where output size equals input) arrayfireOspecifies 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 arrayfireVindicates if the convolution should be expanded or not(where output size equals input) arrayfireOspecifies 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 arrayfireVindicates if the convolution should be expanded or not(where output size equals input) arrayfireOspecifies 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 arrayfireVindicates if the convolution should be expanded or not(where output size equals input) arrayfireconvolved array arrayfireis the input signal arrayfireVindicates if the convolution should be expanded or not(where output size equals input) arrayfireis convolved array arrayfireis the input signal arrayfireVindicates 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 <djohnson.m@gmail.com> ExperimentalGHCNone"#%-.=?HUVXk& 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] DArrayFire Array [2 2 1 1] 0.9428 -0.9523 -1.0564 -0.4199  arrayfireGenerate random uniform randu @Double [2,2] DArrayFire Array [2 2 1 1] 0.6010 0.0278 0.9806 0.2126  arrayfireGenerate random uniform 6randonUniform @Double [2,2] =<< getDefaultRandomEngine DArrayFire Array [2 2 1 1] 0.0655 0.5497 0.2864 0.3410  arrayfireGenerate random uniform 5randonNormal @Double [2,2] =<< getDefaultRandomEngine DArrayFire Array [2 2 1 1] -1.1850 -0.2946 -0.7206 -0.6813  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 argumentA 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 <djohnson.m@gmail.com> ExperimentalGHCNone%^ arrayfireSingular Value Decomposition >http://arrayfire.org/docs/group__lapack__factor__func__svd.htmArrayFire DocsHThe 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 DocsHThe 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 Chttp://arrayfire.org/docs/group__lapack__factor__func__cholesky.htmArrayFire DocsSThis function decomposes a positive definite matrix A into two triangular matrices.  arrayfirePerform Cholesky Decomposition Chttp://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. Ahttp://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.  arrayfirePseudo-inverseNot implemented in 3.6.4 @http://arrayfire.org/docs/group__lapack__factor__func__p_inv.htmArrayFire Docsfpinverse :: AFType a => Array a -> Double -> MatProp -> Array a pinverse a d m = a .* (x y -> af_pinverse x y d (toMatProp m))!Find the rank of the input matrix ?http://arrayfire.org/docs/group__lapack__factor__func__rank.htmArrayFire DocsZThis 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. <http://arrayfire.org/docs/group__lapack__ops__func__norm.htmArrayFire DocsSThis function can return the norm using various metrics based on the type paramter. arrayfireIs LAPACK available Dhttp://arrayfire.org/docs/group__lapack__helper__func__available.htmArrayFire Docs arrayfirethe input Matrix arrayfireOutput . containing (U, diagonal values of sigma, V^H) arrayfirethe input matrix arrayfireOutput . containing (U, diagonal values of sigma, V^H) arrayfireis the input matrix arrayfireReturns the output s (lower, upper, pivot) arrayfireAcontains the input on entry, the packed LU decomposition on exit. arrayfireFspecifies if the pivot is returned in original LAPACK compliant format arrayfireJwill contain the permutation indices to map the input to the decomposition arrayfirethe input matrix arrayfireReturns (q, r, tau) s q1 is the orthogonal matrix from QR decomposition r7 is the upper triangular matrix from QR decomposition tauV will contain additional information needed for solving a least squares problem using q and r arrayfireIis the input matrix on entry. It contains packed QR decomposition on exit arrayfireAwill contain additional information needed for unpacking the data arrayfireinput  arrayfire9a boolean determining if out is upper or lower triangular arrayfire)contains the triangular matrix. Multiply B with its conjugate transpose reproduces the input array. is 0 if cholesky decomposition passes, if not it returns the rank at which the decomposition failed.  arrayfireHis the input matrix on entry. It contains the triangular matrix on exit. arrayfire8a boolean determining if in is upper or lower triangular arrayfiredis 0 if cholesky decomposition passes, if not it returns the rank at which the decomposition failed.  arrayfireis the coefficient matrix arrayfireis the measured values arrayfire*determining various properties of matrix a arrayfire"is the matrix of unknown variables  arrayfireKis the output matrix from packed LU decomposition of the coefficient matrix arrayfireIis the pivot array from packed LU decomposition of the coefficient matrix arrayfire is the matrix of measured values arrayfire*determining various properties of matrix a arrayfire,will contain the matrix of unknown variables  arrayfireis input matrix arrayfire+determining various properties of matrix in arrayfire%will contain the inverse of matrix in  arrayfireis input matrix arrayfireis the tolerance value arrayfirewill contain the rank of in arrayfireis input matrix arrayfireAwill contain the real and imaginary part of the determinant of in arrayfireis the input matrix arrayfirespecifies the 2 arrayfirespecifies the value of P when type is one of AF_NORM_VECTOR_P, AF_NORM_MATRIX_L_PQ is used. It is ignored for other values of type arrayfiremspecifies the value of Q when type is AF_NORM_MATRIX_L_PQ. This parameter is ignored if type is anything else arrayfirewill contain the norm of in arrayfireReturns if LAPACK is available          David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone 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 <djohnson.m@gmail.com> ExperimentalGHCNone%; 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 DocsPdrawImage window ('constant' \@'Int' 1) ('Cell' 10 10 "test" 'ColorMapSpectrum') arrayfireDraw a plot onto a  4http://arrayfire.org/docs/group__gfx__func__draw.htmArrayFire DocsfdrawPlot 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 DocsBNote* 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  Whttp://arrayfire.org/docs/group__gfx__func__draw.htm#ga764410fbdf0cd60c7044c77e36fb2577ArrayFire Docs Note* X and Y should be vectors. arrayfireDraw a scatter plot onto a  Whttp://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  Whttp://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  Whttp://arrayfire.org/docs/group__gfx__func__draw.htm#ga2b3d0dd690ebcba4c4dbb09cdcaed304ArrayFire Docs#Note* X, Y and Z should be vectors." arrayfireDraw a Histogram onto a  Whttp://arrayfire.org/docs/group__gfx__func__draw.htm#gaf1648ee35739c86116bfa9c22644dbd7ArrayFire DocsNote* X should be a vector.# arrayfireDraw a Surface onto a  Whttp://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  Whttp://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  Whttp://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  Whttp://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  Yhttp://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. Yhttp://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. Yhttp://arrayfire.org/docs/group__gfx__func__window.htm#gadadc41caf7d6a9b7ca2e674079971895ArrayFire Docs* arrayfire&Setting axes limits for a 3D histogramplotsurface/vector field. Yhttp://arrayfire.org/docs/group__gfx__func__window.htm#gadcd1bd46b9d6fabc047365ca5dc3f73dArrayFire Docs+ arrayfireSetting axes titles Yhttp://arrayfire.org/docs/group__gfx__func__window.htm#gadcd1bd46b9d6fabc047365ca5dc3f73dArrayFire Docs, arrayfire Displays  Yhttp://arrayfire.org/docs/group__gfx__func__window.htm#ga50dae861324dca1cce9f583256f5a654ArrayFire Docs- arrayfire Checks if  is closed Yhttp://arrayfire.org/docs/group__gfx__func__window.htm#ga50dae861324dca1cce9f583256f5a654ArrayFire Docs. arrayfireSets  visibility Yhttp://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 lA 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 lA 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 arrayfireUis 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 lA 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 lA 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 lA 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 lA 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 arrayfireLis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireUis 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 arrayfireLis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireUis 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 arrayfireLis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireUis 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  arrayfireLis an af_marker_type enum specifying which marker to use in the scatter plot arrayfireUis structure af_cell that has the properties that are used for the current rendering." arrayfireis the window handle arrayfireis the data frequency af_array arrayfire_is the value of the minimum data point of the array whose histogram(X) is going to be rendered. arrayfire_is the value of the maximum data point of the array whose histogram(X) is going to be rendered. arrayfire is structure lA 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 arrayfireUis 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 lA 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 lA 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 lA 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. arrayfireUis 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 lA 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 lA that has the properties that are used for the current rendering., arrayfire handle. arrayfire handle arrayfireSet to C to display  !"#$%&'()*+,-. !"#$%&'()*+,-.David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%Q/ arrayfireConstruct Features-features = createFeatures (createFeatures 10)0 arrayfireRetain Features-features = retainFeatures (createFeatures 10)1 arrayfireGet number of Featureslink"getFeaturesNum (createFeatures 10)102 arrayfireGet Feature X-position#getFeaturesXPos (createFeatures 10)ArrayFire Array [10 1 1 1]l 0.0000 0.0000 0.0000 0.0000 0.0000 2.1250 0.0000 2.2500 0.0000 0.00003 arrayfireGet Feature Y-position#getFeaturesYPos (createFeatures 10)ArrayFire Array [10 1 1 1]l 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00004 arrayfireGet Feature Score$getFeaturesScore (createFeatures 10)ArrayFire Array [10 1 1 1]l 0.0000 1.8750 0.0000 2.0000 0.0000 2.1250 0.0000 2.2500 nan nan5 arrayfireGet Feature orientation*getFeaturesOrientation (createFeatures 10)ArrayFire Array [10 1 1 1]l 0.0000 1.8750 0.0000 2.0000 0.0000 2.1250 0.0000 2.2500 0.0000 0.00006 arrayfireGet Feature size#getFeaturesSize (createFeatures 10)ArrayFire Array [10 1 1 1]l nan nan nan nan nan nan nan nan nan nan/0123456/0123456 David Johnson (c) 2019-2020BSD3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%]7 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 8 arrayfireCalls af_init C function from ArrayFire APIafInit()9 arrayfire*Retrieves ArrayFire device information as D , same as 7. 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 B setDevice 0()< arrayfireRetrieves device identifier getDevice0789:;<789:;< David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNonef= 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)OpenCLA arrayfireRetrieve active getActiveBackendOpenCLB arrayfireRetrieve Device ID that  was created from!getDeviceID (scalar \@Double 2.0)1= arrayfire to use for  construction=>?@AB=>?@AB David Johnson (c) 2019-2020BSD3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%;C arrayfire=The following applies for Sparse-Dense matrix multiplication.zThis 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.BoptLhs an only be one of AF_MAT_NONE, AF_MAT_TRANS, AF_MAT_CTRANS.optRhs can only be AF_MAT_NONE.Zmatmul (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 10.0000 15.0000 22.0000D arrayfireNScalar dot product between two vectors. Also referred to as the inner product.Adot (vector @Double 10 [1..]) (vector @Double 10 [1..]) None NoneArrayFire Array [1 1 1 1] 385.0000E arrayfiresScalar dot product between two vectors. Also referred to as the inner product. Returns the result as a host scalar.DdotAll (vector @Double 10 [1..]) (vector @Double 10 [1..]) None None 385.0 :+ 0.0F arrayfireTransposes a matrix.&matrix @Double (2,3) [[2,3,4],[4,5,6]]ArrayFire Array [2 3 1 1] 2.0000 3.0000 4.0000 4.0000 5.0000 6.00007transpose (matrix @Double (2,3) [[2,3,4],[4,5,6]]) TrueArrayFire Array [3 2 1 1] 2.0000 4.0000 5.0000 3.0000 4.0000 6.0000G arrayfireTransposes a matrix.kWarning: This function mutates an array in-place, all subsequent references will be changed. Use carefully.,array = matrix @Double (2,2) [[1..2],[3..4]]transposeInPlace array False()C 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 CD arrayfireLeft-hand side input arrayfireRight-hand side input arrayfireUOptions for left-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfireVOptions for right-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfire Output of DE arrayfireLeft-hand side array arrayfireRight-hand side array arrayfireUOptions for left-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfireVOptions for right-hand side. Currently only AF_MAT_NONE and AF_MAT_CONJ are supported. arrayfire#Real and imaginary component resultF arrayfireInput matrix to be transposed arrayfire&Should perform conjugate transposition arrayfireThe transposed matrixG arrayfireInput matrix to be transposed arrayfire&Should perform conjugate transpositionCDEFGCDEFG David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%>Xk_H arrayfire Adds two  objects'A.scalar @Int 1 `A.add` A.scalar @Int 1ArrayFire Array [1 1 1 1] 2I arrayfire Adds two  objects5(A.scalar @Int 1 `A.addBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 2J arrayfireSubtracts two  objects'A.scalar @Int 1 `A.sub` A.scalar @Int 1ArrayFire Array [1 1 1 1] 0K arrayfireSubtracts two  objects3(A.scalar @Int 1 `subBatched` A.scalar @Int 1) TrueArrayFire Array [1 1 1 1] 0L arrayfire Multiply two  objects%A.scalar @Int 2 `mul` A.scalar @Int 2ArrayFire Array [1 1 1 1] 4M arrayfire Multiply two  objects3(A.scalar @Int 2 `mulBatched` A.scalar @Int 2) TrueArrayFire Array [1 1 1 1] 4N arrayfire Divide two  objects'A.scalar @Int 6 `A.div` A.scalar @Int 3ArrayFire Array [1 1 1 1] 2O arrayfire Divide two  objects5(A.scalar @Int 6 `A.divBatched` A.scalar @Int 3) TrueArrayFire Array [1 1 1 1] 2P arrayfire Test if on  is less than another &A.scalar @Int 1 `A.lt` A.scalar @Int 1ArrayFire Array [1 1 1 1] 0!A.scalar @Int 1 < A.scalar @Int 1FalseQ 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!A.scalar @Int 1 < A.scalar @Int 1FalseR arrayfire Test if an  is greater than another &A.scalar @Int 1 `A.gt` A.scalar @Int 1ArrayFire Array [1 1 1 1] 0!A.scalar @Int 1 > A.scalar @Int 2FalseS arrayfire Test if an  is greater than another 2(A.scalar @Int 1 `gtBatched` A.scalar @Int 1) TrueFalseT 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"A.scalar @Int 1 <= A.scalar @Int 1FalseU 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"A.scalar @Int 1 <= A.scalar @Int 1TrueV 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"A.scalar @Int 1 >= A.scalar @Int 1TrueW arrayfire Test if one % is greater than or equal to another 4(A.scalar @Int 1 `A.geBatched` A.scalar @Int 1) TrueX arrayfire Test if one  is equal to another &A.scalar @Int 1 `A.eq` A.scalar @Int 1ArrayFire Array [1 1 1 1] 1"A.scalar @Int 1 == A.scalar @Int 1TrueY arrayfire Test if one  is equal to another 4(A.scalar @Int 1 `A.eqBatched` A.scalar @Int 1) TrueZ 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"A.scalar @Int 1 /= A.scalar @Int 1False[ arrayfire Test if one  is not equal to another 5(A.scalar @Int 1 `A.neqBatched` A.scalar @Int 1) TrueFalse\ 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] 0a arrayfireBitwise and the values in one  against another ,A.bitAnd (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 1b arrayfireBitwise and the values in one  against another c arrayfireBitwise or the values in one  against another +A.bitOr (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 1d arrayfireBitwise or the values in one  against another 8A.bitOrBatched (A.scalar @Int 1) (A.scalar @Int 1) FalseArrayFire Array [1 1 1 1] 1e arrayfireBitwise xor the values in one  against another ,A.bitXor (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 0f arrayfireBitwise xor the values in one  against another 9A.bitXorBatched (A.scalar @Int 1) (A.scalar @Int 1) FalseArrayFire Array [1 1 1 1] 0g 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] 2h arrayfire!Left bit shift the values in one  against another <A.bitShiftLBatched (A.scalar @Int 1) (A.scalar @Int 1) FalseArrayFire Array [1 1 1 1] 2i arrayfire"Right bit shift the values in one  against another /A.bitShiftR (A.scalar @Int 1) (A.scalar @Int 1)ArrayFire Array [1 1 1 1] 0j arrayfire"Right bit shift the values in one  against another <A.bitShiftRBatched (A.scalar @Int 1) (A.scalar @Int 1) FalseArrayFire Array [1 1 1 1] 0k arrayfire Cast one  into another(A.cast (A.scalar @Int 1) :: Array DoubleArrayFire Array [1 1 1 1] 1.0000l arrayfireFind the minimum of two s+A.minOf (A.scalar @Int 1) (A.scalar @Int 0)ArrayFire Array [1 1 1 1] 0m arrayfireFind the minimum of two s8A.minOfBatched (A.scalar @Int 1) (A.scalar @Int 0) FalseArrayFire Array [1 1 1 1] 0n arrayfireFind the maximum of two s+A.maxOf (A.scalar @Int 1) (A.scalar @Int 0)ArrayFire Array [1 1 1 1] 1o arrayfireFind the maximum of two s8A.maxOfBatched (A.scalar @Int 1) (A.scalar @Int 0) FalseArrayFire Array [1 1 1 1] 1p arrayfireShould take the clamp;clamp (A.scalar @Int 2) (A.scalar @Int 1) (A.scalar @Int 3)ArrayFire Array [1 1 1 1] 2q arrayfireShould take the clampI(clampBatched (A.scalar @Int 2) (A.scalar @Int 1) (A.scalar @Int 3)) TrueArrayFire Array [1 1 1 1] 2r arrayfireFind the remainder of two s7A.rem (A.vector @Int 10 [1..]) (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0 0 0 0 0 0 0 0 0 0s arrayfireFind the remainder of two sBA.remBatched (A.vector @Int 10 [1..]) (vector @Int 10 [1..]) Truet arrayfire Take the t of two s7A.mod (A.vector @Int 10 [1..]) (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0 0 0 0 0 0 0 0 0 0u arrayfire Take the t of two s?A.modBatched (vector @Int 10 [1..]) (vector @Int 10 [1..]) TrueArrayFire Array [10 1 1 1]l 0 0 0 0 0 0 0 0 0 0v arrayfire#Take the absolute value of an arrayA.abs (A.scalar @Int (-1))ArrayFire Array [1 1 1 1] 1.0000w arrayfireFind the arg of an arrayA.arg (vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0 0 0 0 0 0 0 0 0 0x arrayfireFind the sign of two sA.sign (vector @Int 10 [1..])ArrayFire Array [10 1 1 1]k 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000y arrayfireRound the values in an  A.round (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000z arrayfireTruncate the values of an  A.trunc (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000{ arrayfire#Take the floor of all values in an #A.floor (A.vector @Int 10 [10,9..])ArrayFire Array [10 1 1 1]l 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000| arrayfire"Take the ceil of all values in an A.ceil (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000} arrayfire!Take the sin of all values in an A.sin (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 0.9894 0.4121 -0.5440~ arrayfire!Take the cos of all values in an A.cos (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0.5403 -0.4161 -0.9900 -0.6536 0.2837 0.9602 0.7539 -0.1455 -0.9111 -0.8391 arrayfire!Take the tan of all values in an A.tan (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 1.5574 -2.1850 -0.1425 1.1578 -3.3805 -0.2910 0.8714 -6.7997 -0.4523 0.6484 arrayfire"Take the asin of all values in an A.asin (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 1.5708 nan nan nan nan nan nan nan nan nan arrayfire"Take the acos of all values in an A.acos (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0.0000 nan nan nan nan nan nan nan nan nan arrayfire"Take the atan of all values in an A.atan (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0.7854 1.1071 1.2490 1.3258 1.3734 1.4056 1.4289 1.4464 1.4601 1.4711 arrayfire#Take the atan2 of all values in an 9A.atan2 (A.vector @Int 10 [1..]) (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 arrayfire#Take the atan2 of all values in an EA.atan2Batched (A.vector @Int 10 [1..]) (A.vector @Int 10 [1..]) TrueArrayFire Array [10 1 1 1]l 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 0.7854 arrayfire#Take the cplx2 of all values in an 9A.cplx2 (A.vector @Int 10 [1..]) (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1] (1.0000,1.0000) (2.0000,2.0000) (3.0000,3.0000) (4.0000,4.0000) (5.0000,5.0000) (6.0000,6.0000) (7.0000,7.0000) (8.0000,8.0000) (9.0000,9.0000) (10.0000,10.0000) arrayfire*Take the cplx2Batched of all values in an FA.cplx2Batched (A..vector @Int 10 [1..]) (A.vector @Int 10 [1..]) TrueArrayFire Array [10 1 1 1] (1.0000,1.0000) (2.0000,2.0000) (3.0000,3.0000) (4.0000,4.0000) (5.0000,5.0000) (6.0000,6.0000) (7.0000,7.0000) (8.0000,8.0000) (9.0000,9.0000) (10.0000,10.0000) arrayfire Execute cplxA.cplx (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1] (1.0000,0.0000) (2.0000,0.0000) (3.0000,0.0000) (4.0000,0.0000) (5.0000,0.0000) (6.0000,0.0000) (7.0000,0.0000) (8.0000,0.0000) (9.0000,0.0000) (10.0000,0.0000) arrayfire Execute real>A.real (A.scalar @(Complex Double) (10 :+ 11)) :: Array DoubleArrayFire Array [10 1 1 1] 10.0000 arrayfire Execute imag>A.imag (A.scalar @(Complex Double) (10 :+ 11)) :: Array DoubleArrayFire Array [10 1 1 1] 11.0000 arrayfire Execute conjg#A.conjg (A.vector @Double 10 [1..])ArrayFire Array [10 1 1 1]l 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]l 1.1752 3.6269 10.0179 27.2899 74.2032 201.7132 548.3161 1490.4788 4051.5419 11013.2329 arrayfire Execute cosh"A.cosh (A.vector @Double 10 [1..])ArrayFire Array [10 1 1 1]l 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]l 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]m 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]m 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]n 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]l 1.0000 1.4142 1.4422 1.4142 1.3797 1.3480 1.3205 1.2968 1.2765 1.2589 arrayfireExecute rootBatchedFA.rootBatched (vector @Double 10 [1..]) (vector @Double 10 [1..]) TrueArrayFire Array [10 1 1 1]l 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..]) 2ArrayFire Array [10 1 1 1]l 1 4 9 16 25 36 49 64 81 100 arrayfireExecute powBatchedBA.powBatched (A.vector @Int 10 [1..]) (A.constant @Int [1] 2) TrueArrayFire Array [10 1 1 1]l 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]l 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]m 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]l 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]l 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]l 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]l 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]l 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]l 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]l 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]l 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]l 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]l 1.0000 1.2599 1.4422 1.5874 1.7100 1.8171 1.9129 2.0000 2.0801 2.1544 arrayfireExecute factorial1%A.factorial1 (A.vector @Int 10 [1..]) arrayfireExecute tgamma'tgamma' (vector @Int 10 [1..]) arrayfireExecute lgamma!A.lgamma (A.vector @Int 10 [1..])ArrayFire Array [10 1 1 1]l 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]l 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]l 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]l 0 1 1 1 1 1 1 1 1 1_H arrayfire First input arrayfire Second input arrayfire Result of addI arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of addJ arrayfire First input arrayfire Second input arrayfire Result of subK arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of subL arrayfire First input arrayfire Second input arrayfire Result of mulM arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of mulN arrayfire First input arrayfire Second input arrayfire Result of divO arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of divP arrayfire First input arrayfire Second input arrayfireResult of less thanQ arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of less thanR arrayfire First input arrayfire Second input arrayfire Result of gtS arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of gtT arrayfire First input arrayfire Second input arrayfireResult of less than or equalU arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of less than or equalV arrayfire First input arrayfire Second input arrayfireResult of greater than or equalW arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of greater than or equalX arrayfire First input arrayfire Second input arrayfireResult of equalY arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of equalZ 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 a arrayfire First input arrayfire Second input arrayfireResult of bitwise andb arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bitwise andc arrayfire First input arrayfire Second input arrayfireResult of bit ord arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit ore arrayfire First input arrayfire Second input arrayfireResult of bit xorf arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit xorg arrayfire First input arrayfire Second input arrayfireResult of bit shift lefth arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit shift lefti arrayfire First input arrayfire Second input arrayfireResult of bit shift rightj arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of bit shift leftk arrayfireInput array to cast arrayfireResult of castl arrayfire First input arrayfire Second input arrayfireResult of minimum ofm arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of minimum ofn arrayfire First input arrayfire Second input arrayfireResult of maximum ofo arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of maximum ofp arrayfireinput arrayfire lower bound arrayfire upper bound arrayfireResult of clampq arrayfire First input arrayfire Second input arrayfire Third input arrayfire Use batch arrayfireResult of clampr arrayfire First input arrayfire Second input arrayfireResult of remainders arrayfire First input arrayfire Second input arrayfire Use batch arrayfireResult of remaindert arrayfire First input arrayfire Second input arrayfire Result of modu arrayfire First input arrayfire Second input arrayfire Use batch arrayfire Result of modv arrayfire Input array arrayfireResult of calling vw arrayfire Input array arrayfireResult of calling wx arrayfire Input array arrayfireResult of calling xy arrayfire Input array arrayfireResult of calling yz arrayfire Input array arrayfireResult of calling z{ 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._HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~_HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%Xk8( 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"  arrayfireGReturns true if ArrayFire was compiled with ImageIO (FreeImage) support !>>> print =<< isImageIOAvailable  arrayfireResize an input image. <http://arrayfire.org/docs/group__transform__func__resize.htmArrayFire DocsResizing an input image can be done using either AF_INTERP_NEAREST, AF_INTERP_BILINEAR or AF_INTERP_LOWER, interpolations. Nearest interpolation will pick the nearest value to the location, bilinear interpolation will do a weighted interpolation for calculate the new size and lower interpolation is similar to the nearest, except it will use the floor function to get the lower neighbor. arrayfireTransform an input image. ?http://arrayfire.org/docs/group__transform__func__transform.htmArrayFire DocspThe transform function uses an affine or perspective transform matrix to tranform an input image into a new one. arrayfireTransform input coordinates. Ahttp://arrayfire.org/docs/group__transform__func__coordinates.htmArrayFire DocsQC Interface for transforming an image C++ Interface for transforming coordinates. arrayfireRotate an input image. <http://arrayfire.org/docs/group__transform__func__rotate.htmArrayFire DocsRotating an input image can be done using AF_INTERP_NEAREST, AF_INTERP_BILINEAR or AF_INTERP_LOWER interpolations. Nearest interpolation will pick the nearest value to the location, whereas bilinear interpolation will do a weighted interpolation for calculate the new size. arrayfireTranslate an input image. ?http://arrayfire.org/docs/group__transform__func__translate.htmArrayFire DocsTranslating an image is moving it along 1st and 2nd dimensions by trans0 and trans1. Positive values of these will move the data towards negative x and negative y whereas negative values of these will move the positive right and positive down. See the example below for more. arrayfireScale an input image. ;http://arrayfire.org/docs/group__transform__func__scale.htmArrayFire DocsScale is the same functionality as af::resize except that the scale function uses the transform kernels. The other difference is that scale does not set boundary values to be the boundary of the input array. Instead these are set to 0. arrayfireSkew an input image. :http://arrayfire.org/docs/group__transform__func__skew.htmArrayFire DocsQSkew function skews the input array along dim0 by skew0 and along dim1 by skew1. The skew areguments are in radians. Skewing the data means the data remains parallel along 1 dimensions but the other dimensions gets moved along based on the angle. If both skew0 and skew1 are specified, then the data will be skewed along both directions. arrayfireHistogram of input data. ;http://arrayfire.org/docs/group__image__func__histogram.htmArrayFire Docs`A histogram is a representation of the distribution of given data. This representation is essentially a graph consisting of the data range or domain on one axis and frequency of occurence on the other axis. All the data in the domain is counted in the appropriate bin. The total number of elements belonging to each bin is known as the bin's frequency. arrayfire,Dilation(morphological operator) for images. 8http://arrayfire.org/docs/group__image__func__dilate.htmArrayFire DocsThe dilation function takes two pieces of data as inputs. The first is the input image to be morphed, and the second is the mask indicating the neighborhood around each pixel to match.@Note* if mask is all ones, this function behaves like max filter arrayfire.Dilation (morphological operator) for volumes. :http://arrayfire.org/docs/group__image__func__dilate3d.htmArrayFire DocsDilation for a volume is similar to the way dilation works on an image. Only difference is that the masking operation is performed on a volume instead of a rectangular region. arrayfire-Erosion (morphological operator) for volumes. 7http://arrayfire.org/docs/group__image__func__erode.htmArrayFire DocsThe erosion function is a morphological transformation on an image that requires two inputs. The first is the image to be morphed, and the second is the mask indicating neighborhood that must be white in order to preserve each pixel.@Note* if mask is all ones, this function behaves like min filter arrayfire-Erosion (morphological operator) for volumes. 9http://arrayfire.org/docs/group__image__func__erode3d.htmArrayFire DocsErosion for a volume is similar to the way erosion works on an image. Only difference is that the masking operation is performed on a volume instead of a rectangular region. arrayfireBilateral Filter. ;http://arrayfire.org/docs/group__image__func__bilateral.htmArrayFire DocsA bilateral filter is a edge-preserving filter that reduces noise in an image. The intensity of each pixel is replaced by a weighted average of the intensities of nearby pixels. The weights follow a Gaussian distribution and depend on the distance as well as the color distance. arrayfireMeanshift Filter. =http://arrayfire.org/docs/group__image__func__mean__shift.htmArrayFire DocsrA meanshift filter is an edge-preserving smoothing filter commonly used in object tracking and image segmentation. arrayfire!Find minimum value from a window. 9http://arrayfire.org/docs/group__image__func__minfilt.htmArrayFire DocsVminfilt finds the smallest value from a 2D window and assigns it to the current pixel. arrayfire"Find maximum value from a window.  9http://arrayfire.org/docs/group__image__func__maxfilt.htmArrayFire DocsO finds the smallest value from a 2D window and assigns it to the current pixel. arrayfireFind blobs in given image. 9http://arrayfire.org/docs/group__image__func__regions.htmArrayFire DocsGiven a binary image (with zero representing background pixels), regions computes a floating point image where each connected component is labeled from 1 to N, the total number of components in the image. ** FIX ME** arrayfireSobel Operators. 7http://arrayfire.org/docs/group__image__func__sobel.htmArrayFire DocsSobel operators perform a 2-D spatial gradient measurement on an image to emphasize the regions of high spatial frequency, namely edges>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 DocsjHistogram 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. <http://arrayfire.org/docs/group__image__func__colorspace.htmArrayFire Docs/C Interface wrapper for color space conversion. arrayfire?Rearrange windowed sections of an array into columns (or rows). 8http://arrayfire.org/docs/group__image__func__unwrap.htmArrayFire DocsPC Interface for rearranging windowed sections of an input into columns (or rows) arrayfire Performs the opposite of unwrap. 6http://arrayfire.org/docs/group__image__func__wrap.htmArrayFire Docs arrayfireSummed Area Tables. 5http://arrayfire.org/docs/group__image__func__sat.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!YCbCr to RGB colorspace converter ;http://arrayfire.org/docs/group__image__func__ycbcr2rgb.htmArrayFire DocsYCbCr is a family of color spaces used as a part of the color image pipeline in video and digital photography systems where Y is luma component and Cb & Cr are the blue-difference and red-difference chroma components. arrayfire"RGB to YCbCr colorspace converter. ;http://arrayfire.org/docs/group__image__func__rgb2ycbcr.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.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. 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. Hhttp://arrayfire.org/docs/group__image__func__anisotropic__diffusion.htmArrayFire Docs&C Interface for anisotropic diffusion." arrayfire File path arrayfireYIs 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) arrayfireFif 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 arrayfirefif 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 arrayfireFif 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 arrayfire@is 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 arrayfire@is 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 arrayfire 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 arrayfireFis percentage of red channel value contributing to grayscale intensity arrayfireHis percentage of green channel value contributing to grayscale intensity arrayfireGis 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 arrayfire<is percentage of intensity value contributing to red channel arrayfire>is 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 arrayfireGis the input array, non-normalized input (!! assumes values [0-255] !!) arrayfireCtarget histogram to approximate in output (based on number of bins) arrayfireIis 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 arrayfireXdetermines whether an output patch is formed from a column (if true) or a row (if false) arrayfireAan 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  arrayfireXdetermines whether an output patch is formed from a column (if true) or a row (if false)  arrayfireBis 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 arrayfireospecifies 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. arrayfireFis 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 arrayfireQis the window size of sobel kernel for computing gradient direction and magnitude arrayfirenindicates 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 arrayfireFis the input image, expects non-integral (float/double) typed af_array arrayfire8is the time step used in solving the diffusion equation. arrayfireHparameter controls the sensitivity of conductance in diffusion equation. arrayfire7is the number of times the diffusion step is performed. arrayfireNindicates whether quadratic or exponential flux function is used by algorithm. arrayfireBwill 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 <djohnson.m@gmail.com> ExperimentalGHCNone"#%.=>?HVXk> 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]l 0.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 arrayfire|Create 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]5 0.0000 1.0000 2.0000 3.0000 4.00005 5.0000 6.0000 7.0000 8.0000 9.00005 10.0000 11.0000 12.0000 13.0000 14.0000iota @Double [5,3] [1,2]ArrayFire Array [5 6 1 1]3 0.0000 1.0000 2.0000 3.0000 4.00003 5.0000 6.0000 7.0000 8.0000 9.0000310.0000 11.0000 12.0000 13.0000 14.00003 0.0000 1.0000 2.0000 3.0000 4.00003 5.0000 6.0000 7.0000 8.0000 9.0000310.0000 11.0000 12.0000 13.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 arrayfireFCreate 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 arrayfireFCreate 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 dimensionPjoin 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 2.0000 5.0000 6.0000* 3.0000 4.0000 7.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 arrayfireLShift 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]R 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 2.0000 3.0000 3.0000-A.flip (matrix @Double (2,2) [[2,2],[3,3]]) 1ArrayFire Array [2 2 1 1] 3.0000 3.0000 2.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 10.0000 0.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 0.0000 10.0000 1.0000 arrayfireSSelects 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]5 1.0000 2.0000 1.0000 2.0000 1.0000 arrayfireSSelects elements from two arrays based on the values of a binary conditional array. Zhttp://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 x arr1ArrayFire Array [5 1 1 1]5 1.0000 99.0000 1.0000 99.0000 1.0000 arrayfireSSelects elements from two arrays based on the values of a binary conditional array. Zhttp://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]5 99.0000 1.0000 99.0000 1.0000 99.0000 arrayfire Dimensions arrayfire Scalar value arrayfire.is the array containing sizes of the dimension arrayfireDis 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 arrayfireAboolean parameter specifying if the diagonal elements should be 1 arrayfireis the conditional array arrayfireDis the array containing elements from the true part of the condition arrayfireEis the array containing elements from the false part of the condition arrayfireMis the output containing elements of a when cond is true else elements from b arrayfireis the conditional array arrayfireDis the array containing elements from the true part of the condition arrayfire.is a scalar assigned to out when cond is false arrayfireJthe 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 arrayfireBthe array containing elements from the false part of the condition arrayfireMis the output containing elements of a when cond is true else elements from bDavid Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%Xk#  arrayfire"Retrieve version for ArrayFire API >>> E F  (3.6.4)  arrayfirePrints array to stdout >>>  (constant @G [1] 1) (ArrayFire Array [ 1 1 1 1 ] 1.0  arrayfireGets git revision of ArrayFire >>> H F   1b8030c5  arrayfirePrints  with error codes $>>> printArrayGen "test" (constant @G [1] 1) 2 )ArrayFire Array [ 1 1 1 1 ] 1.00  arrayfireSaves  to disk%Save an array to a binary file. The o 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 @G [1] 1) "array.file" C 0  arrayfireReads Array by indexThe o 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. Zhttp://arrayfire.org/docs/group__stream__func__read.htm#ga31522b71beee2b1c06d49b5aa65a5c6f +>>> readArrayCheck "array.file" "my array" 0  arrayfireConvert ArrayFire  to D , used for I instance. >>> H J  (constant @G 10 [1,1,1,1])  ArrayFire  [ 1 1 1 1 ] 10.0000  arrayfire!Convert ArrayFire Array to String >>> print (constant @G 10 [1,1,1,1]) 4 K  ArrayFire  [ 1 1 1 1 ] 10.0000  arrayfire$Retrieve size of ArrayFire data type >>>  (L @ G) 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 C/ and create or overwrite an existing file when K 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 arrayfireNis the tag/name of the array to be read. The key needs to have an exact match. arrayfireInput  arrayfireD representation of  arrayfireName of  arrayfire input arrayfire Precision of  values. arrayfireIf C3, performs takes the transpose before rendering to D arrayfire rendered to D arrayfire4Witness of Haskell type that mirrors ArrayFire type. arrayfireSize of ArrayFire type  David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone "#%-.=?HXk  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]l 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]]] oArrayFire 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 Wtensor @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]l 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 G%isDouble (scalar 1.0 :: Array Double)True arrayfire Checks if an  is M$isSingle (scalar 1.0 :: Array Float)True arrayfire Checks if an  is G, M , Complex G , or Complex M+isRealFloating (scalar 1.0 :: Array Double)True arrayfire Checks if an  is G or M'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 N O"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 <djohnson.m@gmail.com> ExperimentalGHCNone%`  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.FmeanWeighted (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.0 arrayfire Calculates  of  along user-specified dimension.?varWeighted ( vector @Int 10 [1..] ) ( vector @Int 10 [1..] ) 0ArrayFire Array [1 1 1 1] 5.5000 arrayfire Calculates  of  along user-specified dimension.*stdev (vector @Double 10 (cycle [1,-1])) 0ArrayFire Array [1 1 1 1] 1.0 arrayfire Calculates  covariance of two s with a bias specifier.Gcov (vector @Double 10 (repeat 1)) (vector @Double 10 (repeat 1)) FalseArrayFire Array [1 1 1 1] 0.0 arrayfire Calculates  of  along user-specified dimension.)print $ median ( vector @Int 10 [1..] ) 0ArrayFire Array [1 1 1 1] 5.5000 arrayfire Calculates   of all elements in an 0fst (meanAll (matrix @Double (2,2) (repeat 10)))10.0 arrayfire/Calculates weighted mean of all elements in an bprint $ fst (meanAllWeighted (matrix @Double (2,2) (repeat 10)) (matrix @Double (2,2) (repeat 0)))10 arrayfire*Calculates variance of all elements in an 2fst (varAll (vector @Double 10 (repeat 10)) False)0 arrayfire3Calculates weighted variance of all elements in an @varAllWeighted ( vector @Int 10 [1..] ) ( vector @Int 10 [1..] )0 arrayfire4Calculates standard deviation of all elements in an .fst (stdevAll (vector @Double 10 (repeat 10)))10 arrayfire(Calculates median of all elements in an /fst (medianAll (vector @Double 10 (repeat 10)))10 arrayfireHThis algorithm returns Pearson product-moment correlation coefficient. =https://en.wikipedia.org/wiki/Pearson_correlation_coefficientCfst (corrCoef ( vector @Int 10 [1..] ) ( vector @Int 10 [10,9..] ))-1 arrayfireRThis function returns the top k values along a given dimension of the input array. >>> let (vals,indexes) =  (  @G 10 [1..] ) 3 J >>> print indexes ArrayFire E [3 1 1 1] 10.0000 9.0000 8.0000 >>> print vals ArrayFire & [3 1 1 1] 9 8 7 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  arrayfireFboolean denoting Population variance (false) or Sample Variance (true) arrayfire3The dimension along which the variance is extracted arrayfire@will 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 arrayfire<Contains the variance of the input array along dimension dim arrayfireInput  arrayfire=The dimension along which the standard deviation is extracted arrayfireFContains the standard deviation of the input array along dimension dim arrayfire First input  arrayfire Second input  arrayfireBA boolean specifying if biased estimate should be taken (default: K) arrayfire*Contains will the covariance of the input s arrayfireInput  arrayfire#Dimension along which to calculate  arrayfireArray containing  arrayfireInput  arrayfire%Mean result (real and imaginary part) arrayfireInput  arrayfire of weights arrayfire'Weighted mean (real and imaginary part) arrayfireInput  arrayfireInput  arrayfire"Variance (real and imaginary part) arrayfireInput  arrayfire of weights arrayfire3Variance weighted result, (real and imaginary part) arrayfireInput  arrayfire4Standard deviation result, (real and imaginary part) arrayfireInput  arrayfire&Median result, real and imaginary part arrayfire First input  arrayfire Second input  arrayfire7Correlation coefficient result, real and imaginary part arrayfire First input , with at least k elements along dim arrayfire>The number of elements to be retrieved along the dim dimension arrayfireYIf 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 <djohnson.m@gmail.com> ExperimentalGHCNone%Xk 3" arrayfireSum all of the elements in  along the specified dimension#A.sum (A.vector @Double 10 [1..]) 055.00A.sum (A.matrix @Double (10,10) [[2..],[2..]]) 065.0 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.055 arrayfireProduct all of the elements in  along the specified dimension'A.product (A.vector @Double 10 [1..]) 0 3628800.0 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.0 3628800.0  arrayfireTake the minimum of an  along a specific dimension#A.min (A.vector @Double 10 [1..]) 01.0! arrayfireTake the maximum of an  along a specific dimension#A.max (A.vector @Double 10 [1..]) 010" arrayfireFind if all elements in an  are C along a dimension+A.allTrue (A.vector @CBool 10 (repeat 0)) 0False# arrayfireFind if any elements in an  are C along a dimension+A.anyTrue (A.vector @CBool 10 (repeat 0)) 0False$ arrayfireCount elements in an  along a dimension%A.count (A.vector @Double 10 [1..]) 010% 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)0 arrayfire1Find the minimum element along all dimensions in %A.iminAll (A.vector @Double 10 [1..]) (1.0,0.0,0)1 arrayfire1Find the maximum element along all dimensions in %A.imaxAll (A.vector @Double 10 [1..]) (10.0,0.0,9)2 arrayfireCalculate sum of  across specified dimension%A.accum (A.vector @Double 10 [1..]) 0ArrayFire Array [10 1 1 1]l 1.0000 3.0000 6.0000 10.0000 15.0000 21.0000 28.0000 36.0000 45.0000 55.00003 arrayfireScan elements of an  across a dimension, using a , specifying inclusivity.-A.scan (A.vector @Double 10 [1..]) 0 Add TrueArrayFire Array [10 1 1 1]l 1.0000 3.0000 6.0000 10.0000 15.0000 21.0000 28.0000 36.0000 45.0000 55.00004 arrayfireScan elements of an % across a dimension, by key, using a , specifying inclusivity.GA.scanByKey (A.vector @Int 7 [2..]) (A.vector @Int 10 [1..]) 1 Add TrueArrayFire Array [7 1 1 1]K 2 3 4 5 6 7 85 arrayfire*Find indices where input Array is non zero)A.where' (A.vector @Double 10 (repeat 0))ArrayFire Array [0 1 1 1]<empty>6 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.00007 arrayfire<Second order numerical difference along specified dimension.0A.diff2 (A.vector @Double 5 [1.0,20,55,89,44]) 0ArrayFire Array [3 1 1 1] 16.0000 -1.0000 -79.00008 arrayfirebSort an Array along a specified dimension, specifying ordering of results (ascending / descending).A.sort (A.vector @Double 4 [ 2,4,3,1 ]) 0 TrueArrayFire Array [4 1 1 1]* 1.0000 2.0000 3.0000 4.0000/A.sort (A.vector @Double 4 [ 2,4,3,1 ]) 0 FalseArrayFire Array [4 1 1 1]* 4.0000 3.0000 2.0000 1.00009 arrayfireSort an x along a specified dimension, specifying ordering of results (ascending / descending), returns indices of sorted results1A.sortIndex (A.vector @Double 4 [3,2,1,4]) 0 True(ArrayFire Array [4 1 1 1]+ 1.0000 2.0000 3.0000 4.0000,ArrayFire Array [4 1 1 1]+ 2 1 0 3): arrayfireSort an ] along a specified dimension by keys, specifying ordering of results (ascending / descending)QA.sortByKey (A.vector @Double 4 [2,1,4,3]) (A.vector @Double 4 [10,9,8,7]) 0 True(ArrayFire Array [4 1 1 1]+ 1.0000 2.0000 3.0000 4.0000,ArrayFire Array [4 1 1 1]+ 9.0000 10.0000 7.0000 8.0000); arrayfireFinds the unique values in an %, specifying if sorting should occur./A.setUnique (A.vector @Double 2 [1.0,1.0]) TrueArrayFire Array [1 1 1 1] 1.0000< arrayfireTakes the union of two s, specifying if ; should be called first.IA.setUnion (A.vector @Double 3 [3,4,5]) (A.vector @Double 3 [1,2,3]) TrueArrayFire Array [5 1 1 1]5 1.0000 2.0000 3.0000 4.0000 5.0000= arrayfireTakes the intersection of two s, specifying if ; should be called first.MA.setIntersect (A.vector @Double 3 [3,4,5]) (A.vector @Double 3 [1,2,3]) TrueArrayFire Array [1 1 1 1] 3.0000" arrayfire Array to sum arrayfire$Dimension along which to perform sum arrayfireRWill return the sum of all values in the input array along the specified dimension arrayfire Array to sum arrayfire$Dimension along which to perform sum arrayfire'Default value to use in the case of NaN arrayfirevWill return the sum of all values in the input array along the specified dimension, substituted with the default value arrayfireArray to product arrayfire(Dimension along which to perform product arrayfireVWill return the product of all values in the input array along the specified dimension arrayfireArray to product arrayfire(Dimension along which to perform product arrayfire'Default value to use in the case of NaN arrayfirezWill return the product of all values in the input array along the specified dimension, substituted with the default value  arrayfire Array input arrayfire1Dimension along which to retrieve the min element arrayfireCWill contain the minimum of all values in the input array along dim! arrayfire Array input arrayfire1Dimension along which to retrieve the max element arrayfireCWill contain the maximum of all values in the input array along dim" arrayfire Array input arrayfire5Dimension along which to see if all elements are True arrayfireCWill contain the maximum of all values in the input array along dim# arrayfire Array input arrayfire5Dimension along which to see if all elements are True arrayfire Returns if all elements are true$ arrayfire Array input arrayfireDimension along which to count arrayfire%Count of all elements along dimension% arrayfire Input array arrayfireimaginary and real part& arrayfire Input array arrayfireNaN substitute arrayfireimaginary and real part' arrayfire Input array arrayfireimaginary and real part( arrayfire Input array arrayfireNaN substitute arrayfireimaginary and real part) arrayfire Input array arrayfireimaginary and real part* arrayfire Input array arrayfireimaginary and real part+ arrayfire Input array arrayfireimaginary and real part, arrayfire Input array arrayfireimaginary and real part- arrayfire Input array arrayfireimaginary and real part. arrayfire Input array arrayfire8The dimension along which the minimum value is extracted arrayfireywill contain the minimum of all values along dim, will also contain the location of minimum of all values in in along dim/ arrayfire Input array arrayfire8The dimension along which the minimum value is extracted arrayfirewill contain the maximum of all values in in along dim, will also contain the location of maximum of all values in in along dim0 arrayfire Input array arrayfirewill contain the real part of minimum value of all elements in input in, also will contain the imaginary part of minimum value of all elements in input in, will contain the location of minimum of all values in1 arrayfire Input array arrayfirewill contain the real part of maximum value of all elements in input in, also will contain the imaginary part of maximum value of all elements in input in, will contain the location of maximum of all values in2 arrayfire Input array arrayfire*Dimension along which to calculate the sum arrayfireContains inclusive sum3 arrayfireThe input array arrayfire/The dimension along which the scan is performed arrayfireBinary operation to be used arrayfire#Should the scan be inclusive or not arrayfireThe scan of the input4 arrayfire The key array arrayfireThe input array arrayfire'Dimension along which scan is performed arrayfireType of binary operation used arrayfireIs the scan incluside or not5 arrayfireIs the input array. arrayfire2will contain indices where input array is non-zero6 arrayfire Input array arrayfire7Dimension along which numerical difference is performed arrayfire-Will contain first order numerical difference7 arrayfire Input array arrayfire7Dimension along which numerical difference is performed arrayfire.Will contain second order numerical difference8 arrayfire Input array arrayfireDimension along 8 is performed arrayfire!Return results in ascending order arrayfireWill contain sorted input9 arrayfire Input array arrayfireDimension along 9 is performed arrayfire!Return results in ascending order arrayfire8Contains the sorted, contains indices for original input: arrayfireKeys input array arrayfireValues input array arrayfire.Dimension along which to perform the operation arrayfire!Return results in ascending order; arrayfire input array arrayfire+if true, skips the sorting steps internally arrayfire&Will contain the unique values from in< arrayfireFirst input array arrayfireSecond input array arrayfire(If true, skips calling unique internally= arrayfireFirst input array arrayfireSecond input array arrayfire(If true, skips calling unique internally arrayfire&Intersection of first and second array" !"#$%&'()*+,-./0123456789:;<=" !"#$%&'()*+,-./0123456789:;<=,David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone.=?Xk David Johnson (c) 2019-2020BSD 3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNone%Xkx > arrayfireFAST feature detectors 3http://arrayfire.org/docs/group__cv__func__fast.htmArrayFire DocsKA 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 DocshExtract 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.A arrayfire/SIFT feature detector and descriptor extractor. 3http://arrayfire.org/docs/group__cv__func__sift.htmArrayFire Docs5C Interface for SIFT feature detector and descriptor.B arrayfire/SIFT feature detector and descriptor extractor. 3http://arrayfire.org/docs/group__cv__func__gloh.htmArrayFire Docs5C Interface for SIFT feature detector and descriptor.C 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.D arrayfireNearest Neighbor Ahttp://arrayfire.org/docs/group__cv__func__nearest__neighbour.htmArrayFire DocsFCalculates 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.E arrayfireNearest Neighbor >http://arrayfire.org/docs/group__cv__func__match__template.htmArrayFire Docs(C Interface for image template matching.F 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:G 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.H arrayfireHomography Estimation. 9http://arrayfire.org/docs/group__cv__func__homography.htmArrayFire DocsQHomography estimation find a perspective transform between two sets of 2D points. > arrayfireCArray containing a grayscale image (color images are not supported) arrayfirenFAST threshold for which a pixel of the circle around the central pixel is considered to be greater or smaller arrayfireOLength 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 arrayfirekIs 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? arrayfireCarray containing a grayscale image (color images are not supported) arrayfireSmaximum number of corners to keep, only retains those with highest Harris responses arrayfireSminimum 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) arrayfire|square 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) arrayfirenFAST threshold for which a pixel of the circle around the central pixel is considered to be brighter or darker arrayfirefmaximum number of features to hold (will only keep the max_feat features with higher Harris responses) arrayfirerfactor 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 arrayfirexblur image with a Gaussian filter with sigma=2 before computing descriptors to increase robustness against noise if true arrayfired struct composed of arrays for x and y coordinates, score, orientation and size of selected featuresA  arrayfireCArray 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 arrayfirecthreshold used to filter out features that have low contrast, the original SIFT paper suggests 0.04 arrayfirecthreshold used to filter out features that are too edge-like, the original SIFT paper suggests 10.0 arrayfirehthe sigma value used to filter the input image at the first octave, the original SIFT paper suggests 1.6 arrayfirekif 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 1A256, 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 SIFTB  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 arrayfirecthreshold used to filter out features that have low contrast, the original SIFT paper suggests 0.04 arrayfirecthreshold used to filter out features that are too edge-like, the original SIFT paper suggests 10.0 arrayfirehthe sigma value used to filter the input image at the first octave, the original SIFT paper suggests 1.6 arrayfirekif 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 1A256, 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 SIFTC 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) arrayfireNis 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.D 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) arrayfire[is 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.E 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 arrayfireRwill have disparity values for the window starting at corresponding pixel positionF arrayfire"is input grayscale/intensity image arrayfire*nucleus radius for each pixel neighborhood arrayfireDintensity difference threshold a.k.a t from equations in description arrayfiregeometric threshold arrayfireCis maximum number of features that will be returned by the function arrayfireKindicates how many pixels width area should be skipped for corner detectionG arrayfireis input image arrayfire&is the radius of first gaussian kernel arrayfire'is the radius of second gaussian kernel arrayfire is difference of smoothed inputsH 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. arrayfirezIf 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. arrayfireOis 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. >?@ABCDEFGH >?@ABCDEFGH-David Johnson (c) 2019-2020BSD3$David Johnson <djohnson.m@gmail.com> ExperimentalGHCNoneSBPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~N  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH../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&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                               !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsttuuvvwwxxyyzz{{||}}~~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789 : ; < = > ? @!A!B!C!D!E!F!G!H!I!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#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#$$$$$$$$$$$%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''((((((((((((((((((((((((((((( ) ) ) ) )))))))***********+ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+ABCDECDFGHIGJKGHLCDMGJNGOPGHQCDRGSTCDUGVWXYZG[\G[]G[^G[_CD`GabGacGadGaeGfgGfhGfiGfjGfkGflGfmGfnGfoGfpGqrGqrGqsGqsGqtGqtGquGquGqvGqvGqwGqwGqxGqxGqyGqyGqzGqzGq{Gq{Gq|Gq|Gq}Gq}Gq~Gq~GqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGqGVGVGVGVGVGVGVGVGaGaGaarrayfire-0.4.0.0-inplaceArrayFire.TypesArrayFire.SparseArrayFire.SignalArrayFire.RandomArrayFire.LAPACKArrayFire.IndexArrayFire.GraphicsArrayFire.FeaturesArrayFire.DeviceArrayFire.BackendArrayFire.BLASArrayFire.ArithArrayFire.ImageArrayFire.DataArrayFire.UtilArrayFire.ArrayArrayFire.StatisticsArrayFire.AlgorithmArrayFire.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 selectScalarL getVersion printArray getRevision printArrayGen saveArrayreadArrayIndex readArrayKeyreadArrayKeyCheck arrayString arrayToString getSizeOfscalarvectormatrixcubetensormkArray copyArray retainArraygetDataRefCountsetManualEvalFlaggetManualEvalFlag getElementsgetTypegetDims getNumDimsisEmptyisScalarisRowisColumnisVector isComplexisRealisDoubleisSingleisRealFloating isFloating isIntegerisBoolisSparsetoVectortoList getScalarmean meanWeightedvar varWeightedstdevcovmedianmeanAllmeanAllWeightedvarAllvarAllWeightedstdevAll medianAllcorrCoeftopksumsumNaNproduct productNaNminmaxallTrueanyTruecountsumAll sumNaNAll productAll productNaNAllminAllmaxAll allTrueAll anyTrueAllcountAlliminimaximinAllimaxAllaccumscan scanByKeywhere'diff1diff2sort sortIndex sortByKey setUniquesetUnion setIntersectfastharrisorbsiftglohhammingMatchernearestNeighbor matchTemplatesusandog homographyafErrNotConfigured afErrNoGfxIntLUIntLDimTAFInverseDeconvAlgoAFIterativeDeconvAlgoAFTopkFunction 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 afErrNonFree afErrNoDbl afErrLoadLib 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 zeroOutArrayop3op3Intop2op2pop3pop3p1op2p2 createArray' createArray createWindow'opwopw1op1dop1op1fop1reop1bafCall loadAFImageloadAFImageNativeinPlace inPlaceEngafCall1afCall1'infoFromFeaturesinfoFromRandomEngine afSaveImage infoFromArrayinfoFromArray2infoFromArray22infoFromArray3infoFromArray4randghc-prim GHC.TypesIntTruebaseGHC.BaseString System.IOprint=<<DoubleputStrLnGHC.ShowShow$False Data.ProxyProxyFloatForeign.StorableStorable&vector-0.12.0.3-2LEYu9M2i7lERDtz76XG3nData.Vector.StorableVectorGHC.IntInt8Int16Int32Int64WordGHC.WordWord8Word16Word32Word64 Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+Foreign.C.TypesCCharCSCharCUCharCShortCUShortCIntCUIntCLongCULongCLLongCULLongCBoolCFloatCDoubleCPtrdiffCSizeCWchar CSigAtomicCClockCTime CUSeconds CSUSecondsCFileCFposCJmpBufCIntPtrCUIntPtrCIntMaxCUIntMaxsizeOf alignment peekElemOff pokeElemOff peekByteOff pokeByteOffpeekpoke byteSwap64 byteSwap32 byteSwap16