Return the cumulative product of the elements along the given axis. The cumulative product is taken over the flattened array by default, otherwise over the specified axis.
Masked values are set to 1 internally during the computation. However, their position is saved, and the result will be masked at the same locations.
Parameters:  axis : {None, 1, int}, optional
dtype : {None, dtype}, optional
out : ndarray, optional


Returns:  cumprod : ndarray

Notes
The mask is lost if out is not a valid MaskedArray !
Arithmetic is modular when using integer types, and no error is raised on overflow.