final long[] max = new long[ n ]; Arrays.fill( max, 1 ); final IntervalIterator idx = new IntervalIterator( new FinalInterval( min, max ) ); for ( int i = 0; i < offsets.length; ++i ) A: while ( true ) idx.fwd(); idx.localize( offsets[ i ] ); for ( int d = n - 1; d >= 0; --d ) if ( offsets[ i ][ d ] < 0 )
IntervalIterator lineCur = new IntervalIterator( ldim ); Arrays.fill( roi, 3 ); roi[ 0 ] = 1; IntervalIterator roiCur = new IntervalIterator( roi ); while ( lineCur.hasNext() ) lineCur.fwd(); roiCur.reset(); while ( roiCur.hasNext() ) roiCur.fwd(); for ( i = 1; i < dim.length; i++ ) op.setPosition( lineCur.getLongPosition( i ) + roiCur.getLongPosition( i ) - 1, i ); roiCur.reset(); while ( roiCur.hasNext() ) roiCur.fwd(); for ( i = 1; i < dim.length; i++ ) op.setPosition( lineCur.getLongPosition( i ) + roiCur.getLongPosition( i ) - 1, i ); for ( i = 1; i < dim.length; i++ ) r.setPosition( lineCur.getLongPosition( i ), i );
final IntervalIterator ii = new IntervalIterator( lineDim ); long x0, dim0 = kernel.dimension( m_dimIndex0 ); int kernelSize = 0; int[] pos = new int[ kernel.numDimensions() ]; while ( ii.hasNext() ) ii.fwd(); cur.setPosition( ii ); for ( x0 = 0; x0 < dim0; x0++ ) ii.localize( pos ); pos[ m_dimIndex0 ] = pos[ m_dimIndex0 ] - 1; for ( int i = 0; i < pos.length; i++ ) ii.localize( pos ); for ( int i = 0; i < pos.length; i++ )
@Override public String toString() { final int[] l = new int[ dimensions.length ]; localize( l ); return Util.printCoordinates( l ); }
static public IntervalIterator create( final Interval interval ) { final int n = interval.numDimensions(); for ( int d = 0; d < n; ++d ) if ( interval.min( d ) != 0 ) return new IntervalIterator( interval ); return new ZeroMinIntervalIterator( interval ); }
final IntervalIterator ii = new IntervalIterator( lineDim ); long x0, dim0 = kernel.dimension( m_dimIndex0 ); int kernelSize = 0; int[] pos = new int[ kernel.numDimensions() ]; while ( ii.hasNext() ) ii.fwd(); cur.setPosition( ii ); for ( x0 = 0; x0 < dim0; x0++ ) ii.localize( pos ); pos[ m_dimIndex0 ] = pos[ m_dimIndex0 ] - 1; for ( int i = 0; i < pos.length; i++ ) ii.localize( pos ); for ( int i = 0; i < pos.length; i++ )
@Override public String toString() { final int[] l = new int[ dimensions.length ]; localize( l ); return Util.printCoordinates( l ); }
static public IntervalIterator create( final Interval interval ) { final int n = interval.numDimensions(); for ( int d = 0; d < n; ++d ) if ( interval.min( d ) != 0 ) return new IntervalIterator( interval ); return new ZeroMinIntervalIterator( interval ); }
IntervalIterator lineCur = new IntervalIterator( ldim ); Arrays.fill( roi, 3 ); roi[ 0 ] = 1; IntervalIterator roiCur = new IntervalIterator( roi ); while ( lineCur.hasNext() ) lineCur.fwd(); roiCur.reset(); while ( roiCur.hasNext() ) roiCur.fwd(); for ( i = 1; i < dim.length; i++ ) op.setPosition( lineCur.getLongPosition( i ) + roiCur.getLongPosition( i ) - 1, i ); roiCur.reset(); while ( roiCur.hasNext() ) roiCur.fwd(); for ( i = 1; i < dim.length; i++ ) op.setPosition( lineCur.getLongPosition( i ) + roiCur.getLongPosition( i ) - 1, i ); for ( i = 1; i < dim.length; i++ ) r.setPosition( lineCur.getLongPosition( i ), i );
final long[] omax = new long[ n ]; Arrays.fill( omax, 1 ); final IntervalIterator idx = new IntervalIterator( new FinalInterval( omin, omax ) ); final int center = ( offsets.length - 1 ) / 2; final long[] pos = new long[ n ]; resets[ i ] = new long[ n ]; if ( i == center ) idx.fwd(); idx.fwd(); idx.localize( offsets[ i ] ); for ( int d = 0; d < n; ++d )
dim[ m_dimIndex0 ] = 1; final IntervalIterator ii = new IntervalIterator( dim ); RandomAccess< T > cr = r.randomAccess(); RandomAccess< T > co = Views.extendValue( op, op.firstElement().createVariable() ).randomAccess(); while ( ii.hasNext() ) ii.fwd(); co.setPosition( ii.getLongPosition( i ) + q.getOffset( i ), i ); co.setPosition( ii.getLongPosition( i ), i ); co.setPosition( ii.getLongPosition( i ) + q.getOffset( i ), i ); co.setPosition( ii.getLongPosition( i ), i );
dim[ m_dimIndex0 ] = 1; final IntervalIterator ii = new IntervalIterator( dim ); RandomAccess< T > cr = r.randomAccess(); RandomAccess< T > co = Views.extendValue( op, iterOp.firstElement().createVariable() ).randomAccess(); while ( ii.hasNext() ) ii.fwd(); co.setPosition( ii.getLongPosition( i ) + q.getOffset( i ), i ); co.setPosition( ii.getLongPosition( i ), i ); co.setPosition( ii.getLongPosition( i ) + q.getOffset( i ), i ); co.setPosition( ii.getLongPosition( i ), i );