Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Generic Integer zu Float konvertieren

  Alt 22. Dez 2017, 13:04
Delphi-Version: 10 Berlin
Hallo zusammen,

ich habe einen generischen Record der Form type TMyRec<T: record> mit den Spezialisierungen type TMyURec = TMyRec<UInt8/Uint16/UInt32> und type TMyIRec = TMyRec<Int8/int16/Int32> . Ich möchte nun eine implizite Konvertierung vom generischen Typ zu Single/Double implementieren.

Gibt es hier eine elegante Möglichkeit, ohne den konkreten generischen Typ zu ermitteln? Einfach alles in den größtmöglichen Integer Typen zu kopieren und dann zu konvertieren ist leider keine Möglichkeit, da ich wissen muss, wie das Vorzeichen zu behandeln ist.

Momentan tendiere ich dazu einfach zwei "Basis-Records" zu definieren; Einen für unsigned und Einen für signed. Das bedeutet allerdings einiges an dupliziertem Code.

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat