public CQI_ReportBoth_r11 Decode(BitArrayInputStream input) { int num2; CQI_ReportBoth_r11 _r = new CQI_ReportBoth_r11(); _r.InitDefaults(); BitMaskStream stream = new BitMaskStream(input, 4); if (stream.Read()) { _r.csi_IM_ConfigToReleaseList_r11 = new List <long>(); num2 = 2; int num3 = input.readBits(num2) + 1; for (int i = 0; i < num3; i++) { long item = input.readBits(2) + 1; _r.csi_IM_ConfigToReleaseList_r11.Add(item); } } if (stream.Read()) { _r.csi_IM_ConfigToAddModList_r11 = new List <CSI_IM_Config_r11>(); num2 = 2; int num6 = input.readBits(num2) + 1; for (int j = 0; j < num6; j++) { CSI_IM_Config_r11 _r2 = CSI_IM_Config_r11.PerDecoder.Instance.Decode(input); _r.csi_IM_ConfigToAddModList_r11.Add(_r2); } } if (stream.Read()) { _r.csi_ProcessToReleaseList_r11 = new List <long>(); num2 = 2; int num8 = input.readBits(num2) + 1; for (int k = 0; k < num8; k++) { long num10 = input.readBits(2) + 1; _r.csi_ProcessToReleaseList_r11.Add(num10); } } if (stream.Read()) { _r.csi_ProcessToAddModList_r11 = new List <CSI_Process_r11>(); num2 = 2; int num11 = input.readBits(num2) + 1; for (int m = 0; m < num11; m++) { CSI_Process_r11 _r3 = CSI_Process_r11.PerDecoder.Instance.Decode(input); _r.csi_ProcessToAddModList_r11.Add(_r3); } } return(_r); }
public CSI_Process_r11 Decode(BitArrayInputStream input) { CSI_Process_r11 _r = new CSI_Process_r11(); _r.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 3); _r.csi_ProcessId_r11 = input.ReadBits(2) + 1; _r.csi_RS_ConfigNZPId_r11 = input.ReadBits(2) + 1; _r.csi_IM_ConfigId_r11 = input.ReadBits(2) + 1; _r.p_C_AndCBSRList_r11 = new List <P_C_AndCBSR_r11>(); int nBits = 1; int num3 = input.ReadBits(nBits) + 1; for (int i = 0; i < num3; i++) { P_C_AndCBSR_r11 item = P_C_AndCBSR_r11.PerDecoder.Instance.Decode(input); _r.p_C_AndCBSRList_r11.Add(item); } if (stream.Read()) { _r.cqi_ReportBothProc_r11 = CQI_ReportBothProc_r11.PerDecoder.Instance.Decode(input); } if (stream.Read()) { _r.cqi_ReportPeriodicProcId_r11 = input.ReadBits(2); } if (stream.Read()) { _r.cqi_ReportAperiodicProc_r11 = CQI_ReportAperiodicProc_r11.PerDecoder.Instance.Decode(input); } if (flag) { BitMaskStream stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { nBits = 1; _r.alternativeCodebookEnabledFor4TXProc_r12 = (alternativeCodebookEnabledFor4TXProc_r12_Enum)input.ReadBits(nBits); } } return(_r); }
public CSI_Process_r11 Decode(BitArrayInputStream input) { CSI_Process_r11 _r = new CSI_Process_r11(); _r.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 3); _r.csi_ProcessId_r11 = input.ReadBits(2) + 1; _r.csi_RS_ConfigNZPId_r11 = input.ReadBits(2) + 1; _r.csi_IM_ConfigId_r11 = input.ReadBits(2) + 1; _r.p_C_AndCBSRList_r11 = new List<P_C_AndCBSR_r11>(); int nBits = 1; int num3 = input.ReadBits(nBits) + 1; for (int i = 0; i < num3; i++) { P_C_AndCBSR_r11 item = P_C_AndCBSR_r11.PerDecoder.Instance.Decode(input); _r.p_C_AndCBSRList_r11.Add(item); } if (stream.Read()) { _r.cqi_ReportBothProc_r11 = CQI_ReportBothProc_r11.PerDecoder.Instance.Decode(input); } if (stream.Read()) { _r.cqi_ReportPeriodicProcId_r11 = input.ReadBits(2); } if (stream.Read()) { _r.cqi_ReportAperiodicProc_r11 = CQI_ReportAperiodicProc_r11.PerDecoder.Instance.Decode(input); } if (flag) { BitMaskStream stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { nBits = 1; _r.alternativeCodebookEnabledFor4TXProc_r12 = (alternativeCodebookEnabledFor4TXProc_r12_Enum)input.ReadBits(nBits); } } return _r; }