product

- Main Page
- Tutorials
- Functions
- Release Notes
- Examples

Functions
product
Complete List of ArrayFire Functions ArrayFire Functions by Category » Vector Algorithms » | Reduction operations

Find the product of values in the input. More...

## Functions
AFAPI array | product (const array &in, const int dim=-1)
| C++ Interface for product of elements in an array. More...
AFAPI array | product (const array &in, const int dim, const double nanval)
| C++ Interface for product of elements in an array while replacing nan values. More...
template<typename T >
T | product (const array &in)
| C++ Interface for product of all elements in an array. More...
template<typename T >
T | product (const array &in, double nanval)
| C++ Interface for product of all elements in an array while replacing nan values. More...
AFAPI af_err | af_product (af_array *out, const af_array in, const int dim)
| C Interface for product of elements in an array. More...
AFAPI af_err | af_product_nan (af_array *out, const af_array in, const int dim, const double nanval)
| C Interface for product of elements in an array while replacing nans. More...
AFAPI af_err | af_product_all (double *real, double *imag, const af_array in)
| C Interface for product of all elements in an array. More...
AFAPI af_err | af_product_nan_all (double *real, double *imag, const af_array in, const double nanval)
| C Interface for product of all elements in an array while replacing nans. More...
AFAPI array | mul (const array &in, const int dim=-1)
| C++ Interface for product of elements in an array. More...
template<typename T >
T | mul (const array &in)
| C++ Interface for product of all elements in an array. More...

## Detailed Description

Find the product of values in the input.

This table defines the return value types for the corresponding input types

Input Type | Output Type
--- | ---
f32, f64, c32, c64 | same as input
s32, u32, s64, u64 | same as input
s16 | s32
u16, u8, b8 | u32

This function performs the operation across all batches present in the input simultaneously.

## Function Documentation

AFAPI af_err af_product | ( | af_array * | out,
|  | const af_array | in,
|  | const int | dim
| ) |  |

C Interface for product of elements in an array.

Parameters

  [out] | out | will contain the product of all values in `in` along `dim`
  [in] | in | is the input array
  [in] | dim | The dimension along which the multiply operation occurs

Returns
  AF_SUCCESS if the execution completes properly

AFAPI af_err af_product_all | ( | double * | real,
|  | double * | imag,
|  | const af_array | in
| ) |  |

C Interface for product of all elements in an array.

Parameters

  [out] | real | will contain the real part of multiplying all elements in input `in`
  [out] | imag | will contain the imaginary part of multiplying all elements in input `in`
  [in] | in | is the input array

Returns
  AF_SUCCESS if the execution completes properly

Note
  `imag` is always set to 0 when `in` is real

AFAPI af_err af_product_nan | ( | af_array * | out,
|  | const af_array | in,
|  | const int | dim,
|  | const double | nanval
| ) |  |

C Interface for product of elements in an array while replacing nans.

Parameters

  [out] | out | will contain the product of all values in `in` along `dim`
  [in] | in | is the input array
  [in] | dim | The dimension along which the add operation occurs
  [in] | nanval | Replace nans with the value passed to this function

Returns
  AF_SUCCESS if the execution completes properly

AFAPI af_err af_product_nan_all | ( | double * | real,
|  | double * | imag,
|  | const af_array | in,
|  | const double | nanval
| ) |  |

C Interface for product of all elements in an array while replacing nans.

Parameters

  [out] | real | will contain the real part of adding all elements in input `in`
  [out] | imag | will contain the imaginary part of adding all elements in input `in`
  [in] | in | is the input array
  [in] | nanval | is the value which replaces nan

Returns
  AF_SUCCESS if the execution completes properly

Note
  `imag` is always set to 0 when `in` is real

AFAPI array af::mul | ( | const array & | in,
|  | const int | dim = `-1`
| ) |  |

C++ Interface for product of elements in an array.

Parameters

  [in] | in | is the input array
  [in] | dim | The dimension along which the multiply operation occurs

Returns
  result of product all values along dimension `dim`

Note
  `dim` is -1 by default. -1 denotes the first non-singleton dimension.

Deprecated:
  Use product instead

T af::mul | ( | const array & | in | ) |

C++ Interface for product of all elements in an array.

Parameters

  [in] | in | is the input array

Returns
  the product of all values of `in`

Deprecated:
  Use product instead

AFAPI array af::product | ( | const array & | in,
|  | const int | dim = `-1`
| ) |  |

C++ Interface for product of elements in an array.

Parameters

  [in] | in | is the input array
  [in] | dim | The dimension along which the multiply operation occurs

Returns
  result of product all values along dimension `dim`

Note
  `dim` is -1 by default. -1 denotes the first non-singleton dimension.

Examples:
  financial/monte_carlo_options.cpp, and getting_started/integer.cpp.

AFAPI array af::product | ( | const array & | in,
|  | const int | dim,
|  | const double | nanval
| ) |  |

C++ Interface for product of elements in an array while replacing nan values.

Parameters

  [in] | in | is the input array
  [in] | dim | The dimension along which the add operation occurs
  [in] | nanval | Replace nans with the value passed to this function

Returns
  result of product all values along dimension `dim`

T af::product | ( | const array & | in | ) |

C++ Interface for product of all elements in an array.

Parameters

  [in] | in | is the input array

Returns
  the product of all values of `in`

T af::product | ( | const array & | in,
|  | double | nanval
| ) |  |

C++ Interface for product of all elements in an array while replacing nan values.

Parameters

  [in] | in | is the input array
  [in] | nanval | Replace nans with the value passed to this function

Returns
  the product of all values of `in`