Mercurial > hg > semantic-sia
diff src/org/qmul/eecs/c4dm/sia/model/VectorTable.java @ 27:c4d7e4a8ba59
new
author | stevenh |
---|---|
date | Tue, 08 Jan 2013 18:44:01 +0000 |
parents | |
children | ad9ef7637caa |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/VectorTable.java Tue Jan 08 18:44:01 2013 +0000 @@ -0,0 +1,77 @@ +package org.qmul.eecs.c4dm.sia.model; + +import java.util.List; + +public class VectorTable { + + private List<VectorTableElement> vteList; + private int numDatapoints; // the number of datapoints used to create this Vector Table + + public VectorTableElement get(int i) + { + return vteList.get(i); + } + + public NDimensionalObject getVector(int i, int j) + { + NDimensionalObject vector = new NDimensionalObject(); + + for (VectorTableElement vte : vteList) + { + if (vte.getFromDatapoint().getOrderedIndex() == i && vte.getToDatapoint().getOrderedIndex() == j) + { + vector = vte.getVector(); + break; + } + } + + return vector; + } + + private int vteListIndex(int i, int j) { + int vteListIndex = (i - 1) * numDatapoints + j - 1; + + return vteListIndex; + } + + public int getI(int i, int j) + { + int vteListIndex = vteListIndex(i, j); + int iResult = vteList.get(vteListIndex).getFromDatapoint().getOrderedIndex(); + + return iResult; + } + + public int size() + { + return vteList.size(); + } + + /** + * @return the vteList + */ + public List<VectorTableElement> getVteList() { + return vteList; + } + + /** + * @param vteList the vteList to set + */ + public void setVteList(List<VectorTableElement> vteList) { + this.vteList = vteList; + } + + /** + * @return the numDatapoints + */ + public int getNumDatapoints() { + return numDatapoints; + } + + /** + * @param numDatapoints the numDatapoints to set + */ + public void setNumDatapoints(int numDatapoints) { + this.numDatapoints = numDatapoints; + } +}