static void MainX() { string result = RunProfile.Execute("2014 Proleague Overall.xml"); LiquipediaClientEx lpc = new LiquipediaClientEx(); lpc.Login("", ""); string token = lpc.GetEditToken(); lpc.EditPage("User:Xpaperclip/Carno/Proleague", result, "test", token); return; DataStore data = new DataStore(); DataStore.LoadRewriter("playerpka.dict", data.IdRewriter); DataStore.LoadRewriter("mapakas.dict", data.MapRewriter); data.Accumulate("http://wiki.teamliquid.net/starcraft2/2013_Global_StarCraft_II_Team_League_Season_2/Round_1"); PageGenerator pagegen = PageGenerator.FromXml(System.Xml.Linq.XDocument.Load("pages/Team League (All-Kill Format).xml")); string emit = pagegen.Emit(data); // push update UI.ShowDialog(new UIDocument("emit", emit), new UIDocument("html", LiquipediaClientEx.RequestParse(emit)), new UIDocument("xml", pagegen.Save().ToString())); }
private void runProfileButton_Click(object sender, EventArgs e) { using (var dlg = new OpenFileDialog()) { dlg.Filter = "Carno Profiles (*.xml)|*.xml"; if (dlg.ShowDialog() == DialogResult.OK) { Cursor.Current = Cursors.WaitCursor; string result = RunProfile.Execute(dlg.FileName); UI.ShowDialog(new UIDocument("Statistics", result)); Cursor.Current = Cursors.Default; } } }
protected override void RunTrial(int trialNumber, RunProfile profile) { Trial trial = new Trial(); double[] balances = new double[profile.TrialLength]; // Populate trial data double interestRate = profile.SeedDistribution.NextDouble() * 0.01; balances[0] = (profile.InitialAmount + profile.ContributionAmount) * (1 + interestRate); // Contribution period for (var i = 1; i < profile.TrialLength; i++) { interestRate += profile.StepDistribution.NextDouble() * 0.01; balances[i] = balances[i - 1] > 0 ? (i < profile.ContributionLength ? // Contribution period (balances[i - 1] + profile.ContributionAmount) * (1 + interestRate) : // Withdrawal period (balances[i - 1] - profile.WithdrawalAmount) * (1 + interestRate)) : 0; balances[i] = balances[i] > 0 ? balances[i] : 0; if (i == profile.ContributionLength - 1) { trial.Peak = balances[i]; } if (balances[i] == 0) { break; } } trial.Balances = balances; trial.ReturnRates = null; trial.Final = balances[profile.TrialLength - 1]; // Add data to return value mutex.WaitOne(); trials[trialNumber] = trial; mutex.ReleaseMutex(); }
private DesiredCapabilities PopulateCapabilities() { NameValueCollection capabilities = ConfigurationManager.GetSection("capabilities/" + RunProfile.ToString().ToLower()) as NameValueCollection; NameValueCollection browserSettings = ConfigurationManager.GetSection("environments/" + BrowserName.ToLower()) as NameValueCollection; DesiredCapabilities capability = new DesiredCapabilities(); foreach (string key in capabilities.AllKeys) { capability.SetCapability(key, capabilities[key].FormatTokens(ScenarioContext)); } foreach (string key in browserSettings.AllKeys) { capability.SetCapability(key, browserSettings[key]); } return(capability); }
protected override void RunTrial(int trialNumber, RunProfile profile) { Trial trial = new Trial(); var addAmt = profile.ContributionAmount; var withdrawAmt = profile.WithdrawalAmount; var trialLength = profile.TrialLength; var contribLength = profile.ContributionLength; var seed = profile.SeedDistribution.NextDouble(); var stepSampler = profile.StepDistribution; double[] balances = new double[trialLength]; double[] bondRates = new double[trialLength]; double[] returnRates = new double[trialLength - 1]; // Populate trial data double interestRate = seed * 0.01; bondRates[0] = interestRate; balances[0] = (profile.InitialAmount + addAmt) * (1 + interestRate); // Contribution period for (var i = 1; i < trialLength; i++) { interestRate += stepSampler.NextDouble() * 0.01; interestRate = interestRate < 0.0003 ? 0.0003 : interestRate; bondRates[i] = interestRate; var prevBalance = balances[i - 1]; var balance = prevBalance > 0 ? (i < contribLength ? // Contribution period (prevBalance + addAmt) * (1 + interestRate) : // Withdrawal period (prevBalance - withdrawAmt) * (1 + interestRate)) : 0; balances[i] = balance > 0 ? balance : 0; returnRates[i - 1] = interestRate; if (i == contribLength - 1) { trial.Peak = balance; } if (balance == 0) { break; } } trial.Balances = balances; trial.ReturnRates = returnRates; trial.Final = balances[trialLength - 1]; // Add data to return value mutex.WaitOne(); trials[trialNumber] = trial; mutex.ReleaseMutex(); }