On success, S3L_deconv returns S3L_SUCCESS.
S3L_deconv performs generic checking of the arrays it accepts as arguments. If an array argument contains an invalid or corrupted value, the function terminates and an error code indicating which value of the array handle was invalid is returned. See Appendix A of this manual for a detailed list of these error codes.
In addition, the following conditions cause the function to terminate and return one of the following codes:
S3L_ERR_MATCH_DTYPE - a, b, and c do not have the same data type.
S3L_ERR_MATCH_RANK - a, b, and c do not have the same rank.
S3L_ERR_ARG_RANK - The rank of an array argument is larger than 2.
S3L_ERR_ARG_DTYPE - The data type of one of the array arguments is invalid. It must be one of:
S3L_float
S3L_double
S3L_complex
S3L_double_complex
S3L_ERR_ARG_EXTENTS - The extents of c are smaller than two times the sum of the corresponding extents of a and b minus 1.
In addition, since S3L_fft or S3L_rc_fft is used internally to compute the deconvolution, if the dimensions of c are not appropriate for using S3L_fft or S3L_rc_fft, an error code indicating the unsuitability is returned. See "S3L_fft " and "S3L_rc_fft and S3L_cr_fft " for more details.