Пример #1
0
        public virtual int imm_parseStream(byte[] sdata)
        {
            int           idx;
            List <int>    udat = new List <int>();
            List <double> dat  = new List <double>();

            if ((sdata).Length == 0)
            {
                _nRows = 0;
                return(YAPI.SUCCESS);
            }

            udat = YAPIContext.imm_decodeWords(_parent.imm_json_get_string(sdata));
            _values.Clear();
            idx = 0;
            if (_isAvg)
            {
                while (idx + 3 < udat.Count)
                {
                    dat.Clear();
                    dat.Add(this.imm_decodeVal(udat[idx + 2] + (((udat[idx + 3]) << (16)))));
                    dat.Add(this.imm_decodeAvg(udat[idx] + (((((udat[idx + 1]) ^ (0x8000))) << (16))), 1));
                    dat.Add(this.imm_decodeVal(udat[idx + 4] + (((udat[idx + 5]) << (16)))));
                    idx = idx + 6;
                    _values.Add(new List <double>(dat));
                }
            }
            else
            {
                while (idx + 1 < udat.Count)
                {
                    dat.Clear();
                    dat.Add(this.imm_decodeAvg(udat[idx] + (((((udat[idx + 1]) ^ (0x8000))) << (16))), 1));
                    _values.Add(new List <double>(dat));
                    idx = idx + 2;
                }
            }

            _nRows = _values.Count;
            return(YAPI.SUCCESS);
        }