Beispiel #1
0
        private void CreateWindows()
        {
            int wLeft = 0, wRight = 0;

            windows = new List <Window>();
            var chrShare = GetChrShare();

            //_kMaxErlang = GetErlangNo((this.k - 1) / (double)this.lambda);


            _kDis.minValue      = 1;
            _kDis.maxValue      = 40;
            _lambdaDis.minValue = 1;
            _lambdaDis.maxValue = 40;

            for (int chr = 0; chr < chrShare.Length; chr++)
            {
                for (int w = 0; w < chrShare[chr]; w++)
                {
                    wLeft  = wRight + rnd.Next(minGap, maxGap);
                    wRight = wLeft + rnd.Next(maxLenght * 4, maxLenght * 6);

                    if (wLeft > wRight)
                    {
                        throw new OverflowException("Reached int32 maximum value when defining windows. Try smaller interval length and/or less interval count");
                    }

                    windows.Add(
                        new Window(
                            chr: chrTitles[chr],
                            left: wLeft,
                            right: wRight,
                            k: _kDis.NextErlang(),             //GetNonZeroErlangNo(kk, klambda),
                            lambda: _lambdaDis.NextErlang())); // GetNonZeroErlangNo(lambdak, lambdalambda)));
                }
            }
        }