/** * An implementation of {@link Object#hashCode} that is consistent with {@link #equals(Array, Array)}. * * @param array an array to hash. * @return a hash code value for the array. */ // TODO: Should we add this to Array as the Object.hashCode() implementation? How much work is that? public static int hashCode(Array array) { if (array == null) { return 0; } int hash = 3; hash = 29 * hash + array.getDataType().hashCode(); hash = 29 * hash + Arrays.hashCode(array.getShape()); // We can't simply hash array.getStorage(), because array may be a "view" that doesn't include all of the // elements in the backing store. for (IndexIterator iter = array.getIndexIterator(); iter.hasNext(); ) { hash = 29 * hash + iter.next().hashCode(); hash = 29 * hash + Arrays.hashCode(iter.getCurrentCounter()); } return hash; } }
@Test public void testFactory() throws Exception { zeroRank = Array.factory(DataType.INT, new int[0]); iter = zeroRank.getIndexIterator(); currentCounter = iter.getCurrentCounter(); assert currentCounter.length == 0; }
return false; if (!Arrays.equals(iter1.getCurrentCounter(), iter2.getCurrentCounter())) { return false;
private Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private static Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private static Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private static Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private Array convertToChar(Variable newVar, Array oldData) { ArrayChar newData = (ArrayChar) Array.factory(DataType.CHAR, newVar.getShape()); Index ima = newData.getIndex(); IndexIterator ii = oldData.getIndexIterator(); while (ii.hasNext()) { String s = (String) ii.getObjectNext(); int[] c = ii.getCurrentCounter(); for (int i = 0; i < c.length; i++) ima.setDim(i, c[i]); newData.setString(ima, s); } return newData; }
private void fill(Array a, int start) { IndexIterator ii = a.getIndexIterator(); while (ii.hasNext()) { ii.getIntNext(); int[] counter = ii.getCurrentCounter(); int value = 0; for (int i = 0; i < counter.length; i++) value = start + value * 10 + counter[i]; ii.setIntCurrent(value); } }
private void fill(Array a) { IndexIterator ii = a.getIndexIterator(); while (ii.hasNext()) { ii.getIntNext(); int[] counter = ii.getCurrentCounter(); int value = 0; for (int i = 0; i < counter.length; i++) value = value * 10 + counter[i]; ii.setIntCurrent(value); } }
private void fill(Array a) { IndexIterator ii = a.getIndexIterator(); while (ii.hasNext()) { ii.getIntNext(); int[] counter = ii.getCurrentCounter(); int value = 0; for (int i = 0; i < counter.length; i++) value = value * 10 + counter[i]; ii.setIntCurrent(value); } }
System.out.println(" got not NaN at =" + ii); int[] current = ii.getCurrentCounter(); if ((current[1] > 0) && (current[2] > 1)) { System.out.println(" got missing at =" + ii);
logger.debug(" got not NaN at = {}", ii); int[] current = ii.getCurrentCounter(); if ((current[1] > 0) && (current[2] > 1)) { logger.debug("got missing at = {}", ii);