private byte GetSelCenterBeginSbIndex(ScheduleResource res, IUlSchuduleCarrier carrier) { if (res.RbLists[0].Count > 0) { return this.FindBeginRBIndex(res.RbLists[0], carrier); } return this.FindBeginRBIndex(res.RbLists[1], carrier); }
public byte GetNonFreqSelUserBeginSbIndex(IUlScheduleUser user, ScheduleResource res) { if (user.IsEdgeUser) {//ÈôÊDZßÑØÓû§Ôò¡¤¡¤¡¤ return this.GetFirstEdgeIndex(user, res); } return this.GetFirstCenterIndex(res); }
public ScheduleResource InitResTemplet(byte bandwidthRbNum, LteAlgParam algParameter) { ScheduleResource scheduleResourceIn = new ScheduleResource(); byte num = (byte)(bandwidthRbNum - algParameter.UlPucchRbs); byte puschRbNumEdge = (byte) Math.Floor((double) (((double) num) / 3.0));//±ßÔµRb×ÊԴΪʲô/3 £¿ this.InitRbList(scheduleResourceIn, bandwidthRbNum, puschRbNumEdge, algParameter); return scheduleResourceIn; }
private void CloneRbs(ScheduleResource clone) { foreach (List<RBData> list in this.m_RbLists) { List<RBData> item = new List<RBData>(); item.AddRange(list); clone.m_RbLists.Add(item); } }
protected override void InitRbList(ScheduleResource scheduleResourceIn, byte bandwidthRbNum, byte puschRbNumEdge, LteAlgParam algParameter) { List<RBData> centerRbDataList = new List<RBData>(); List<RBData> edgeRbDataList = new List<RBData>(); byte puschStartRbIndex = 0; byte puschEndRbIndex = Convert.ToByte((int)((puschStartRbIndex + (bandwidthRbNum - algParameter.UlPucchRbs)) - 1)); this.InitCenterRbRes(puschStartRbIndex, puschRbNumEdge, centerRbDataList); this.InitEdgeRbRes(puschStartRbIndex, puschEndRbIndex, puschRbNumEdge, edgeRbDataList); scheduleResourceIn.RbLists.Add(centerRbDataList); scheduleResourceIn.RbLists.Add(edgeRbDataList); }
public List<byte> TryApplyRes(ScheduleResource res, int RbNum, bool isEdgeUser) { List<byte> list = new List<byte>(); if (res.RbLists[0].Count >= RbNum) { for (int i = 0; i < RbNum; i++) { list.Add(res.RbLists[0][i].Index); } } return list; }
public byte GetFreqSelUserBeginSbIndex(IUlScheduleUser user, ScheduleResource res, IUlSchuduleCarrier carrier) { if (user.IsSameSiteEdgeUser) { return this.GetSelSSiteEdgeBeginRbIndex(res, carrier); } if (user.IsEdgeUser) { return this.GetSelDSiteEdgeBeginRbIndex(res, carrier); } return this.GetSelCenterBeginSbIndex(res, carrier); }
private byte GetFirstCenterIndex(ScheduleResource res) { byte index = 0; if (res.RbLists[0].Count > 0) { return res.RbLists[0][0].Index; } if (res.RbLists[1].Count > 0) { int count = res.RbLists[1].Count; index = res.RbLists[1][count - 1].Index; } return index; }
public byte GetFreqSelUserBeginSbIndex(IUlScheduleUser user, ScheduleResource res, IUlSchuduleCarrier carrier) { byte index = res.RbLists[0][0].Index; float maxValue = float.MaxValue; List<float> ulRbInterferenceNoiseList = carrier.UlRbInterferenceNoiseList; for (int i = 0; i < res.RbLists[0].Count; i++) { float num3 = ulRbInterferenceNoiseList[res.RbLists[0][i].Index]; if (maxValue > num3) { maxValue = num3; index = res.RbLists[0][i].Index; } } return index; }
private byte GetFirstEdgeIndex(IUlScheduleUser user, ScheduleResource res) { byte num = 0; if (res.RbLists[1].Count > 0) { return res.RbLists[1][0].Index; } if (res.RbLists[0].Count <= 0) { return num; } int count = res.RbLists[0].Count; ISimulationCarrier sfSbStroNbr = user.SfSbStroNbr; if (this.ResConflict(user, sfSbStroNbr)) { return res.RbLists[0][0].Index; } return res.RbLists[0][count - 1].Index; }
private byte GetSelSSiteEdgeBeginRbIndex(ScheduleResource res, IUlSchuduleCarrier carrier) { List<RBData> resList = new List<RBData>(); resList.AddRange(res.RbLists[0]); resList.AddRange(res.RbLists[1]); return this.FindBeginRBIndex(resList, carrier); }
public byte GetNonFreqSelUserBeginSbIndex(IUlScheduleUser user, ScheduleResource res) { return res.RbLists[0][0].Index; }
public ScheduleResource InitRes(ScheduleResource resourceTemplate, IUlSchuduleCarrier carrier) { return (resourceTemplate.Clone() as ScheduleResource); }
protected abstract void InitRbList(ScheduleResource scheduleResourceIn, byte bandwidthRbNum, byte puschRbNumEdge, LteAlgParam algParameter);
private byte GetBeginSbIndex(SimulationUser user, ScheduleResource scheduleResource, IUlSchuduleCarrier iUlSchuduleCarrier) { return this.m_RelayBeginSbApplyer.GetNonFreqSelUserBeginSbIndex(user, scheduleResource); }
private byte GetBeginSbIndex(IUlScheduleUser user, ScheduleResource res, IUlSchuduleCarrier carrier) { return this.m_UserBeginSbApplyer.GetNonFreqSelUserBeginSbIndex(user, base.ScheduleRes); }
public object Clone() { ScheduleResource clone = new ScheduleResource(); this.CloneRbs(clone); return clone; }