Ich find das gar nicht schlecht, wenn ich nur single brauche, und dem Compiler überlassen kann, ob er für 32-bit-Zielhardware single und für 64-bit double verwendet, statt ihn zu einem single zu zwingen, welches dann auf 64-bit wieder rumkopiert werden muss.PascalDragon hat geschrieben: ↑Sa 29. Aug 2020, 11:17Der Typ Real existiert zur Kompatibilität mit Turbo Pascal, wobei hier nur das Kompilieren erlaubt werden soll, er ist kein tatsächlicher 48-Bit Typ, wie er in TP war.
Warum gibt es float?
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Warum gibt es float?
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Warum gibt es float?
Ich hatte mal gelesen, das Real am schnellsten rechnete, wen kein mathematische Koprzessor vorhanden war.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 202
- Registriert: Mo 24. Aug 2020, 14:16
- OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
- CPU-Target: i386
Re: Warum gibt es float?
Hab gerade nochmal nachgesehen im Opject Pascal Language Guide von Delphi 1.0...:
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Warum gibt es float?
Hi!
Wie wär's denn, wenn Du mal aktuelles Zeug liest, und nicht 25 Jahre alte Docs??
* Real ist heute ein Double
* Wenn man den Turbo Pascal Type Real mit 48 Bit braucht, nimmt man Real48
* Da Extended auf vielen 64-Bit-Processoren nicht mehr unterstützt wird, werden sie auf ein Double gemapt.
Und {$N-} möchte ich niemandem wünschen.
Das war für 386 Prozessoren ohne Floating Point Unit.
Die haben alles Fließkomma-Zeug per Software berechnet: z.B.
1/2 oder sin(1.5)
Dauerte 25 mal länger als wenn man sich einen Coprozessor gekauft hat.
Hatte auch Vorteile:
Konnte man Zigaretten drehen, bis der Rechner endlich fertig war.
Winni
Wie wär's denn, wenn Du mal aktuelles Zeug liest, und nicht 25 Jahre alte Docs??
* Real ist heute ein Double
* Wenn man den Turbo Pascal Type Real mit 48 Bit braucht, nimmt man Real48
* Da Extended auf vielen 64-Bit-Processoren nicht mehr unterstützt wird, werden sie auf ein Double gemapt.
Und {$N-} möchte ich niemandem wünschen.
Das war für 386 Prozessoren ohne Floating Point Unit.
Die haben alles Fließkomma-Zeug per Software berechnet: z.B.
1/2 oder sin(1.5)
Dauerte 25 mal länger als wenn man sich einen Coprozessor gekauft hat.
Hatte auch Vorteile:
Konnte man Zigaretten drehen, bis der Rechner endlich fertig war.
Winni
-
- Beiträge: 202
- Registriert: Mo 24. Aug 2020, 14:16
- OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
- CPU-Target: i386
Re: Warum gibt es float?
Dir auch eine gute Nacht.
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Warum gibt es float?
Nur die alten Dokus zeigen, das kein float vorkommt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 830
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Warum gibt es float?
Float wurde ja auch von FPC für die Plattformunabhängigkeit eingeführt als noch nicht klar war, dass wir zum Beispiel bei Win64 Extended = Double nutzen würden.
FPC Compiler Entwickler