modified MusicRepresentationImpl
@@ -172,7 +172,8 @@ | ||
172 | 172 | abstract double getProbLocal(Object label); |
173 | 173 | abstract Object getMostLikelyLocal(); |
174 | 174 | abstract Object generateLocal(); |
175 | - | |
175 | + abstract void setEvidenceLocal(Object label); | |
176 | + | |
176 | 177 | public synchronized void suspendUpdate() { |
177 | 178 | suspended = true; |
178 | 179 | } |
@@ -189,7 +190,8 @@ | ||
189 | 190 | if (check(label)) { |
190 | 191 | set = true; |
191 | 192 | isEvidence = true; |
192 | - evidence = Double.valueOf(((Number)label).doubleValue()); | |
193 | + setEvidenceLocal(label); | |
194 | + //evidence = Double.valueOf(((Number)label).doubleValue()); | |
193 | 195 | // evidence = label; |
194 | 196 | // System.err.println("UPDATE: " + parent.name + " " + label); |
195 | 197 | if (!suspended) |
@@ -353,6 +355,10 @@ | ||
353 | 355 | return null; |
354 | 356 | } |
355 | 357 | |
358 | + void setEvidenceLocal(Object label) { | |
359 | + evidence = label; | |
360 | + } | |
361 | + | |
356 | 362 | public void setProb(Object label, double value) { |
357 | 363 | set = true; |
358 | 364 | isEvidence = false; |
@@ -424,6 +430,10 @@ | ||
424 | 430 | return dist.probability((Double)label); |
425 | 431 | } |
426 | 432 | |
433 | + void setEvidenceLocal(Object label) { | |
434 | + evidence = Double.valueOf(((Number)label).doubleValue()); | |
435 | + } | |
436 | + | |
427 | 437 | Double getMostLikelyLocal() { |
428 | 438 | if (dist == null) |
429 | 439 | return Double.NaN; |
@@ -430,7 +440,7 @@ | ||
430 | 440 | else |
431 | 441 | return dist.getNumericalMean(); |
432 | 442 | } |
433 | - | |
443 | + | |
434 | 444 | Double generateLocal() { |
435 | 445 | if (dist == null) |
436 | 446 | return Double.NaN; |