Beispiel #1
0
        public override Distribution Copy()
        {
            LongDistribution copyDistribution = new LongDistribution()
            {
                distribution = new Dictionary <int, List <DistributionUnit> >()
            };

            foreach (var unitPair in this.distribution)
            {
                var copyUnits = new List <DistributionUnit>();
                foreach (var unit in unitPair.Value)
                {
                    copyUnits.Add(unit.Clone() as DistributionUnit);
                }
                copyDistribution.distribution.Add(unitPair.Key, copyUnits);
            }

            return(copyDistribution);
        }
Beispiel #2
0
        private static void InitSolutionSet()
        {
            distributions = new Distribution[GroupCount];
            for (int i = 0; i < GroupCount; ++i)
            {
                switch (Constant.PlanType)
                {
                case ModelType.LONG:
                    distributions[i] = new LongDistribution();
                    break;

                case ModelType.SHORT:
                    distributions[i] = new ShortDistribution();
                    break;

                case ModelType.SHORT_CRAZY:
                    distributions[i] = new ShortCrazyDistribution();
                    break;

                default:
                    throw new InvalidModelTypeException();
                }
            }
        }