@Override
    public IComplexNDArray muli(INDArray other, INDArray result) {
    """
	in place (element wise) multiplication of two matrices
	
	@param other  the second ndarray to multiply
	@param result the result ndarray
	@return the result of the multiplication
    """
        IComplexNDArray cOther = (IComplexNDArray) other;
        IComplexNDArray cResult = (IComplexNDArray) result;

        IComplexNDArray linear = linearView();
        IComplexNDArray cOtherLinear = cOther.linearView();
        IComplexNDArray cResultLinear = cResult.linearView();

        if (other.isScalar())
            return muli(cOther.getComplex(0), result);


        IComplexNumber c = Nd4j.createComplexNumber(0, 0);
        IComplexNumber d = Nd4j.createComplexNumber(0, 0);

        for (int i = 0; i < length(); i++)
            cResultLinear.putScalar(i, linear.getComplex(i, c).muli(cOtherLinear.getComplex(i, d)));
        return cResult;
    }
@Override
    public IComplexNDArray muli(INDArray other, INDArray result) {
        IComplexNDArray cOther = (IComplexNDArray) other;
        IComplexNDArray cResult = (IComplexNDArray) result;

        IComplexNDArray linear = linearView();
        IComplexNDArray cOtherLinear = cOther.linearView();
        IComplexNDArray cResultLinear = cResult.linearView();

        if (other.isScalar())
            return muli(cOther.getComplex(0), result);


        IComplexNumber c = Nd4j.createComplexNumber(0, 0);
        IComplexNumber d = Nd4j.createComplexNumber(0, 0);

        for (int i = 0; i < length(); i++)
            cResultLinear.putScalar(i, linear.getComplex(i, c).muli(cOtherLinear.getComplex(i, d)));
        return cResult;
    }
@ Override public IComplexNDArray muli ( INDArray other , INDArray result ) { IComplexNDArray cOther = ( IComplexNDArray ) other ; IComplexNDArray cResult = ( IComplexNDArray ) result ; IComplexNDArray linear = linearView ( ) ; IComplexNDArray cOtherLinear = cOther . linearView ( ) ; IComplexNDArray cResultLinear = cResult . linearView ( ) ; if ( other . isScalar ( ) ) return muli ( cOther . getComplex ( 0 ) , result ) ; IComplexNumber c = Nd4j . createComplexNumber ( 0 , 0 ) ; IComplexNumber d = Nd4j . createComplexNumber ( 0 , 0 ) ; for ( int i = 0 ; i < length ( ) ; i ++ ) cResultLinear . putScalar ( i , linear . getComplex ( i , c ) . muli ( cOtherLinear . getComplex ( i , d ) ) ) ; return cResult ; }
in place (element wise) multiplication of two matrices

@param other  the second ndarray to multiply
@param result the result ndarray
@return the result of the multiplication
in place ( element wise ) multiplication of two matrices