package mikera.vectorz.impl;

import java.util.Iterator;
import java.util.NoSuchElementException;

/**
 * Iterator for elements stored in strided arrays.
 * 
 * @author Mike
 */
public final class StridedElementIterator implements Iterator {
	private final double[] source;
	private final int offset;
	private final int maxPos;
	private final int stride;
	private int pos;

	public StridedElementIterator(double[] source, int offset, int length,int stride) {
		this.pos=0;
		this.offset=offset;
		this.source=source;
		this.maxPos=length;
		this.stride=stride;
	}
	
	@Override
	public boolean hasNext() {
		return pos=maxPos) throw new NoSuchElementException();
		return source[offset+(pos++)*stride];
	}

	@Override
	public void remove() {
		throw new UnsupportedOperationException("Cannot remove from StridedElementIterator");
	}
}

 

Ads help maintain this website.