public void putData(short[,] data) { int nSamples = data.GetLength(0); if (nSamples == 0) { return; } int nChans = data.GetLength(1); if (nChans == 0) { return; } ByteBuffer buf = preparePutData(nChans, nSamples, DataType.INT16); short[] rowData; for (int i = 0; i < nSamples; i++) { rowData = getRow <short>(data, i); buf.asShortBuffer().put(rowData); } buf.rewind(); writeAll(buf); readResponse(PUT_OK); }
public short[,] getShortData(int first, int last) { DataDescription dd = new DataDescription(); ByteBuffer buf = getRawData(first, last, dd); int nSamples = dd.nSamples; int nChans = dd.nChans; short[,] data = new short[nSamples, nChans]; switch (dd.dataType) { case DataType.INT8: for (int i = 0; i < nSamples; i++) { for (int j = 0; j < nChans; j++) { data[i, j] = (short)buf.get(); } } break; case DataType.INT16: ShortBuffer sBuf = buf.asShortBuffer(); short[] rowData; for (int n = 0; n < nSamples; n++) { rowData = getRow <short>(data, n); sBuf.get(rowData); } break; default: throw new IOException("Not supported yet - returning zeros."); break; } return(data); }
public void serialize(ByteBuffer buf) { switch (type) { case DataType.CHAR: buf.putString(array.ToString()); break; case DataType.UINT8: case DataType.INT8: buf.put((byte[])array); break; case DataType.UINT16: case DataType.INT16: buf.asShortBuffer().put((short[])array); break; case DataType.UINT32: case DataType.INT32: buf.asIntBuffer().put((int[])array); break; case DataType.UINT64: case DataType.INT64: buf.asLongBuffer().put((long[])array); break; case DataType.FLOAT32: buf.asFloatBuffer().put((float[])array); break; case DataType.FLOAT64: buf.asDoubleBuffer().put((double[])array); break; } }
public void serialize(ByteBuffer buf) { switch(type) { case DataType.CHAR: buf.putString(array.ToString()); break; case DataType.UINT8: case DataType.INT8: buf.put((byte[]) array); break; case DataType.UINT16: case DataType.INT16: buf.asShortBuffer().put((short[]) array); break; case DataType.UINT32: case DataType.INT32: buf.asIntBuffer().put((int[]) array); break; case DataType.UINT64: case DataType.INT64: buf.asLongBuffer().put((long[]) array); break; case DataType.FLOAT32: buf.asFloatBuffer().put((float[]) array); break; case DataType.FLOAT64: buf.asDoubleBuffer().put((double[]) array); break; } }