MpcLib.Circuits.LPSortingCalculationCache.PopulateBetaCacheOuter C# (CSharp) Method

PopulateBetaCacheOuter() private method

private PopulateBetaCacheOuter ( int length, int whichEval ) : void
length int
whichEval int
return void
        private void PopulateBetaCacheOuter(int length, int whichEval)
        {
            if (BetaCache[length, whichEval] != null)
                return;

            BetaCache[length, whichEval] = new double[1 << length];

            double start = 0;
            switch (whichEval)
            {
                case SMALL: start = GetSmallBetaEval(length); break;
                case MIDDLE: start = .5; break;
                case BIG: start = 1 - GetLargeBetaEval(length); break;
                default:
                    Debug.Assert(false);
                    break;
            }

            PopulateBetaCache(0, 0, start, 0, length, whichEval);
            PopulateBetaCache(0, 1, start, 0, length, whichEval);
        }