/*!
\page arith_real_only arith_real

\note This function supports real inputs only. Complex inputs are not yet supported.

*/

/*!
\page arith_int_only arith_int

\note This function supports integer only.

*/


/**
\addtogroup arrayfire_func
@{

\defgroup arith_func_add add

\ingroup arith_mat

Addition of two inputs.



\defgroup arith_func_sub sub

\ingroup arith_mat

Subtract one input from another



\defgroup arith_func_mul mul

\ingroup arith_mat

Multiply two inputs element wise



\defgroup arith_func_div div

\ingroup arith_mat

Divide one input by another



\defgroup arith_func_shiftl bitshiftl

\ingroup arith_mat

Left shift an input

\copydoc arith_int_only



\defgroup arith_func_shiftr bitshiftr

\ingroup arith_mat

Right shift an input

\copydoc arith_int_only



\defgroup arith_func_lt lt

\ingroup logic_mat

Check if input is less than another



\defgroup arith_func_gt gt

\ingroup logic_mat

Check if input is greater than another



\defgroup arith_func_le le

\ingroup logic_mat

Check if input is less than or equal to another



\defgroup arith_func_ge ge

\ingroup logic_mat

Check if input is greater than or equal to another



\defgroup arith_func_eq eq

\ingroup logic_mat

Check if input two inputs are equal



\defgroup arith_func_neq neq

\ingroup logic_mat

Check if input two inputs are not equal



\defgroup arith_func_and and

\ingroup logic_mat

Logical and of two inputs



\defgroup arith_func_or or

\ingroup logic_mat

Logical or of two inputs



\defgroup arith_func_not not

\ingroup logic_mat

Logical not of an input



\defgroup arith_func_neg neg

\ingroup logic_mat

Negative of an input



\defgroup arith_func_bitand bitand

\ingroup logic_mat

Bitwise and operation of two inputs

\copydoc arith_int_only


\defgroup arith_func_bitor bitor

\ingroup logic_mat

Bitwise or operation of two inputs

\copydoc arith_int_only


\defgroup arith_func_bitxor bitxor

\ingroup logic_mat

Bitwise xor operation of two inputs

\copydoc arith_int_only


\defgroup arith_func_min min

\ingroup numeric_mat

Minimum of two inputs.



\defgroup arith_func_max max

\ingroup numeric_mat

Maximum of two inputs.



\defgroup arith_func_rem rem

\ingroup numeric_mat

Remainder operation

\copydoc arith_real_only


\defgroup arith_func_mod mod

\ingroup numeric_mat

Compute \f$x - n * y\f$ where n is quotient of \f$x / y\f$

\copydoc arith_real_only



\defgroup arith_func_abs abs

\ingroup numeric_mat

Absolute value



\defgroup arith_func_arg arg

\ingroup numeric_mat

Phase of a number in the complex plane



\defgroup arith_func_sign sign

\ingroup numeric_mat

Check if input is negative

\copydoc arith_real_only


\defgroup arith_func_round round

\ingroup numeric_mat

Round to nearest integer

\copydoc arith_real_only


\defgroup arith_func_trunc trunc

\ingroup numeric_mat

Truncate to nearest integer

\copydoc arith_real_only


\defgroup arith_func_floor floor

\ingroup numeric_mat

Round to integer less than equal to current value

\copydoc arith_real_only


\defgroup arith_func_ceil ceil

\ingroup numeric_mat

Round to integer greater than equal to current value

\copydoc arith_real_only


\defgroup arith_func_hypot hypot

\ingroup numeric_mat

Hypotenuse of the two inputs

\copydoc arith_real_only


\defgroup arith_func_sin sin

\ingroup trig_mat

sin of input

\copydoc arith_real_only


\defgroup arith_func_cos cos

\ingroup trig_mat

cos of input

\copydoc arith_real_only



\defgroup arith_func_tan tan/tan2

\ingroup trig_mat

tan of input

\copydoc arith_real_only


\defgroup arith_func_asin asin

\ingroup trig_mat

arc sin of input

\copydoc arith_real_only


\defgroup arith_func_acos acos

\ingroup trig_mat

arc cos of input

\copydoc arith_real_only


\defgroup arith_func_atan atan/atan2

\ingroup trig_mat

arc tan of input

\copydoc arith_real_only


\defgroup arith_func_sinh sinh

\ingroup hyper_mat

sinh of input

\copydoc arith_real_only


\defgroup arith_func_cosh cosh

\ingroup hyper_mat

cosh of input

\copydoc arith_real_only


\defgroup arith_func_tanh tanh

\ingroup hyper_mat

tanh of input

\copydoc arith_real_only


\defgroup arith_func_asinh asinh

\ingroup hyper_mat

asinh of input

\copydoc arith_real_only


\defgroup arith_func_acosh acosh

\ingroup hyper_mat

acosh of input

\copydoc arith_real_only


\defgroup arith_func_atanh atanh

\ingroup hyper_mat

atanh of input

\copydoc arith_real_only


\defgroup arith_func_cplx complex

\ingroup complex_mat

create complex arrays



\defgroup arith_func_real real

\ingroup complex_mat

Get real part of complex arrays



\defgroup arith_func_imag imag

\ingroup complex_mat

Get imaginary part of complex arrays



\defgroup arith_func_conjg conjg

\ingroup complex_mat

Get complex conjugate




\defgroup arith_func_root root

\ingroup explog_mat

Find root of an input

\copydoc arith_real_only


\defgroup arith_func_pow pow

\ingroup explog_mat

Raise an array to a power

\copydoc arith_real_only



\defgroup arith_func_exp exp

\ingroup explog_mat

Exponential of input

\copydoc arith_real_only


\defgroup arith_func_expm1 expm1

\ingroup explog_mat

Exponential of input - 1

\copydoc arith_real_only


\defgroup arith_func_erf erf

\ingroup explog_mat

Error function value

\copydoc arith_real_only



\defgroup arith_func_erfc erfc

\ingroup explog_mat

Complementary Error function value

\copydoc arith_real_only


\defgroup arith_func_log log

\ingroup explog_mat

Natural logarithm

\copydoc arith_real_only


\defgroup arith_func_log1p log1p

\ingroup explog_mat

Natural logarithm of (1 + in)

\copydoc arith_real_only


\defgroup arith_func_log10 log10

\ingroup explog_mat

logarithm base 10

\copydoc arith_real_only


\defgroup arith_func_sqrt sqrt

\ingroup explog_mat

Square root of input arrays

\copydoc arith_real_only


\defgroup arith_func_cbrt cbrt

\ingroup explog_mat

Cube root of input arrays

\copydoc arith_real_only


\defgroup arith_func_factorial factorial

\ingroup explog_mat

Factorial function

\copydoc arith_real_only


\defgroup arith_func_tgamma tgamma

\ingroup explog_mat

Gamma function

\copydoc arith_real_only


\defgroup arith_func_lgamma lgamma

\ingroup explog_mat

Logarithm of absolute values of Gamma function

\copydoc arith_real_only


\defgroup arith_func_iszero iszero

\ingroup helper_mat

Check if values are zero

\copydoc arith_real_only


\defgroup arith_func_isinf isinf

\ingroup helper_mat

Check if values are infinite

\copydoc arith_real_only


\defgroup arith_func_isnan isNan

\ingroup helper_mat

Check if values are Nan

\copydoc arith_real_only


\defgroup arith_func_cast cast

\ingroup helper_mat

Casting inputs from one type to another

@}
*/
