static void Main(string[] args)
{
/*for (int roll = 1000; roll <= 50000; roll+=1000)
{
Console.WriteLine("{0}: P: {1:######} K: {2:######}",
roll,
system.BetSize(0, roll * 100) / 100,
kelly.BetSize(0.005, roll) / 100);
}
for (double ev = 0; ev <= 0.0085; ev += 0.0005)
{
Console.WriteLine("{0:0.0000}: {1}", ev, kelly.BetSize(ev, 25000) / 100);
}
return;
*/
/*Shoe shoe = new Shoe(8);
shoe.Remove(new CardSet(new Card[] { new Card("5c"), new Card("8c"), new Card("3h") }));
BjEval.Eval.CacheDealerProbs(5, shoe.ToArray());
Console.WriteLine(BjEval.Eval.DoubleEv(new SHand() { Total = 11, Soft = false }, 5, 100, shoe.ToArray()));
return;
*/
//GeneralTest();
//CompareStrategies();
//TestSuper();
/*ProportionalBetting proportional = new ProportionalBetting(225, 25 * 100, 200 * 100);
KellyBetting kelly = new KellyBetting(0.008, 25 * 100, 200 * 100);
double ev_cutoff = 0.0015;
Random random = new NPack.MersenneTwister();
for (int i = 1; i <= 1000000; i++)
{
Console.WriteLine("STARTING TEST NUMBER " + i);
Console.WriteLine();
MakeTestRun(string.Format("kelly1_{0}.txt", i), random, 200000, ev_cutoff, kelly, new FixedReset(-0.0064));
MakeTestRun(string.Format("kelly2_{0}.txt", i), random, 200000, ev_cutoff, kelly, new SmartReset(-0.0068, -0.0025, 70));
}*/
seed_gen = new NPack.MersenneTwister();
Thread thread1 = new Thread(new ThreadStart(TestLoop1));
thread1.Start();
TestLoop1();
}