/**
\addtogroup arrayfire_func
@{

\defgroup index_func_index index
\ingroup index_mat

\brief Lookup values of an array based on sequences and/or arrays

===============================================================================

\defgroup index_func_lookup lookup
\ingroup index_mat

\brief Lookup values of an array by indexing with another array.

Will return an array with the values in the \p in array from the locations
specified in the \p idx array. The resulting array contains values corresponding
to each of the provided indices. Locations of the input data are assumed to be
in the range [0, n). Indexing outside of this range will result in mirrored
wrap-around behavior.

A simple example of one-dimension indexing can be seen in the following example.

\snippet test/index.cpp ex_index_lookup1d

Index locations can also be out of bounds.

\snippet test/index.cpp ex_index_lookup_oob

The axis along which to query the indices can also be specified. The
resulting array will be of the same size as the input, except for the queried
dimension which will match the number of elements in the index array.

\snippet test/index.cpp ex_index_lookup2d

===============================================================================

\defgroup index_func_assign assign
\ingroup index_mat

\brief Copy and write values in the locations specified by the sequences


@}
*/
