Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Listing 4.4 Vorabtest – Verwendete Variante<br />
4 Implementierung<br />
1: function Vorabtest(m, MOpt)<br />
2: T V ← GetTestvectors() ⊲ Liste der Testvektoren<br />
3: mcand ←⊥<br />
4:<br />
5: i ← 1<br />
6: for all t ∈ T V do<br />
7: res ← Result(m, t)<br />
8: m.hash ← m.hash + (res ∗ i) ⊲ Berechnung des Hashwertes h(m)<br />
9: i ← i + 1<br />
10: end for<br />
11:<br />
12: M h(m) ← GetHashEqualPattern(m.hash, MOpt)<br />
13: MCand ← CreateEmptyList() ⊲ Kandidatenliste erzeugen<br />
14: T V h(m) ← GetTestvectorsByHash(m.hash) ⊲ weitere Testvektoren<br />
15: T VADD ← GetADDTestvectors() ⊲ Liste zusätzlicher Testvektoren<br />
16:<br />
17: for all m ′ ∈ M h(m) do<br />
18: equal ← true<br />
19: for all t ∈ T V h(m) ∪ T VADD do<br />
20: if Result(m, t) �= Result(m ′ , t) then ⊲ Ergebnisse unterschiedlich?<br />
21: equal ← false ⊲ ⇒ m ′ kein Kandidat<br />
22: break<br />
23: end if<br />
24: end for<br />
25: if equal then<br />
26: mcand ← m ′ ⊲ m ′ ist einziger Kandidat<br />
27: break<br />
28: end if<br />
29: end for<br />
30:<br />
31: return mCand<br />
32: end function<br />
43