matrix.h File Reference

(2014-04-30 15:38:09 -0400, (build fd32605))

#include "defines.h"

Go to the source code of this file.

Namespaces

 af
 

Macros

#define BASE_ONE   =false
 

Functions

afError af_join_B (bool *d_out, unsigned ndims_A, const unsigned *dims_A, bool *d_A, unsigned ndims_B, const unsigned *dims_B, bool *d_B, unsigned dim)
 
afError af_join_S (float *d_out, unsigned ndims_A, const unsigned *dims_A, float *d_A, unsigned ndims_B, const unsigned *dims_B, float *d_B, unsigned dim)
 
afError af_join_D (double *d_out, unsigned ndims_A, const unsigned *dims_A, double *d_A, unsigned ndims_B, const unsigned *dims_B, double *d_B, unsigned dim)
 
afError af_join_C (cfloat *d_out, unsigned ndims_A, const unsigned *dims_A, cfloat *d_A, unsigned ndims_B, const unsigned *dims_B, cfloat *d_B, unsigned dim)
 
afError af_join_Z (cdouble *d_out, unsigned ndims_A, const unsigned *dims_A, cdouble *d_A, unsigned ndims_B, const unsigned *dims_B, cdouble *d_B, unsigned dim)
 
afError af_join_I (int *d_out, unsigned ndims_A, const unsigned *dims_A, int *d_A, unsigned ndims_B, const unsigned *dims_B, int *d_B, unsigned dim)
 
afError af_join_U (unsigned *d_out, unsigned ndims_A, const unsigned *dims_A, unsigned *d_A, unsigned ndims_B, const unsigned *dims_B, unsigned *d_B, unsigned dim)
 
afError af_hankel_SSS (float *d_H, unsigned nc, float *d_C, unsigned nr, float *d_R)
 
afError af_hankel_CSC (cfloat *d_H, unsigned nc, float *d_C, unsigned nr, cfloat *d_R)
 
afError af_hankel_CCS (cfloat *d_H, unsigned nc, cfloat *d_C, unsigned nr, float *d_R)
 
afError af_hankel_CCC (cfloat *d_H, unsigned nc, cfloat *d_C, unsigned nr, cfloat *d_R)
 
afError af_hankel_SSD (float *d_H, unsigned nc, float *d_C, unsigned nr, double *d_R)
 
afError af_hankel_CSZ (cfloat *d_H, unsigned nc, float *d_C, unsigned nr, cdouble *d_R)
 
afError af_hankel_CCD (cfloat *d_H, unsigned nc, cfloat *d_C, unsigned nr, double *d_R)
 
afError af_hankel_CCZ (cfloat *d_H, unsigned nc, cfloat *d_C, unsigned nr, cdouble *d_R)
 
afError af_hankel_SDS (float *d_H, unsigned nc, double *d_C, unsigned nr, float *d_R)
 
afError af_hankel_CDC (cfloat *d_H, unsigned nc, double *d_C, unsigned nr, cfloat *d_R)
 
afError af_hankel_CZS (cfloat *d_H, unsigned nc, cdouble *d_C, unsigned nr, float *d_R)
 
afError af_hankel_CZC (cfloat *d_H, unsigned nc, cdouble *d_C, unsigned nr, cfloat *d_R)
 
afError af_hankel_DSD (double *d_H, unsigned nc, float *d_C, unsigned nr, double *d_R)
 
afError af_hankel_ZSZ (cdouble *d_H, unsigned nc, float *d_C, unsigned nr, cdouble *d_R)
 
afError af_hankel_ZCD (cdouble *d_H, unsigned nc, cfloat *d_C, unsigned nr, double *d_R)
 
afError af_hankel_ZCZ (cdouble *d_H, unsigned nc, cfloat *d_C, unsigned nr, cdouble *d_R)
 
afError af_hankel_DDS (double *d_H, unsigned nc, double *d_C, unsigned nr, float *d_R)
 
afError af_hankel_ZDC (cdouble *d_H, unsigned nc, double *d_C, unsigned nr, cfloat *d_R)
 
afError af_hankel_ZZS (cdouble *d_H, unsigned nc, cdouble *d_C, unsigned nr, float *d_R)
 
afError af_hankel_ZZC (cdouble *d_H, unsigned nc, cdouble *d_C, unsigned nr, cfloat *d_R)
 
afError af_hankel_DDD (double *d_H, unsigned nc, double *d_C, unsigned nr, double *d_R)
 
afError af_hankel_ZDZ (cdouble *d_H, unsigned nc, double *d_C, unsigned nr, cdouble *d_R)
 
afError af_hankel_ZZD (cdouble *d_H, unsigned nc, cdouble *d_C, unsigned nr, double *d_R)
 
afError af_hankel_ZZZ (cdouble *d_H, unsigned nc, cdouble *d_C, unsigned nr, cdouble *d_R)
 
afError af_toeplitz_SS (unsigned numelC, float *TPLZol, unsigned numelR, float *Row, float *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_SC (unsigned numelC, float *TPLZol, unsigned numelR, cfloat *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_CS (unsigned numelC, cfloat *TPLZol, unsigned numelR, float *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_CC (unsigned numelC, cfloat *TPLZol, unsigned numelR, cfloat *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_SD (unsigned numelC, float *TPLZol, unsigned numelR, double *Row, float *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_SZ (unsigned numelC, float *TPLZol, unsigned numelR, cdouble *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_CD (unsigned numelC, cfloat *TPLZol, unsigned numelR, double *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_CZ (unsigned numelC, cfloat *TPLZol, unsigned numelR, cdouble *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_DS (unsigned numelC, double *TPLZol, unsigned numelR, float *Row, float *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_DC (unsigned numelC, double *TPLZol, unsigned numelR, cfloat *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_ZS (unsigned numelC, cdouble *TPLZol, unsigned numelR, float *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_ZC (unsigned numelC, cdouble *TPLZol, unsigned numelR, cfloat *Row, cfloat *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_DD (unsigned numelC, double *TPLZol, unsigned numelR, double *Row, double *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_DZ (unsigned numelC, double *TPLZol, unsigned numelR, cdouble *Row, cdouble *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_ZD (unsigned numelC, cdouble *TPLZol, unsigned numelR, double *Row, cdouble *TPLZ, unsigned NA, unsigned NB)
 
afError af_toeplitz_ZZ (unsigned numelC, cdouble *TPLZol, unsigned numelR, cdouble *Row, cdouble *TPLZ, unsigned NA, unsigned NB)
 
afError af_triMat_S (unsigned m, unsigned n, float *d_A, float *d_T, int diag, bool direction, unsigned batch)
 
afError af_triMat_C (unsigned m, unsigned n, cfloat *d_A, cfloat *d_T, int diag, bool direction, unsigned batch)
 
afError af_triMat_D (unsigned m, unsigned n, double *d_A, double *d_T, int diag, bool direction, unsigned batch)
 
afError af_triMat_Z (unsigned m, unsigned n, cdouble *d_A, cdouble *d_T, int diag, bool direction, unsigned batch)
 
afError af_flip_B (bool *d_out, unsigned ndims, unsigned *dims, const bool *d_in, unsigned batch, unsigned dim)
 
afError af_flip_S (float *d_out, unsigned ndims, unsigned *dims, const float *d_in, unsigned batch, unsigned dim)
 
afError af_flip_D (double *d_out, unsigned ndims, unsigned *dims, const double *d_in, unsigned batch, unsigned dim)
 
afError af_flip_C (cfloat *d_out, unsigned ndims, unsigned *dims, const cfloat *d_in, unsigned batch, unsigned dim)
 
afError af_flip_Z (cdouble *d_out, unsigned ndims, unsigned *dims, const cdouble *d_in, unsigned batch, unsigned dim)
 
afError af_flip_I (int *d_out, unsigned ndims, unsigned *dims, const int *d_in, unsigned batch, unsigned dim)
 
afError af_flip_U (unsigned *d_out, unsigned ndims, unsigned *dims, const unsigned *d_in, unsigned batch, unsigned dim)
 
afError af_conj_inp_C (unsigned numel, cfloat *vals)
 
afError af_conj_inp_Z (unsigned numel, cdouble *vals)
 
afError af_norm_inp_C (unsigned numel, cfloat *vals, float val)
 
afError af_norm_inp_Z (unsigned numel, cdouble *vals, double val)
 
afError af_isTrig_B (bool *res, unsigned rows, unsigned columns, const bool *in, unsigned batch, bool dir)
 
afError af_isTrig_S (bool *res, unsigned rows, unsigned columns, const float *in, unsigned batch, bool dir)
 
afError af_isTrig_C (bool *res, unsigned rows, unsigned columns, const cfloat *in, unsigned batch, bool dir)
 
afError af_isTrig_D (bool *res, unsigned rows, unsigned columns, const double *in, unsigned batch, bool dir)
 
afError af_isTrig_Z (bool *res, unsigned rows, unsigned columns, const cdouble *in, unsigned batch, bool dir)
 
afError af_isSym_B (bool *res, unsigned width, const bool *in, unsigned batch)
 
afError af_isSym_S (bool *res, unsigned width, const float *in, unsigned batch)
 
afError af_isSym_C (bool *res, unsigned width, const cfloat *in, unsigned batch)
 
afError af_isSym_D (bool *res, unsigned width, const double *in, unsigned batch)
 
afError af_isSym_Z (bool *res, unsigned width, const cdouble *in, unsigned batch)
 
afError af_isHerm_B (bool *res, unsigned width, const bool *in, unsigned batch)
 
afError af_isHerm_S (bool *res, unsigned width, const float *in, unsigned batch)
 
afError af_isHerm_C (bool *res, unsigned width, const cfloat *in, unsigned batch)
 
afError af_isHerm_D (bool *res, unsigned width, const double *in, unsigned batch)
 
afError af_isHerm_Z (bool *res, unsigned width, const cdouble *in, unsigned batch)
 
afError af_isneg_S (const float *d_in, unsigned n, bool *is_neg)
 
afError af_isneg_D (const double *d_in, unsigned n, bool *is_neg)
 
array tile (const array &A, unsigned d0, unsigned d1=1, unsigned d2=1)
 
array tile (const array &A, const dim4 &dims)
 
array flat (const array &A)
 No work is done (data is simply shared) so this is effectively a noop. More...
 
array moddims (const array &A, int dim0, int dim1=1, int dim2=1, int dim3=1)
 This function changes the dimensions of an array. More...
 
array moddims (const array &A, const dim4 &dims)
 This function changes the dimensions of an array. More...
 
array shift (const array &in, int dim0=0, int dim1=0, int dim2=0, int dim3=0)
 Shift the values of an array around dimension (wrap around). More...
 
array shift (const array &in, const array &shift)
 Shift the values of an array around dimension (wrap around). More...
 
array reorder (const array &in, int dim0=-1, int dim1=-1, int dim2=-1, int dim3=-1)
 Reorder dimensions of array. More...
 
array sort (const array &in, int dim=-1, bool isdescending=false)
 Sort array along dimension. More...
 
void sort (array &values, array &indices, const array &in, int dim=-1, bool isdescending=false)
 Sort array along dimension and return original indices of sorted values. More...
 
void sort (array &outkeys, array &outvalues, const array &keys, const array &values, bool isdescending=false)
 Sort array values based on keys along dimension. More...
 
array sortdim (const array &in, int dim=0)
 Sort treating one dimension as keys in specific order. More...
 
array sortdim (const array &in, int dim, unsigned norder, const int *h_order)
 Sort treating one dimension as keys in specific order. More...
 
afError af_ctranspose_C (cfloat *d_out, unsigned w, unsigned h, const cfloat *d_in, unsigned batch)
 Single-precision complex-conjugate transpose. More...
 
afError af_ctranspose_Z (cdouble *d_out, unsigned w, unsigned h, const cdouble *d_in, unsigned batch)
 Double-precision complex-conjugate transpose. More...
 
Device pointer interface: Non conjugate transpose
afError af_transpose_B (bool *d_out, unsigned w, unsigned h, const bool *d_in, unsigned batch)
 Boolean (8-bit) transpose (non-conjugated). More...
 
afError af_transpose_I (int *d_out, unsigned w, unsigned h, const int *d_in, unsigned batch)
 32-bit integer transpose. More...
 
afError af_transpose_U (unsigned *d_out, unsigned w, unsigned h, const unsigned *d_in, unsigned batch)
 32-bit unsigned integer transpose. More...
 
afError af_transpose_S (float *d_out, unsigned w, unsigned h, const float *d_in, unsigned batch)
 Single-precision transpose (non-conjugated). More...
 
afError af_transpose_D (double *d_out, unsigned w, unsigned h, const double *d_in, unsigned batch)
 Double-precision transpose (non-conjugated). More...
 
afError af_transpose_C (cfloat *d_out, unsigned w, unsigned h, const cfloat *d_in, unsigned batch)
 Complex single-precision transpose (non-conjugated). More...
 
afError af_transpose_Z (cdouble *d_out, unsigned w, unsigned h, const cdouble *d_in, unsigned batch)
 Complex double-precision transpose (non-conjugated). More...
 
Device pointer interface: Replicating the input matrix

Replicate an array along specified dimensions.

Parameters
[out]d_outReplicated array
[in]ndimsNumber of dimensions in array dims
[in]dimsArray of dimensions
[in]d_inOriginal array.
[in]nrepsNumber of replications in array reps
[in]repsArray indicating extent of replication in each dimension, e.g. [1 2] replicates only in the second dimension.
[in]batchNumber of tiles in batch.
afError af_tile_S (float *d_out, unsigned ndims, const unsigned *dims, const float *d_in, unsigned nreps, const unsigned *reps, unsigned batch)
 Single-precision array replication. More...
 
afError af_tile_D (double *d_out, unsigned ndims, const unsigned *dims, const double *d_in, unsigned nreps, const unsigned *reps, unsigned batch)
 Double-precision array replication. More...
 
afError af_tile_B (bool *d_out, unsigned ndims, const unsigned *dims, const bool *d_in, unsigned nreps, const unsigned *reps, unsigned batch)
 Boolean (8-bit) array replication. More...
 
afError af_tile_U (unsigned *d_out, unsigned ndims, const unsigned *dims, const unsigned *d_in, unsigned nreps, const unsigned *reps, unsigned batch)
 Unsigned integer array replication. More...
 
afError af_tile_I (int *d_out, unsigned ndims, const unsigned *dims, const int *d_in, unsigned nreps, const unsigned *reps, unsigned batch)
 Integer array replication. More...
 
afError af_tile_C (cfloat *d_out, unsigned ndims, const unsigned *dims, const cfloat *d_in, unsigned nreps, const unsigned *reps, unsigned batch)
 Complex single-precision array replication. More...
 
afError af_tile_Z (cdouble *d_out, unsigned ndims, const unsigned *dims, const cdouble *d_in, unsigned nreps, const unsigned *reps, unsigned batch)
 Complex double-precision array replication. More...
 
Device pointer interface: Shift is host pointer

Shift the contents of an array along specified dimensions and wrap.

Parameters
[out]d_outShifted array
[in]ndimsNumber of dimensions in array dims
[in]dimsArray of dimensions
[in]nshiftsNumber of shifts in array shifts
[in]h_shiftsArray(on host) indicating extent of shift along each dimension, e.g. [1 0 -2] shifts forward once in first dimension, none in second dimension, and back twice in third dimension.
[in]d_inOriginal array.
[in]batchNumber of tiles of input
afError af_shift_B (bool *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *h_shifts, const bool *d_in, unsigned batch)
 Boolean (8-bit) array shift. More...
 
afError af_shift_I (int *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *h_shifts, const int *d_in, unsigned batch)
 32-bit signed integer array shift. More...
 
afError af_shift_U (unsigned *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *h_shifts, const unsigned *d_in, unsigned batch)
 32-bit unsigned integer array shift. More...
 
afError af_shift_S (float *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *h_shifts, const float *d_in, unsigned batch)
 Single-precision array shift. More...
 
afError af_shift_D (double *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *h_shifts, const double *d_in, unsigned batch)
 Double-precision array shift. More...
 
afError af_shift_C (cfloat *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *h_shifts, const cfloat *d_in, unsigned batch)
 Complex single-precision array shift. More...
 
afError af_shift_Z (cdouble *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *h_shifts, const cdouble *d_in, unsigned batch)
 Complex double-precision array shift. More...
 
Device pointer interface: Shift is device pointer

Shift the contents of an array along specified dimensions and wrap.

Parameters
[out]d_outShifted array
[in]ndimsNumber of dimensions in array dims
[in]dimsArray of dimensions
[in]nshiftsNumber of shifts in array shifts
[in]d_shiftsArray(on device) indicating extent of shift along each dimension, e.g. [1 0 -2] shifts forward once in first dimension, none in second dimension, and back twice in third dimension.
[in]d_inOriginal array.
[in]batchNumber of tiles of input.
[in]batch_shiftNumber of tiles of shift.
afError af_shiftd_B (bool *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *d_shifts, const bool *d_in, unsigned batch, unsigned batch_shift)
 Boolean (8-bit) array shift. More...
 
afError af_shiftd_I (int *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *d_shifts, const int *d_in, unsigned batch, unsigned batch_shift)
 32-bit signed integer array shift. More...
 
afError af_shiftd_U (unsigned *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *d_shifts, const unsigned *d_in, unsigned batch, unsigned batch_shift)
 32-bit unsigned integer array shift. More...
 
afError af_shiftd_S (float *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *d_shifts, const float *d_in, unsigned batch, unsigned batch_shift)
 Single-precision array shift. More...
 
afError af_shiftd_D (double *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *d_shifts, const double *d_in, unsigned batch, unsigned batch_shift)
 Double-precision array shift. More...
 
afError af_shiftd_C (cfloat *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *d_shifts, const cfloat *d_in, unsigned batch, unsigned batch_shift)
 Complex single-precision array shift. More...
 
afError af_shiftd_Z (cdouble *d_out, unsigned ndims, const unsigned *dims, int nshifts, const int *d_shifts, const cdouble *d_in, unsigned batch, unsigned batch_shift)
 Complex double-precision array shift. More...
 
Device pointer interface: Reorder the input matrix

Reorder (rearrange) the dimensions of an array.

Transpose is a special case of reorder: swap the first two dimension

Parameters
[out]d_outShifted array
[in]ndimsNumber of dimensions in array dims
[in]dimsDimensions of d_in
[in]npermsNumber of dimensions indicated in the permutation array perms
[in]permsZero-based array indicating new order of dimensions, e.g. [1 0 2] swaps the first two dimensions, [2 1 0] swaps the first and third dimensions.
[in]d_inOriginal array.
[in]batchNumber of tiles in batch.
afError af_reorder_B (bool *d_out, unsigned ndims, const unsigned *dims, int nperms, const int *perms, const bool *d_in, unsigned batch)
 Boolean (8-bit) array reorder. More...
 
afError af_reorder_I (int *d_out, unsigned ndims, const unsigned *dims, int nperms, const int *perms, const int *d_in, unsigned batch)
 Integer array reorder. More...
 
afError af_reorder_U (unsigned *d_out, unsigned ndims, const unsigned *dims, int nperms, const int *perms, const unsigned *d_in, unsigned batch)
 Unsigned integer array reorder. More...
 
afError af_reorder_S (float *d_out, unsigned ndims, const unsigned *dims, int nperms, const int *perms, const float *d_in, unsigned batch)
 Single-precision array reorder. More...
 
afError af_reorder_D (double *d_out, unsigned ndims, const unsigned *dims, int nperms, const int *perms, const double *d_in, unsigned batch)
 Double-precision array reorder. More...
 
afError af_reorder_C (cfloat *d_out, unsigned ndims, const unsigned *dims, int nperms, const int *perms, const cfloat *d_in, unsigned batch)
 Complex single-precision array reorder. More...
 
afError af_reorder_Z (cdouble *d_out, unsigned ndims, const unsigned *dims, int nperms, const int *perms, const cdouble *d_in, unsigned batch)
 Complex double-precision array reorder. More...
 
Device pointer interface: Sort the input values

Sort an array of values along specified dimension.

Output both values and indices.

Parameters
[out]d_sortedSorted values
[out]d_IndicesIndices indicating original positions. One indexed
[in]ndimsNumber of dimensions in dims
[in]dimsDimensions of input
[in]d_inputOriginal array values
[in]DIRSort direction: true in descending order, false in ascending order.
[in]dimDimension to sort along (first dimension is zero)
[in]batchNumber of tiles in batch.
[in]base_oneTo shift indices to one-based.
afError af_sort_S (float *d_sorted, float *d_Indices, unsigned ndims, const unsigned *dims, float *d_input, bool DIR, unsigned dim, unsigned batch, bool base_one=false)
 Single-precision sort. More...
 
afError af_sort_D (double *d_sorted, double *d_Indices, unsigned ndims, const unsigned *dims, double *d_input, bool DIR, unsigned dim, unsigned batch, bool base_one=false)
 Double-precision sort. More...
 
afError af_sort_I (int *d_sorted, int *d_Indices, unsigned ndims, const unsigned *dims, int *d_input, bool DIR, unsigned dim, unsigned batch, bool base_one=false)
 32-bit Integer sort. More...
 
afError af_sort_U (unsigned *d_sorted, unsigned *d_Indices, unsigned ndims, const unsigned *dims, unsigned *d_input, bool DIR, unsigned dim, unsigned batch, bool base_one=false)
 32-bit Unsigned Integer sort. More...
 
Device pointer interface: Check if the input is sorted

Check if a vector or matrix is sorted.

Parameters
[out]resNonzero iff sorted
[in]rowsnumber of rows (first dimension)
[in]colsnumber of columns (second dimension)
[in]d_inInput array
[in]is_rowTrue if rows of matrix are sorted, otherwise false.
[in]batchNumber of tiles in batch.
afError af_issorted_S (unsigned char *res, unsigned rows, unsigned cols, const float *d_in, bool is_row, unsigned batch)
 Single-precision issorted. More...
 
afError af_issorted_D (unsigned char *res, unsigned rows, unsigned cols, const double *d_in, bool is_row, unsigned batch)
 Double-precision issorted. More...
 
afError af_issorted_I (unsigned char *res, unsigned rows, unsigned cols, const int *d_in, bool is_row, unsigned batch)
 Integer issorted. More...
 
afError af_issorted_U (unsigned char *res, unsigned rows, unsigned cols, const unsigned *d_in, bool is_row, unsigned batch)
 Unsigned issorted. More...
 
Device pointer interface: Sort rows in ascending order

Sort matrix rows in ascending order

Parameters
[out]d_YSorted output array
[out]d_IIndexed rows
[in]rowsnumber of rows in input matrix (first dimension)
[in]colsnumber of columns in input matrix(second dimension)
[in]d_XInput array
[in]numel_CNumber of elements in vector C
[in]h_CVector specifying order of sort for a column. Must be on host
afError af_sortrows_S (float *d_Y, unsigned *d_I, unsigned rows, unsigned cols, const float *d_X, unsigned numel_C, const int *h_C)
 Single-precision issorted. More...
 
afError af_sortrows_D (double *d_Y, unsigned *d_I, unsigned rows, unsigned cols, const double *d_X, unsigned numel_C, const int *h_C)
 Double-precision issorted. More...
 
Device pointer interface: Sort by keys

Sort matrix using a key matrix

Parameters
[out]d_okeyssorted keys
[out]d_Isorted values
[in]numelnumber of elements
[in]d_ikeysinput matrix of keys
[in]d_ivalsinput matrix of values to be sorted
[in]batchnumber of tiles in the batch
[in]directionof sort (descending = true, ascending = false)
afError af_sortByKeys_S (float *d_okeys, float *d_ovals, unsigned numel, float *d_ikeys, float *d_ivals, unsigned batch, bool DIR)
 
afError af_sortByKeys_D (double *d_okeys, double *d_ovals, unsigned numel, double *d_ikeys, double *d_ivals, unsigned batch, bool DIR)
 

Macro Definition Documentation

#define BASE_ONE   =false

Function Documentation

afError af_join_B ( bool *  d_out,
unsigned  ndims_A,
const unsigned *  dims_A,
bool *  d_A,
unsigned  ndims_B,
const unsigned *  dims_B,
bool *  d_B,
unsigned  dim 
)
afError af_join_S ( float *  d_out,
unsigned  ndims_A,
const unsigned *  dims_A,
float *  d_A,
unsigned  ndims_B,
const unsigned *  dims_B,
float *  d_B,
unsigned  dim 
)
afError af_join_D ( double *  d_out,
unsigned  ndims_A,
const unsigned *  dims_A,
double *  d_A,
unsigned  ndims_B,
const unsigned *  dims_B,
double *  d_B,
unsigned  dim 
)
afError af_join_C ( cfloat *  d_out,
unsigned  ndims_A,
const unsigned *  dims_A,
cfloat *  d_A,
unsigned  ndims_B,
const unsigned *  dims_B,
cfloat *  d_B,
unsigned  dim 
)
afError af_join_Z ( cdouble *  d_out,
unsigned  ndims_A,
const unsigned *  dims_A,
cdouble *  d_A,
unsigned  ndims_B,
const unsigned *  dims_B,
cdouble *  d_B,
unsigned  dim 
)
afError af_join_I ( int *  d_out,
unsigned  ndims_A,
const unsigned *  dims_A,
int *  d_A,
unsigned  ndims_B,
const unsigned *  dims_B,
int *  d_B,
unsigned  dim 
)
afError af_join_U ( unsigned *  d_out,
unsigned  ndims_A,
const unsigned *  dims_A,
unsigned *  d_A,
unsigned  ndims_B,
const unsigned *  dims_B,
unsigned *  d_B,
unsigned  dim 
)
afError af_hankel_SSS ( float *  d_H,
unsigned  nc,
float *  d_C,
unsigned  nr,
float *  d_R 
)
afError af_hankel_CSC ( cfloat *  d_H,
unsigned  nc,
float *  d_C,
unsigned  nr,
cfloat *  d_R 
)
afError af_hankel_CCS ( cfloat *  d_H,
unsigned  nc,
cfloat *  d_C,
unsigned  nr,
float *  d_R 
)
afError af_hankel_CCC ( cfloat *  d_H,
unsigned  nc,
cfloat *  d_C,
unsigned  nr,
cfloat *  d_R 
)
afError af_hankel_SSD ( float *  d_H,
unsigned  nc,
float *  d_C,
unsigned  nr,
double *  d_R 
)
afError af_hankel_CSZ ( cfloat *  d_H,
unsigned  nc,
float *  d_C,
unsigned  nr,
cdouble *  d_R 
)
afError af_hankel_CCD ( cfloat *  d_H,
unsigned  nc,
cfloat *  d_C,
unsigned  nr,
double *  d_R 
)
afError af_hankel_CCZ ( cfloat *  d_H,
unsigned  nc,
cfloat *  d_C,
unsigned  nr,
cdouble *  d_R 
)
afError af_hankel_SDS ( float *  d_H,
unsigned  nc,
double *  d_C,
unsigned  nr,
float *  d_R 
)
afError af_hankel_CDC ( cfloat *  d_H,
unsigned  nc,
double *  d_C,
unsigned  nr,
cfloat *  d_R 
)
afError af_hankel_CZS ( cfloat *  d_H,
unsigned  nc,
cdouble *  d_C,
unsigned  nr,
float *  d_R 
)
afError af_hankel_CZC ( cfloat *  d_H,
unsigned  nc,
cdouble *  d_C,
unsigned  nr,
cfloat *  d_R 
)
afError af_hankel_DSD ( double *  d_H,
unsigned  nc,
float *  d_C,
unsigned  nr,
double *  d_R 
)
afError af_hankel_ZSZ ( cdouble *  d_H,
unsigned  nc,
float *  d_C,
unsigned  nr,
cdouble *  d_R 
)
afError af_hankel_ZCD ( cdouble *  d_H,
unsigned  nc,
cfloat *  d_C,
unsigned  nr,
double *  d_R 
)
afError af_hankel_ZCZ ( cdouble *  d_H,
unsigned  nc,
cfloat *  d_C,
unsigned  nr,
cdouble *  d_R 
)
afError af_hankel_DDS ( double *  d_H,
unsigned  nc,
double *  d_C,
unsigned  nr,
float *  d_R 
)
afError af_hankel_ZDC ( cdouble *  d_H,
unsigned  nc,
double *  d_C,
unsigned  nr,
cfloat *  d_R 
)
afError af_hankel_ZZS ( cdouble *  d_H,
unsigned  nc,
cdouble *  d_C,
unsigned  nr,
float *  d_R 
)
afError af_hankel_ZZC ( cdouble *  d_H,
unsigned  nc,
cdouble *  d_C,
unsigned  nr,
cfloat *  d_R 
)
afError af_hankel_DDD ( double *  d_H,
unsigned  nc,
double *  d_C,
unsigned  nr,
double *  d_R 
)
afError af_hankel_ZDZ ( cdouble *  d_H,
unsigned  nc,
double *  d_C,
unsigned  nr,
cdouble *  d_R 
)
afError af_hankel_ZZD ( cdouble *  d_H,
unsigned  nc,
cdouble *  d_C,
unsigned  nr,
double *  d_R 
)
afError af_hankel_ZZZ ( cdouble *  d_H,
unsigned  nc,
cdouble *  d_C,
unsigned  nr,
cdouble *  d_R 
)
afError af_toeplitz_SS ( unsigned  numelC,
float *  TPLZol,
unsigned  numelR,
float *  Row,
float *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_SC ( unsigned  numelC,
float *  TPLZol,
unsigned  numelR,
cfloat *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_CS ( unsigned  numelC,
cfloat *  TPLZol,
unsigned  numelR,
float *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_CC ( unsigned  numelC,
cfloat *  TPLZol,
unsigned  numelR,
cfloat *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_SD ( unsigned  numelC,
float *  TPLZol,
unsigned  numelR,
double *  Row,
float *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_SZ ( unsigned  numelC,
float *  TPLZol,
unsigned  numelR,
cdouble *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_CD ( unsigned  numelC,
cfloat *  TPLZol,
unsigned  numelR,
double *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_CZ ( unsigned  numelC,
cfloat *  TPLZol,
unsigned  numelR,
cdouble *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_DS ( unsigned  numelC,
double *  TPLZol,
unsigned  numelR,
float *  Row,
float *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_DC ( unsigned  numelC,
double *  TPLZol,
unsigned  numelR,
cfloat *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_ZS ( unsigned  numelC,
cdouble *  TPLZol,
unsigned  numelR,
float *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_ZC ( unsigned  numelC,
cdouble *  TPLZol,
unsigned  numelR,
cfloat *  Row,
cfloat *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_DD ( unsigned  numelC,
double *  TPLZol,
unsigned  numelR,
double *  Row,
double *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_DZ ( unsigned  numelC,
double *  TPLZol,
unsigned  numelR,
cdouble *  Row,
cdouble *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_ZD ( unsigned  numelC,
cdouble *  TPLZol,
unsigned  numelR,
double *  Row,
cdouble *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_toeplitz_ZZ ( unsigned  numelC,
cdouble *  TPLZol,
unsigned  numelR,
cdouble *  Row,
cdouble *  TPLZ,
unsigned  NA,
unsigned  NB 
)
afError af_triMat_S ( unsigned  m,
unsigned  n,
float *  d_A,
float *  d_T,
int  diag,
bool  direction,
unsigned  batch 
)
afError af_triMat_C ( unsigned  m,
unsigned  n,
cfloat *  d_A,
cfloat *  d_T,
int  diag,
bool  direction,
unsigned  batch 
)
afError af_triMat_D ( unsigned  m,
unsigned  n,
double *  d_A,
double *  d_T,
int  diag,
bool  direction,
unsigned  batch 
)
afError af_triMat_Z ( unsigned  m,
unsigned  n,
cdouble *  d_A,
cdouble *  d_T,
int  diag,
bool  direction,
unsigned  batch 
)
afError af_flip_B ( bool *  d_out,
unsigned  ndims,
unsigned *  dims,
const bool *  d_in,
unsigned  batch,
unsigned  dim 
)
afError af_flip_S ( float *  d_out,
unsigned  ndims,
unsigned *  dims,
const float *  d_in,
unsigned  batch,
unsigned  dim 
)
afError af_flip_D ( double *  d_out,
unsigned  ndims,
unsigned *  dims,
const double *  d_in,
unsigned  batch,
unsigned  dim 
)
afError af_flip_C ( cfloat *  d_out,
unsigned  ndims,
unsigned *  dims,
const cfloat *  d_in,
unsigned  batch,
unsigned  dim 
)
afError af_flip_Z ( cdouble *  d_out,
unsigned  ndims,
unsigned *  dims,
const cdouble *  d_in,
unsigned  batch,
unsigned  dim 
)
afError af_flip_I ( int *  d_out,
unsigned  ndims,
unsigned *  dims,
const int *  d_in,
unsigned  batch,
unsigned  dim 
)
afError af_flip_U ( unsigned *  d_out,
unsigned  ndims,
unsigned *  dims,
const unsigned *  d_in,
unsigned  batch,
unsigned  dim 
)
afError af_conj_inp_C ( unsigned  numel,
cfloat *  vals 
)
afError af_conj_inp_Z ( unsigned  numel,
cdouble *  vals 
)
afError af_norm_inp_C ( unsigned  numel,
cfloat *  vals,
float  val 
)
afError af_norm_inp_Z ( unsigned  numel,
cdouble *  vals,
double  val 
)
afError af_isTrig_B ( bool *  res,
unsigned  rows,
unsigned  columns,
const bool *  in,
unsigned  batch,
bool  dir 
)
afError af_isTrig_S ( bool *  res,
unsigned  rows,
unsigned  columns,
const float *  in,
unsigned  batch,
bool  dir 
)
afError af_isTrig_C ( bool *  res,
unsigned  rows,
unsigned  columns,
const cfloat *  in,
unsigned  batch,
bool  dir 
)
afError af_isTrig_D ( bool *  res,
unsigned  rows,
unsigned  columns,
const double *  in,
unsigned  batch,
bool  dir 
)
afError af_isTrig_Z ( bool *  res,
unsigned  rows,
unsigned  columns,
const cdouble *  in,
unsigned  batch,
bool  dir 
)
afError af_isSym_B ( bool *  res,
unsigned  width,
const bool *  in,
unsigned  batch 
)
afError af_isSym_S ( bool *  res,
unsigned  width,
const float *  in,
unsigned  batch 
)
afError af_isSym_C ( bool *  res,
unsigned  width,
const cfloat *  in,
unsigned  batch 
)
afError af_isSym_D ( bool *  res,
unsigned  width,
const double *  in,
unsigned  batch 
)
afError af_isSym_Z ( bool *  res,
unsigned  width,
const cdouble *  in,
unsigned  batch 
)
afError af_isHerm_B ( bool *  res,
unsigned  width,
const bool *  in,
unsigned  batch 
)
afError af_isHerm_S ( bool *  res,
unsigned  width,
const float *  in,
unsigned  batch 
)
afError af_isHerm_C ( bool *  res,
unsigned  width,
const cfloat *  in,
unsigned  batch 
)
afError af_isHerm_D ( bool *  res,
unsigned  width,
const double *  in,
unsigned  batch 
)
afError af_isHerm_Z ( bool *  res,
unsigned  width,
const cdouble *  in,
unsigned  batch 
)
afError af_isneg_S ( const float *  d_in,
unsigned  n,
bool *  is_neg 
)
afError af_isneg_D ( const double *  d_in,
unsigned  n,
bool *  is_neg 
)