@Override public void move( final int distance, final int d ) { assert d < n; position[ d ] += distance; if ( !sourceZero[ d ] ) s.move( distance, sourceComponent[ d ] ); }
@Override public void move( final long distance, final int d ) { assert d < n; position[ d ] += distance; if ( !sourceZero[ d ] ) s.move( distance, sourceComponent[ d ] ); }
@Override public void move( final int[] distance ) { assert distance.length >= n; // we just loop over the source dimension. // this may not assign all components of the target distance in // tmpDistance[]. // however, the missing components are already assigned to 0 for ( int d = 0; d < n; ++d ) tmpDistance[ sourceComponent[ d ] ] = distance[ d ]; s.move( tmpDistance ); }
@Override public void move( final int[] distance ) { source.move( distance ); }
@Override public void move( final long distance, final int d ) { assert d < n; position[ d ] += distance; if ( !sourceZero[ d ] ) s.move( sourceInv[ d ] ? -distance : distance, sourceComponent[ d ] ); }
@Override public void move( final int distance, final int d ) { if ( d < sd ) for ( int s = 0; s < sliceAccesses.length; ++s ) sliceAccesses[ s ].move( distance, d ); else slice += distance; }
@Override public void move( final int distance, final int d ) { assert d < n; s.move( distance, sourceComponent[ d ] ); }
@Override public void move( final long distance, final int d ) { assert d < n; s.move( distance, sourceComponent[ d ] ); }
@Override public void move( final long[] distance ) { assert distance.length >= n; // we just loop over the source dimension. // this may not assign all components of the target distance in // tmpDistance[]. // however, the missing components are already assigned to 0 for ( int d = 0; d < n; ++d ) tmpDistance[ sourceComponent[ d ] ] = distance[ d ]; s.move( tmpDistance ); }
@Override public void move( final Localizable localizable ) { source.move( localizable ); }
@Override public void move( final long[] distance ) { for ( int s = 0; s < sliceAccesses.length; ++s ) for ( int d = 0; d < sd; ++d ) sliceAccesses[ s ].move( distance[ d ], d ); slice += ( int ) distance[ sd ]; }
@Override public void move( final int distance, final int d ) { s.move( distance, d ); }
@Override public void move( final long distance, final int d ) { assert d < n; s.move( sourceInv[ d ] ? -distance : distance, sourceComponent[ d ] ); }
@Override public void move( final long distance, final int d ) { source.move( distance, d ); }
@Override public void move( final int distance, final int d ) { if ( d < sd ) sliceAccess.move( distance, d ); else setSlice( slice + distance ); }
@Override public void move( final int[] distance ) { for ( int d = 0; d < sd; ++d ) sliceAccess.move( distance[ d ], d ); setSlice( slice + distance[ sd ] ); }
@Override public void move( final long distance, final int d ) { if ( d < sd ) sliceAccess.move( distance, d ); else setSlice( slice + ( int ) distance ); }
@Override public void move( final Localizable distance ) { for ( int s = 0; s < sliceAccesses.length; ++s ) for ( int d = 0; d < sd; ++d ) sliceAccesses[ s ].move( distance.getLongPosition( d ), d ); slice += distance.getIntPosition( sd ); }
private void collectAtPreviousFragmentBorderUnchecked( final RandomAccess< L > la, final TIntArrayList neighborLabels ) { neighborLabels.clear(); for ( int i = 0; i < numPreviousFragmentOffsets; ++i ) { la.move( offsets[ i ] ); final int l = la.get().getInteger(); if ( l != 0 ) neighborLabels.add( l ); } la.move( previousFragmentPos ); }
@Override public void move( final Localizable localizable ) { assert localizable.numDimensions() >= n; // we just loop over the source dimension. // this may not assign all components of the target distance in // tmpDistance[]. // however, the missing components are already assigned to 0 for ( int d = 0; d < n; ++d ) tmpDistance[ sourceComponent[ d ] ] = localizable.getLongPosition( d ); s.move( tmpDistance ); }