asShortBuffer() public method

public asShortBuffer ( ) : ShortBuffer
return ShortBuffer
示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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;
            }
        }
示例#4
0
 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;
     }
 }