@Override
    public IComplexNDArray convn(IComplexNDArray input, IComplexNDArray kernel, Convolution.Type type) {
        return convn(input, kernel, type, ArrayUtil.range(0, input.shape().length));
    }
@Override
    public IComplexNDArray convn(IComplexNDArray input, IComplexNDArray kernel, Convolution.Type type) {
        return convn(input, kernel, type, ArrayUtil.range(0, input.shape().length));
    }
@ Override public IComplexNDArray convn ( IComplexNDArray input , IComplexNDArray kernel , Convolution . Type type ) { return convn ( input , kernel , type , ArrayUtil . range ( 0 , input . shape ( ) . length ) ) ; }
ND Convolution

@param input  the input to transform
@param kernel the kernel to transform with
@param type   the opType of convolution
@return the convolution of the given input and kernel
ND Convolution