private void CalculateLinkInfo(SimulationUser user, MonteCarloSnapResult snapResult, int start, int end) { float ulAveThroughputDemand; float num2; float num3; bool flag = this.m_UserHelper.IsUp(user.LTEUser); UnionPsService unionPsService = SimulationTools.GetUnionPsService(user.LTEUser.Service); if (flag) { ulAveThroughputDemand = unionPsService.UlAveThroughputDemand; num2 = user.UserUlTotalThroughput / ((float) ((end - start) + 1)); num3 = user.UserUlAppTotalThroughput / ((float) ((end - start) + 1)); snapResult.AllUlActualThroughput += num2; snapResult.AllUlActualAppThroughput += num3; snapResult.AllUlMaxThroughputDemand += unionPsService.UlMaxThroughputDemand; snapResult.AllUlMinThroughputDemand += unionPsService.UlMinThroughputDemand; snapResult.AllUlAvgThroughputDemand += ulAveThroughputDemand; } else { ulAveThroughputDemand = unionPsService.DlAveThroughputDemand; num2 = user.UserDlTotalThroughput / ((float) ((end - start) + 1)); num3 = user.UserDlAppTotalThroughput / ((float) ((end - start) + 1)); snapResult.AllDlActualThroughput += num2; snapResult.AllDlActualAppThroughput += num3; snapResult.AllDlMaxThroughputDemand += unionPsService.DlMaxThroughputDemand; snapResult.AllDlMinThroughputDemand += unionPsService.DlMinThroughputDemand; snapResult.AllDlAvgThroughputDemand += ulAveThroughputDemand; } }
public MonteCarloSnapResult Calculate(SimulationDataManager data, int start, int end) { MonteCarloSnapResult snapResult = new MonteCarloSnapResult(); List<ISimulationUser> simulationUserList = data.SimulationUserList; snapResult.UserNum = simulationUserList.Count; snapResult.UlUserNum = data.UlUserNum; snapResult.DlUserNum = data.DlUserNum; Dictionary<string, List<SimulationUser>> serviceUserListDic = new Dictionary<string, List<SimulationUser>>(); foreach (SimulationUser user in simulationUserList) { this.CaculateService(serviceUserListDic, user); this.CalculateUserInfo(user, snapResult, start, end); } snapResult.StatSimuServiceResultList = new StatSimuServiceCalculator(start, end).SnapshotCalculator(serviceUserListDic); return snapResult; }
private void CalculateUserInfo(SimulationUser user, MonteCarloSnapResult snapResult, int start, int end) { this.CalculateLinkInfo(user, snapResult, start, end); }