Methods of array class

Functions
Methods of array class
ArrayFire Functions by Category » Functions to create and modify Arrays

Get information about the array object. More...

## Functions
const array | as (dtype type) const
| Converts the array into another type. More...
array | T () const
| Get the transposed the array. More...
array | H () const
| Get the conjugate-transpose of the current array. More...
AFAPI af_err | af_copy_array (af_array *arr, const af_array in)
| Deep copy an array to another. More...
AFAPI af_err | af_get_data_ref_count (int *use_count, const af_array in)
| Get the use count of `af_array` More...
AFAPI af_err | af_write_array (af_array arr, const void *data, const size_t bytes, af_source src)
| Copy data from a C pointer (host/device) to an existing array. More...
AFAPI af_err | af_get_data_ptr (void *data, const af_array arr)
| Copy data from an af_array to a C pointer. More...
AFAPI af_err | af_release_array (af_array arr)
| Reduce the reference count of the af_array. More...
AFAPI af_err | af_retain_array (af_array *out, const af_array in)
| Increments an af_array reference count. More...
AFAPI af_err | af_eval (af_array in)
| Evaluate any expressions in the Array. More...
AFAPI af_err | af_get_elements (dim_t *elems, const af_array arr)
| Gets the number of elements in an array. More...
AFAPI af_err | af_get_type (af_dtype *type, const af_array arr)
| Gets the type of an array. More...
AFAPI af_err | af_get_dims (dim_t *d0, dim_t *d1, dim_t *d2, dim_t *d3, const af_array arr)
| Gets the dimensions of an array. More...
AFAPI af_err | af_get_numdims (unsigned *result, const af_array arr)
| Gets the number of dimensions of an array. More...
AFAPI af_err | af_is_empty (bool *result, const af_array arr)
| Check if an array is empty. More...
AFAPI af_err | af_is_scalar (bool *result, const af_array arr)
| Check if an array is scalar, ie. More...
AFAPI af_err | af_is_row (bool *result, const af_array arr)
| Check if an array is row vector. More...
AFAPI af_err | af_is_column (bool *result, const af_array arr)
| Check if an array is a column vector. More...
AFAPI af_err | af_is_vector (bool *result, const af_array arr)
| Check if an array is a vector. More...
AFAPI af_err | af_is_complex (bool *result, const af_array arr)
| Check if an array is complex type. More...
AFAPI af_err | af_is_real (bool *result, const af_array arr)
| Check if an array is real type. More...
AFAPI af_err | af_is_double (bool *result, const af_array arr)
| Check if an array is double precision type. More...
AFAPI af_err | af_is_single (bool *result, const af_array arr)
| Check if an array is single precision type. More...
AFAPI af_err | af_is_realfloating (bool *result, const af_array arr)
| Check if an array is real floating point type. More...
AFAPI af_err | af_is_floating (bool *result, const af_array arr)
| Check if an array is floating precision type. More...
AFAPI af_err | af_is_integer (bool *result, const af_array arr)
| Check if an array is integer type. More...
AFAPI af_err | af_is_bool (bool *result, const af_array arr)
| Check if an array is bool type. More...
AFAPI af_err | af_is_sparse (bool *result, const af_array arr)
| Check if an array is sparse. More...
AFAPI af_err | af_get_scalar (void *output_value, const af_array arr)
| Get first element from an array. More...
array & | eval (array &a)
| Evaluate an expression (nonblocking). More...
AFAPI void | eval (int num, array **arrays)
| Evaluate multiple arrays simultaneously. More...
void | eval (array &a, array &b)
void | eval (array &a, array &b, array &c)
void | eval (array &a, array &b, array &c, array &d)
void | eval (array &a, array &b, array &c, array &d, array &e)
void | eval (array &a, array &b, array &c, array &d, array &e, array &f)
AFAPI void | setManualEvalFlag (bool flag)
| Turn the manual eval flag on or off. More...
AFAPI bool | getManualEvalFlag ()
| Get the manual eval flag. More...
af_array | get ()
| get the af_array handle More...
af_array | get () const
| get the af_array handle More...
dim_t | elements () const
| get the number of elements in array More...
template<typename T >
T * | host () const
| Copy array data to host and return host pointer. More...
void | host (void *ptr) const
| Copy array data to existing host pointer. More...
template<typename T >
void | write (const T *ptr, const size_t bytes, af::source src=afHost)
| Perform deep copy from host/device pointer to an existing array. More...
dtype | type () const
| Get array data type. More...
dim4 | dims () const
| Get dimensions of the array. More...
dim_t | dims (unsigned dim) const
| Get dimensions of the array. More...
unsigned | numdims () const
| Get the number of dimensions of the array. More...
size_t | bytes () const
| Get the size of the array in bytes. More...
size_t | allocated () const
| Get the size of the array in memory. More...
array | copy () const
| Perform deep copy of the array. More...
bool | isempty () const
| Returns true of the array is empty. More...
bool | isscalar () const
| Returns true of the array contains only one value. More...
bool | isvector () const
| Returns true if only one of the array dimensions has more than one element. More...
bool | isrow () const
| Returns true if only the second dimension has more than one element. More...
bool | iscolumn () const
| Returns true if only the first dimension has more than one element. More...
bool | iscomplex () const
| Returns true if the array type is c32 or c64. More...
bool | isreal () const
| Returns true if the array type is neither c32 nor c64. More...
bool | isdouble () const
| Returns true if the array type is f64 or c64. More...
bool | issingle () const
| Returns true if the array type is neither f64 nor c64. More...
bool | isrealfloating () const
| Returns true if the array type is f32 or f64. More...
bool | isfloating () const
| Returns true if the array type is f32, f64, c32 or c64. More...
bool | isinteger () const
| Returns true if the array type is u8, b8, s32 u32, s64, u64, s16, u16. More...
bool | isbool () const
| Returns true if the array type is b8. More...
bool | issparse () const
| Returns true if the array is a sparse array. More...
void | eval () const
| Evaluate any JIT expressions to generate data for the array. More...
template<typename T >
T | scalar () const
| Get the first element of the array as a scalar. More...

## Detailed Description

Get information about the array object.

## Function Documentation

## ◆ af_copy_array()

AFAPI af_err af_copy_array | ( | af_array * | arr,
|  | const af_array | in
| ) |  |

Deep copy an array to another.

## ◆ af_eval()

AFAPI af_err af_eval | ( | af_array | in | ) |

Evaluate any expressions in the Array.

## ◆ af_get_data_ptr()

AFAPI af_err af_get_data_ptr | ( | void * | data,
|  | const af_array | arr
| ) |  |

Copy data from an af_array to a C pointer.

Needs to used in conjunction with the two functions above

## ◆ af_get_data_ref_count()

AFAPI af_err af_get_data_ref_count | ( | int * | use_count,
|  | const af_array | in
| ) |  |

Get the use count of `af_array`

## ◆ af_get_dims()

AFAPI af_err af_get_dims | ( | dim_t * | d0,
|  | dim_t * | d1,
|  | dim_t * | d2,
|  | dim_t * | d3,
|  | const af_array | arr
| ) |  |

Gets the dimensions of an array.

Parameters

  [out] | d0 | is the output that contains the size of first dimension of `arr`
  [out] | d1 | is the output that contains the size of second dimension of `arr`
  [out] | d2 | is the output that contains the size of third dimension of `arr`
  [out] | d3 | is the output that contains the size of fourth dimension of `arr`
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_get_elements()

AFAPI af_err af_get_elements | ( | dim_t * | elems,
|  | const af_array | arr
| ) |  |

Gets the number of elements in an array.

Parameters

  [out] | elems | is the output that contains number of elements of `arr`
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_get_numdims()

AFAPI af_err af_get_numdims | ( | unsigned * | result,
|  | const af_array | arr
| ) |  |

Gets the number of dimensions of an array.

Parameters

  [out] | result | is the output that contains the number of dims of `arr`
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_get_scalar()

AFAPI af_err af_get_scalar | ( | void * | output_value,
|  | const af_array | arr
| ) |  |

Get first element from an array.

Parameters

  [out] | output_value | is the element requested
  [in] | arr | is the input array

Returns
  AF_SUCCESS if the execution completes properly

## ◆ af_get_type()

AFAPI af_err af_get_type | ( | af_dtype * | type,
|  | const af_array | arr
| ) |  |

Gets the type of an array.

Parameters

  [out] | type | is the output that contains the type of `arr`
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_bool()

AFAPI af_err af_is_bool | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is bool type.

Parameters

  [out] | result | is true if arr is of b8 type, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_column()

AFAPI af_err af_is_column | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is a column vector.

Parameters

  [out] | result | is true if arr has dims [x 1 1 1], false otherwise
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_complex()

AFAPI af_err af_is_complex | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is complex type.

Parameters

  [out] | result | is true if arr is of type c32 or c64, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_double()

AFAPI af_err af_is_double | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is double precision type.

Parameters

  [out] | result | is true if arr is of type f64 or c64, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_empty()

AFAPI af_err af_is_empty | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is empty.

Parameters

  [out] | result | is true if elements of arr is 0, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_floating()

AFAPI af_err af_is_floating | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is floating precision type.

This is a combination of af_is_realfloating and af_is_complex

Parameters

  [out] | result | is true if arr is of type f32, f64, c32 or c64, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_integer()

AFAPI af_err af_is_integer | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is integer type.

Parameters

  [out] | result | is true if arr is of integer types, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_real()

AFAPI af_err af_is_real | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is real type.

This is mutually exclusive to af_is_complex

Parameters

  [out] | result | is true if arr is NOT of type c32 or c64, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_realfloating()

AFAPI af_err af_is_realfloating | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is real floating point type.

Parameters

  [out] | result | is true if arr is of type f32 or f64, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_row()

AFAPI af_err af_is_row | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is row vector.

Parameters

  [out] | result | is true if arr has dims [1 x 1 1], false otherwise
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_scalar()

AFAPI af_err af_is_scalar | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is scalar, ie.

single element.

Parameters

  [out] | result | is true if elements of arr is 1, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_single()

AFAPI af_err af_is_single | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is single precision type.

Parameters

  [out] | result | is true if arr is of type f32 or c32, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_sparse()

AFAPI af_err af_is_sparse | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is sparse.

Parameters

  [out] | result | is true if arr is sparse, otherwise false
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_is_vector()

AFAPI af_err af_is_vector | ( | bool * | result,
|  | const af_array | arr
| ) |  |

Check if an array is a vector.

A vector is any array that has exactly 1 dimension not equal to 1.

Parameters

  [out] | result | is true if arr is a vector, false otherwise
  [in] | arr | is the input array

Returns
  error codes

## ◆ af_release_array()

AFAPI af_err af_release_array | ( | af_array | arr | ) |

Reduce the reference count of the af_array.

## ◆ af_retain_array()

AFAPI af_err af_retain_array | ( | af_array * | out,
|  | const af_array | in
| ) |  |

Increments an af_array reference count.

## ◆ af_write_array()

AFAPI af_err af_write_array | ( | af_array | arr,
|  | const void * | data,
|  | const size_t | bytes,
|  | af_source | src
| ) |  |

Copy data from a C pointer (host/device) to an existing array.

## ◆ allocated()

size_t allocated | ( |  | ) | const

Get the size of the array in memory.

This will return the parent's bytes() if the array is indexed.

## ◆ as()

const array as | ( | dtype | type | ) | const

Converts the array into another type.

Parameters

  [in] | type | is the desired type(f32, s64, etc.)

Returns
  an array with the type specified by `type`

Examples:
  graphics/conway.cpp, graphics/conway_pretty.cpp, graphics/gravity_sim.cpp, graphics/histogram.cpp, image_processing/brain_segmentation.cpp, image_processing/edge.cpp, machine_learning/deep_belief_net.cpp, machine_learning/geneticalgorithm.cpp, and machine_learning/rbm.cpp.

## ◆ bytes()

size_t bytes | ( |  | ) | const

Get the size of the array in bytes.

Examples:
  benchmarks/cg.cpp.

## ◆ copy()

array copy | ( |  | ) | const

Perform deep copy of the array.

Examples:
  image_processing/adaptive_thresholding.cpp, image_processing/binary_thresholding.cpp, image_processing/filters.cpp, image_processing/pyramids.cpp, lin_algebra/cholesky.cpp, lin_algebra/lu.cpp, and lin_algebra/qr.cpp.

## ◆ dims() [1/2]

dim4 dims | ( |  | ) | const

Get dimensions of the array.

Examples:
  benchmarks/cg.cpp, computer_vision/harris.cpp, computer_vision/matching.cpp, financial/black_scholes_options.cpp, financial/heston_model.cpp, getting_started/vectorize.cpp, graphics/field.cpp, graphics/fractal.cpp, graphics/gravity_sim.cpp, graphics/plot2d.cpp, image_processing/adaptive_thresholding.cpp, image_processing/binary_thresholding.cpp, image_processing/brain_segmentation.cpp, image_processing/edge.cpp, image_processing/filters.cpp, image_processing/image_editing.cpp, image_processing/morphing.cpp, image_processing/optical_flow.cpp, image_processing/pyramids.cpp, machine_learning/bagging.cpp, machine_learning/deep_belief_net.cpp, machine_learning/kmeans.cpp, machine_learning/knn.cpp, machine_learning/logistic_regression.cpp, machine_learning/naive_bayes.cpp, machine_learning/neural_network.cpp, machine_learning/perceptron.cpp, machine_learning/rbm.cpp, machine_learning/softmax_regression.cpp, and pde/swe.cpp.

## ◆ dims() [2/2]

dim_t dims | ( | unsigned | dim | ) | const

Get dimensions of the array.

## ◆ elements()

dim_t elements | ( |  | ) | const

get the number of elements in array

Examples:
  graphics/field.cpp, image_processing/binary_thresholding.cpp, image_processing/filters.cpp, machine_learning/bagging.cpp, machine_learning/deep_belief_net.cpp, machine_learning/geneticalgorithm.cpp, machine_learning/knn.cpp, machine_learning/logistic_regression.cpp, machine_learning/naive_bayes.cpp, machine_learning/neural_network.cpp, machine_learning/perceptron.cpp, machine_learning/rbm.cpp, machine_learning/softmax_regression.cpp, and pde/swe.cpp.

## ◆ eval() [1/8]

void eval | ( |  | ) | const

Evaluate any JIT expressions to generate data for the array.

Examples:
  benchmarks/blas.cpp, benchmarks/fft.cpp, graphics/field.cpp, graphics/fractal.cpp, graphics/gravity_sim.cpp, machine_learning/bagging.cpp, machine_learning/knn.cpp, machine_learning/logistic_regression.cpp, machine_learning/naive_bayes.cpp, machine_learning/perceptron.cpp, and machine_learning/softmax_regression.cpp.

## ◆ eval() [2/8]

array& af::eval | ( | array & | a | ) |
| inline

Evaluate an expression (nonblocking).

Examples:
  financial/black_scholes_options.cpp, graphics/fractal.cpp, and pde/swe.cpp.

## ◆ eval() [3/8]

AFAPI void af::eval | ( | int | num,
|  | array ** | arrays
| ) |  |

Evaluate multiple arrays simultaneously.

## ◆ eval() [4/8]

void af::eval | ( | array & | a,
|  | array & | b
| ) |  |
| inline

## ◆ eval() [5/8]

void af::eval | ( | array & | a,
|  | array & | b,
|  | array & | c
| ) |  |
| inline

## ◆ eval() [6/8]

void af::eval | ( | array & | a,
|  | array & | b,
|  | array & | c,
|  | array & | d
| ) |  |
| inline

## ◆ eval() [7/8]

void af::eval | ( | array & | a,
|  | array & | b,
|  | array & | c,
|  | array & | d,
|  | array & | e
| ) |  |
| inline

## ◆ eval() [8/8]

void af::eval | ( | array & | a,
|  | array & | b,
|  | array & | c,
|  | array & | d,
|  | array & | e,
|  | array & | f
| ) |  |
| inline

## ◆ get() [1/2]

af_array get | ( |  | ) |

get the af_array handle

## ◆ get() [2/2]

af_array get | ( |  | ) | const

get the af_array handle

## ◆ getManualEvalFlag()

AFAPI bool af::getManualEvalFlag | ( |  | ) |

Get the manual eval flag.

## ◆ H()

array H | ( |  | ) | const

Get the conjugate-transpose of the current array.

Returns
  conjugate-transpose matrix

## ◆ host() [1/2]

T* host | ( |  | ) | const

Copy array data to host and return host pointer.

Examples:
  computer_vision/fast.cpp, computer_vision/harris.cpp, computer_vision/susan.cpp, and image_processing/binary_thresholding.cpp.

## ◆ host() [2/2]

void host | ( | void * | ptr | ) | const

Copy array data to existing host pointer.

## ◆ isbool()

bool isbool | ( |  | ) | const

Returns true if the array type is b8.

## ◆ iscolumn()

bool iscolumn | ( |  | ) | const

Returns true if only the first dimension has more than one element.

## ◆ iscomplex()

bool iscomplex | ( |  | ) | const

Returns true if the array type is c32 or c64.

## ◆ isdouble()

bool isdouble | ( |  | ) | const

Returns true if the array type is f64 or c64.

## ◆ isempty()

bool isempty | ( |  | ) | const

Returns true of the array is empty.

## ◆ isfloating()

bool isfloating | ( |  | ) | const

Returns true if the array type is f32, f64, c32 or c64.

## ◆ isinteger()

bool isinteger | ( |  | ) | const

Returns true if the array type is u8, b8, s32 u32, s64, u64, s16, u16.

## ◆ isreal()

bool isreal | ( |  | ) | const
| inline

Returns true if the array type is neither c32 nor c64.

## ◆ isrealfloating()

bool isrealfloating | ( |  | ) | const

Returns true if the array type is f32 or f64.

## ◆ isrow()

bool isrow | ( |  | ) | const

Returns true if only the second dimension has more than one element.

## ◆ isscalar()

bool isscalar | ( |  | ) | const

Returns true of the array contains only one value.

## ◆ issingle()

bool issingle | ( |  | ) | const

Returns true if the array type is neither f64 nor c64.

## ◆ issparse()

bool issparse | ( |  | ) | const

Returns true if the array is a sparse array.

## ◆ isvector()

bool isvector | ( |  | ) | const

Returns true if only one of the array dimensions has more than one element.

## ◆ numdims()

unsigned numdims | ( |  | ) | const

Get the number of dimensions of the array.

## ◆ scalar()

T scalar | ( |  | ) | const

Get the first element of the array as a scalar.

Note
  This is recommended for use while debugging. Calling this method constantly reduces performance.

Examples:
  image_processing/binary_thresholding.cpp, and machine_learning/kmeans.cpp.

## ◆ setManualEvalFlag()

AFAPI void af::setManualEvalFlag | ( | bool | flag | ) |

Turn the manual eval flag on or off.

## ◆ T()

array T | ( |  | ) | const

Get the transposed the array.

Returns
  Transposed matrix

Examples:
  getting_started/integer.cpp, getting_started/vectorize.cpp, graphics/field.cpp, graphics/gravity_sim.cpp, image_processing/filters.cpp, machine_learning/bagging.cpp, machine_learning/deep_belief_net.cpp, machine_learning/knn.cpp, machine_learning/logistic_regression.cpp, machine_learning/naive_bayes.cpp, machine_learning/neural_network.cpp, machine_learning/perceptron.cpp, machine_learning/rbm.cpp, machine_learning/softmax_regression.cpp, and pde/swe.cpp.

## ◆ type()

dtype type | ( |  | ) | const

Get array data type.

Examples:
  image_processing/brain_segmentation.cpp, and image_processing/morphing.cpp.

## ◆ write()

void write | ( | const T * | ptr,
|  | const size_t | bytes,
|  | af::source | src = `afHost`
| ) |  |

Perform deep copy from host/device pointer to an existing array.