コード例 #1
0
 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;
     }
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 private void CalculateUserInfo(SimulationUser user, MonteCarloSnapResult snapResult, int start, int end)
 {
     this.CalculateLinkInfo(user, snapResult, start, end);
 }