25.10.2012 Aufrufe

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!