private void cacheFactor (VarSet varSet, Factor factor) { switch (varSet.size()) { case 1: int vidx = getIndex (varSet.get(0)); cacheVariableFactor (vidx, factor); factorsByVar[vidx].add (factor); break; case 2: int idx1 = getIndex (varSet.get(0)); int idx2 = getIndex (varSet.get(1)); cachePairwiseFactor (idx1, idx2, factor); break; default: for (Iterator it = varSet.iterator (); it.hasNext ();) { Variable var = (Variable) it.next (); int idx = getIndex (var); factorsByVar[idx].add (factor); } break; } }
private void cacheFactor (VarSet varSet, Factor factor) { switch (varSet.size()) { case 1: int vidx = getIndex (varSet.get(0)); cacheVariableFactor (vidx, factor); factorsByVar[vidx].add (factor); break; case 2: int idx1 = getIndex (varSet.get(0)); int idx2 = getIndex (varSet.get(1)); cachePairwiseFactor (idx1, idx2, factor); break; default: for (Iterator it = varSet.iterator (); it.hasNext ();) { Variable var = (Variable) it.next (); int idx = getIndex (var); factorsByVar[idx].add (factor); } break; } }
private void cacheFactor (VarSet varSet, Factor factor) { switch (varSet.size()) { case 1: int vidx = getIndex (varSet.get(0)); cacheVariableFactor (vidx, factor); factorsByVar[vidx].add (factor); break; case 2: int idx1 = getIndex (varSet.get(0)); int idx2 = getIndex (varSet.get(1)); cachePairwiseFactor (idx1, idx2, factor); break; default: for (Iterator it = varSet.iterator (); it.hasNext ();) { Variable var = (Variable) it.next (); int idx = getIndex (var); factorsByVar[idx].add (factor); } break; } }