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); }