@Override
    public IComplexNDArray put(int i, IComplexNDArray element) {
        if (element == null)
            throw new IllegalArgumentException("Unable to insert null element");

        assert element.isScalar() : "Unable to insert non scalar element";
        long idx = linearIndex(i);
        IComplexNumber n = element.getComplex(0);
        data.put(idx, n.realComponent().doubleValue());
        data.put(idx + 1, n.imaginaryComponent().doubleValue());
        return this;
    }
@Override
    public IComplexNDArray put(int i, IComplexNDArray element) {
        if (element == null)
            throw new IllegalArgumentException("Unable to insert null element");

        assert element.isScalar() : "Unable to insert non scalar element";
        long idx = linearIndex(i);
        IComplexNumber n = element.getComplex(0);
        data.put(idx, n.realComponent().doubleValue());
        data.put(idx + 1, n.imaginaryComponent().doubleValue());
        return this;
    }
@ Override public IComplexNDArray put ( int i , IComplexNDArray element ) { if ( element == null ) throw new IllegalArgumentException ( "Unable to insert null element" ) ; assert element . isScalar ( ) : "Unable to insert non scalar element" ; long idx = linearIndex ( i ) ; IComplexNumber n = element . getComplex ( 0 ) ; data . put ( idx , n . realComponent ( ) . doubleValue ( ) ) ; data . put ( idx + 1 , n . imaginaryComponent ( ) . doubleValue ( ) ) ; return this ; }
Inserts the element at the specified index

@param i       the index insert into
@param element a scalar ndarray
@return a scalar ndarray of the element at this index
Inserts the element at the specified index