Tuts da nicht trotzdem ein record -> Int64 -> Double?
Habe die 64-bit Typen in meinem Originalpost vergessen
Da würde es dann leider nicht funktionieren.
Delphi-Quellcode:
function TMyRec<T>.ToDouble: Double;
begin
case GetTypeData(TypeInfo(t)).OrdType of
otSByte: Result := PShortInt(@v)^;
otUByte: Result := PByte(@v)^;
otSWord: Result := PSmallInt(@v)^;
otUWord: Result := PByte(@v)^;
otSLong: Result := PInteger(@v)^;
otULong: Result := PCardinal(@v)^;
end;
end;
Das wäre von der Idee her perfekt, aber ist das intrinsisch, oder erzeugt das Runtime-Overhead?