// END-Factor
//
/**
* Iterate over all the possible value assignments for the Random Variables
* comprising this ProbabilityTable.
*
* @param pti
* the ProbabilityTable Iterator to iterate.
*/
public void iterateOverTable(Factor.Iterator pti)
{
Map<RandomVariable, Object> possibleWorld = new LinkedHashMap<RandomVariable, Object>();
MixedRadixNumber mrn = new MixedRadixNumber(0, radices);
do
{
foreach (RVInfo rvInfo in randomVarInfo.Values)
{
possibleWorld.put(rvInfo.getVariable(), rvInfo
.getDomainValueAt(mrn.getCurrentNumeralValue(rvInfo
.
getRadixIdx
())));
}
pti.iterate(possibleWorld, values[mrn.intValue()]);
} while (mrn.increment());
}