public override int getIndex(params Object[] assignments)
{
if (assignments.Length != randomVarInfo.size())
{
throw new IllegalArgumentException(
"Assignments passed in is not the same size as variables making up the table.");
}
int[] radixValues = new int[assignments.Length];
int i = 0;
foreach (RVInfo rvInfo in randomVarInfo.values())
{
radixValues[rvInfo.getRadixIdx()] = rvInfo
.getIdxForDomain(assignments[i]);
i++;
}
return (int) queryMRN.getCurrentValueFor(radixValues);
}