protected void copyTo1DJavaArray(IndexIterator iter, Object javaArray) { byte[] ja = (byte[]) javaArray; for (int i = 0; i < ja.length; i++) ja[i] = iter.getByteNext(); }
/** * Return the next byte in the local iterator. * Uses the local iterator, which is not thread-safe. Use getIndexIterator if you need thread-safety. * * @return next element as a byte, same as IndexIterator.getByteNext(). */ public byte nextByte() { return ii.getByteNext(); }
protected void copyTo1DJavaArray(IndexIterator iter, Object javaArray) { byte[] ja = (byte[]) javaArray; for (int i = 0; i < ja.length; i++) ja[i] = iter.getByteNext(); }
/** * Return the next byte in the local iterator. * Uses the local iterator, which is not thread-safe. Use getIndexIterator if you need thread-safety. * * @return next element as a byte, same as IndexIterator.getByteNext(). */ public byte nextByte() { return ii.getByteNext(); }
/** * Return the next byte in the local iterator. * Uses the local iterator, which is not thread-safe. Use getIndexIterator if you need thread-safety. * * @return next element as a byte, same as IndexIterator.getByteNext(). */ public byte nextByte() { return ii.getByteNext(); }
protected void copyTo1DJavaArray(IndexIterator iter, Object javaArray) { byte[] ja = (byte[]) javaArray; for (int i = 0; i < ja.length; i++) ja[i] = iter.getByteNext(); }
byte b = it.getByteNext();
protected void copyBytes(int recnum, StructureMembers.Member m, IndexIterator result) { IndexIterator dataIter = getArray(recnum, m).getIndexIterator(); while (dataIter.hasNext()) result.setByteNext(dataIter.getByteNext()); }
protected void copyBytes(int recnum, StructureMembers.Member m, IndexIterator result) { IndexIterator dataIter = getArray(recnum, m).getIndexIterator(); while (dataIter.hasNext()) result.setByteNext(dataIter.getByteNext()); }
protected void copyBytes(int recnum, StructureMembers.Member m, IndexIterator result) { IndexIterator dataIter = getArray(recnum, m).getIndexIterator(); while (dataIter.hasNext()) result.setByteNext(dataIter.getByteNext()); }
/** * copy array a to array result as bytes * The values from the array a are converted to byte (if needed), * and then converted to the type of result (if needed). * * @param result copy to here * @param a copy from here * * @throws IllegalArgumentException a and result are not conformable */ public static void copyByte(Array result, Array a) throws IllegalArgumentException { if (!conformable(a, result)) throw new IllegalArgumentException("copy arrays are not conformable"); IndexIterator iterA = a.getIndexIterator(); IndexIterator iterR = result.getIndexIterator(); while (iterA.hasNext()) iterR.setByteNext(iterA.getByteNext()); }
/** * copy array a to array result as bytes * The values from the array a are converted to byte (if needed), * and then converted to the type of result (if needed). * * @param result copy to here * @param a copy from here * * @throws IllegalArgumentException a and result are not conformable */ public static void copyByte(Array result, Array a) throws IllegalArgumentException { if (!conformable(a, result)) throw new IllegalArgumentException("copy arrays are not conformable"); IndexIterator iterA = a.getIndexIterator(); IndexIterator iterR = result.getIndexIterator(); while (iterA.hasNext()) iterR.setByteNext(iterA.getByteNext()); }
/** * copy array a to array result as bytes * The values from the array a are converted to byte (if needed), * and then converted to the type of result (if needed). * * @param result copy to here * @param a copy from here * * @throws IllegalArgumentException a and result are not conformable */ public static void copyByte(Array result, Array a) throws IllegalArgumentException { if (!conformable(a, result)) throw new IllegalArgumentException("copy arrays are not conformable"); IndexIterator iterA = a.getIndexIterator(); IndexIterator iterR = result.getIndexIterator(); while (iterA.hasNext()) iterR.setByteNext(iterA.getByteNext()); }
private void convertScaleOffsetUnsignedByte(IndexIterator iterIn, IndexIterator iterOut) { boolean checkMissing = useNaNs && hasMissing(); while (iterIn.hasNext()) { byte valb = iterIn.getByteNext(); double val = scale * DataType.unsignedByteToShort(valb) + offset; iterOut.setDoubleNext(checkMissing && isMissing_(val) ? Double.NaN : val); } }
private void convertScaleOffsetUnsignedByte(IndexIterator iterIn, IndexIterator iterOut) { boolean checkMissing = useNaNs && hasMissing(); while (iterIn.hasNext()) { byte valb = iterIn.getByteNext(); double val = scale * DataType.unsignedByteToShort(valb) + offset; iterOut.setDoubleNext(checkMissing && isMissing_(val) ? Double.NaN : val); } }
void copyArrayToBB(Array data, ByteBuffer out) { Class classType = data.getElementType(); IndexIterator iterA = data.getIndexIterator(); if (classType == double.class) { while (iterA.hasNext()) out.putDouble(iterA.getDoubleNext()); } else if (classType == float.class) { while (iterA.hasNext()) out.putFloat(iterA.getFloatNext()); } else if (classType == long.class) { while (iterA.hasNext()) out.putLong(iterA.getLongNext()); } else if (classType == int.class) { while (iterA.hasNext()) out.putInt(iterA.getIntNext()); } else if (classType == short.class) { while (iterA.hasNext()) out.putShort(iterA.getShortNext()); } else if (classType == char.class) { byte[] pa = IospHelper.convertCharToByte((char[]) data.get1DJavaArray(DataType.CHAR)); out.put(pa, 0, pa.length); } else if (classType == byte.class) { while (iterA.hasNext()) out.put(iterA.getByteNext()); } else throw new UnsupportedOperationException("Class type = " + classType.getName()); }
outStream.writeByte(iterA.getByteNext());
private long writeData(Variable v, DataOutputStream stream, Array values) throws java.io.IOException { DataType dataType = v.getDataType(); IndexIterator ii = values.getIndexIterator(); if (dataType == DataType.BYTE) { while (ii.hasNext()) stream.write(ii.getByteNext()); return values.getSize(); } else if (dataType == DataType.CHAR) { while (ii.hasNext()) stream.write(ii.getByteNext()); return values.getSize(); } else if (dataType == DataType.SHORT) { while (ii.hasNext()) stream.writeShort(ii.getShortNext()); return 2 * values.getSize(); } else if (dataType == DataType.INT) { while (ii.hasNext()) stream.writeInt(ii.getIntNext()); return 4 * values.getSize(); } else if (dataType == DataType.FLOAT) { while (ii.hasNext()) stream.writeFloat(ii.getFloatNext()); return 4 * values.getSize(); } else if (dataType == DataType.DOUBLE) { while (ii.hasNext()) stream.writeDouble(ii.getDoubleNext()); return 8 * values.getSize(); } throw new IllegalStateException("dataType= " + dataType); }
public void testByteAttribute() throws IOException { String filename = TestOnLocalServer.withHttpPath("dodsC/scanCdmUnitTests/ft/stationProfile/PROFILER_wind_06min_20091030_2330.nc"); NetcdfDataset ncd = NetcdfDataset.openDataset(filename, true, null); assert ncd != null; VariableDS v = (VariableDS) ncd.findVariable("uvQualityCode"); assert v != null; assert v.hasMissing(); int count = 0; Array data = v.read(); IndexIterator ii = data.getIndexIterator(); while (ii.hasNext()) { byte val = ii.getByteNext(); if (v.isMissing(val)) count++; if (val == (byte)-1) assert v.isMissing(val); } System.out.println("size = "+v.getSize()+" missing= "+count); } }
@Test public void testByteAttribute() throws IOException { String filename = TestOnLocalServer.withHttpPath("dodsC/scanCdmUnitTests/ft/stationProfile/PROFILER_wind_06min_20091030_2330.nc"); NetcdfDataset ncd = NetcdfDataset.openDataset(filename, true, null); assert ncd != null; VariableDS v = (VariableDS) ncd.findVariable("uvQualityCode"); assert v != null; assert v.hasMissing(); int count = 0; Array data = v.read(); IndexIterator ii = data.getIndexIterator(); while (ii.hasNext()) { byte val = ii.getByteNext(); if (v.isMissing(val)) count++; if (val == (byte)-1) assert v.isMissing(val); } System.out.println("size = "+v.getSize()+" missing= "+count); } }