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);
}