*Damit ist dieses Release auch das erste offizielle, welches die GTK-Probleme unter Ubuntu ab 8.10 (intrepid) behebt.Free Pascal 2.2.4 contains many bug fixes and some new features. The
main purpose of this release is to fix problems reported with FPC 2.2.2.
Please also see http://wiki.freepascal.org/User_Changes_2.2.4" onclick="window.open(this.href);return false; for a list
of changes which may affect the behaviour of previously working code, and
how to cope with these changes.
Some highlights are:
All:
* Experimental packages-installation tool
Packages:
* Added support for TIFF reading/writing in fcl-image
* Improvements and fixes in CHM support
* Fixed linking the gtk2-package with gtk versions above 2.13.4*
IDE:
* Added support for CHM help files
FPC 2.2.4 erschienen
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
FPC 2.2.4 erschienen
Johannes
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: FPC 2.2.4 erschienen
Hallo,
ich halte eine Änderung aber für doch sehr problematisch, nämlich das neue Rundungsverhalten von FreePascal:
http://wiki.freepascal.org/User_Changes ... t_rounding" onclick="window.open(this.href);return false;
Es macht doch wirklich überhaupt KEINEN Sinn, dass sowohl 1,5 als auch 2,5 auf 2 gerundet wird!
Weshalb sollen die geraden Zahlen beim Runden ein stärkeres Gewicht haben als die ungeraden Zahlen?!? Das ist mathematisch NICHT korrekt und sorgt sicherlich nur für Verwirrungen bei allen Programmen, die den round-Befehl verwenden.
Als Grund wird Delphi-Kompatibilität angegeben. Mag zwar sein, dass Delphi tatsächlich derart unmathematisch rundet. Aber der FreePascal-Compiler muss diesen Unsinn doch nicht übernehmen? Wofür gibt es denn einen Delphi-Mode?
Viele Grüße, Euklid
ich halte eine Änderung aber für doch sehr problematisch, nämlich das neue Rundungsverhalten von FreePascal:
http://wiki.freepascal.org/User_Changes ... t_rounding" onclick="window.open(this.href);return false;
Es macht doch wirklich überhaupt KEINEN Sinn, dass sowohl 1,5 als auch 2,5 auf 2 gerundet wird!
Weshalb sollen die geraden Zahlen beim Runden ein stärkeres Gewicht haben als die ungeraden Zahlen?!? Das ist mathematisch NICHT korrekt und sorgt sicherlich nur für Verwirrungen bei allen Programmen, die den round-Befehl verwenden.
Als Grund wird Delphi-Kompatibilität angegeben. Mag zwar sein, dass Delphi tatsächlich derart unmathematisch rundet. Aber der FreePascal-Compiler muss diesen Unsinn doch nicht übernehmen? Wofür gibt es denn einen Delphi-Mode?
Viele Grüße, Euklid
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: FPC 2.2.4 erschienen
Ganz im Gegenteil: was du meinst (das "alte" Verhalten) ist das kaufmännische Runden, nicht das mathematische. Siehe auch:
http://de.wikipedia.org/wiki/Kaufm%E4nn ... he_Rundung" onclick="window.open(this.href);return false;
(irgendwie rafft das Forum die URL nich - einfach Copy & Pasten
)
http://de.wikipedia.org/wiki/Kaufm%E4nn ... he_Rundung" onclick="window.open(this.href);return false;
(irgendwie rafft das Forum die URL nich - einfach Copy & Pasten

-
- Lazarusforum e. V.
- Beiträge: 242
- Registriert: Di 5. Feb 2008, 15:32
- OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
Re: FPC 2.2.4 erschienen
Ich muss gestehen, dass ich das neue Rundungsverhalten spontan als verspäteten Aprilscherz angesehen habe.
Nach dem Lessen des Wikipedia-Artikels wird das Verhalten zwar verständlich,
leider passt es aber mit dem im Mathematikunterricht (auch heute noch) vermittelten Wissen nicht zusammen.
Ich würde es auch als mathematisch nicht korrekt betrachten, wenn gerade und ungerade Zahlen verschieden behandelt werden.
Soll ich jetzt vielleicht, um das von mir (und geschätzten 99% der deutschen Bevölkerung) erwartete Verhalten zu erreichen, vor jeder Rundung erstmal 0.00000001 dazuaddieren?
Nach dem Lessen des Wikipedia-Artikels wird das Verhalten zwar verständlich,
leider passt es aber mit dem im Mathematikunterricht (auch heute noch) vermittelten Wissen nicht zusammen.
Ich würde es auch als mathematisch nicht korrekt betrachten, wenn gerade und ungerade Zahlen verschieden behandelt werden.
Soll ich jetzt vielleicht, um das von mir (und geschätzten 99% der deutschen Bevölkerung) erwartete Verhalten zu erreichen, vor jeder Rundung erstmal 0.00000001 dazuaddieren?
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: FPC 2.2.4 erschienen
In dem Artikel wird doch (nachvollziehbar wie ich finde) erklärt, warum das gemacht wird: der Statistik wegen. Beim Runden betrachtest du doch 9 Ziffern (1 bis 9, 0 ist ja schon rund). Davon ist 5 ungünstiger Weise genau die Mitte. Rundest du da nun immer auf, würdest du nur 4 von 9 abrunden - du hast von Abrunden zu Aufrunden also ein Verhältnis von 4 zu 5. Da sollte einleuchten, dass das eine Verzerrung darstellt. Rundest du hingegen in solchen Fällen immer in Richtung der geraden Zahlen, rundest du (statisch gesehen) gleich oft auf und ab - also verzerrungsfrei. Sicher wird das im Matheunterricht normalerweise nicht so gelehrt, das macht es aber nicht falsch. Und seit wann ist das Schulwissen das Maß aller Dinge? 
Ach und noch was: diese Änderung steht im Changelog ganz klar unter Non-x86 and non-linux/ppc64 systems - auf anderen Systemen war das Verhalten also anscheinend schon so.

Ach und noch was: diese Änderung steht im Changelog ganz klar unter Non-x86 and non-linux/ppc64 systems - auf anderen Systemen war das Verhalten also anscheinend schon so.
-
- Lazarusforum e. V.
- Beiträge: 242
- Registriert: Di 5. Feb 2008, 15:32
- OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
Re: FPC 2.2.4 erschienen
Der Artikel erklärt das absolut nachvollziehbar.
Auch der Grund (für die Statistik) leuchtet völlig ein.
Aber wenn in einem Programm so gerundet wird:
1,50 EUR auf 2 EUR
2,50 EUR auf 2 EUR
3,50 EUR auf 4 EUR
Den Anwender möchte ich sehen, der das richtig findet - ich gehöre nicht dazu
Auch der Grund (für die Statistik) leuchtet völlig ein.
Aber wenn in einem Programm so gerundet wird:
1,50 EUR auf 2 EUR
2,50 EUR auf 2 EUR
3,50 EUR auf 4 EUR
Den Anwender möchte ich sehen, der das richtig findet - ich gehöre nicht dazu

-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: FPC 2.2.4 erschienen
Wie gesagt macht Delphi und auch FPC (auf x86) das schon seit jeher so. Bisher hat sich keiner beschwert. Wieso spielt das jetzt ausgerechnet auf non-x86 eine Rolle?
Dein Beispiel ist zudem ziemlich konstruiert - wann rundet man Cent-Beträge einfach weg? Das allein - egal in welche Richtung - würde mich als Anwender stören
Aber selbst wenn nich: rechne mal damit --> 1,5 + 2,5 + 3,5 = 7,5 ... mit dem mathematischen Runden hätten wir also 2 + 2 + 4 = 8 ... schon ziemlich nah dran. Beim kaufmännischen Runden hätten wir jetzt 2 + 3 + 4 = 9 ... finde bitte den Dienstleister/Kreditinstitut/Händler/whatever, der das mitmacht
(Oder wenns ums Bezahlen geht, den Kunden, der das mitmacht ....)
Dein Beispiel ist zudem ziemlich konstruiert - wann rundet man Cent-Beträge einfach weg? Das allein - egal in welche Richtung - würde mich als Anwender stören

Aber selbst wenn nich: rechne mal damit --> 1,5 + 2,5 + 3,5 = 7,5 ... mit dem mathematischen Runden hätten wir also 2 + 2 + 4 = 8 ... schon ziemlich nah dran. Beim kaufmännischen Runden hätten wir jetzt 2 + 3 + 4 = 9 ... finde bitte den Dienstleister/Kreditinstitut/Händler/whatever, der das mitmacht

-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: FPC 2.2.4 erschienen
Hitman: Danke für den Link! Habe das verzerrungsfreie Runden bisher nicht gekannt.

... und weil wir alle schonmal dabei sind, möchte ich ein konstruiertes Beispiel nachlegen:
1,5 - 2,5 + 3,5 = 2,5
mathematisch ("unverzerrt") gerundet: 2 - 2 + 4 = 4
kaufmännisch gerundet: 2 - 3 + 4 = 3
Was würden die Dienstleister/Kreditinstitute/Händler/whatever dazu wohl sagen?
Das unverzerrte Runden bringt also genauso im konstruierten Spezialfall einen Vorteil, wie das kaufmännische Runden im konstruierten Spezialfall näher an der Wirklichkeit ist. ABER: Das kaufmännische Runden wird an den Schulen gelehrt, das unverzerrte Runden ist weitgehend unbekannt. Von welchem Verhalten würde wohl der Durchschnittsprogrammierer ausgehen, wenn er die round-Routine verwendet?
Die Verzerrung gibt es aber auch beim unverzerrten Runden: Hier rundet man mit den Endungen 5,6,7,8,9,0,1,2,3,4,5 immer auf gerade Zahlen, mit den Endungen 6,7,8,9,0,1,2,3,4 (d.h. 2 weniger) auf ungerade Zahlen. D.h. es findet eine Verzerrung hin zu geraden Zahlen statt und dieses Problem ist somit durch die durchaus umständliche und wenig verbreitete "unverzerrte" Rundungsmethode NICHT gelöst. Offenbar haben beide Methoden ihre Nachteile, welche in Euren Beispielen sehr deutlich werden.Hitman hat geschrieben:Beim Runden betrachtest du doch 9 Ziffern (1 bis 9, 0 ist ja schon rund). Davon ist 5 ungünstiger Weise genau die Mitte. Rundest du da nun immer auf, würdest du nur 4 von 9 abrunden - du hast von Abrunden zu Aufrunden also ein Verhältnis von 4 zu 5. Da sollte einleuchten, dass das eine Verzerrung darstellt.
Dies trifft aber auch auf dein Beispiel zuHitman hat geschrieben:Dein Beispiel ist zudem ziemlich konstruiert - wann rundet man Cent-Beträge einfach weg?

... und weil wir alle schonmal dabei sind, möchte ich ein konstruiertes Beispiel nachlegen:
1,5 - 2,5 + 3,5 = 2,5
mathematisch ("unverzerrt") gerundet: 2 - 2 + 4 = 4
kaufmännisch gerundet: 2 - 3 + 4 = 3
Was würden die Dienstleister/Kreditinstitute/Händler/whatever dazu wohl sagen?

Das unverzerrte Runden bringt also genauso im konstruierten Spezialfall einen Vorteil, wie das kaufmännische Runden im konstruierten Spezialfall näher an der Wirklichkeit ist. ABER: Das kaufmännische Runden wird an den Schulen gelehrt, das unverzerrte Runden ist weitgehend unbekannt. Von welchem Verhalten würde wohl der Durchschnittsprogrammierer ausgehen, wenn er die round-Routine verwendet?
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: FPC 2.2.4 erschienen
Was für ein Beispiel? Ich hab nur seins weitergerechnet 
Letztlich sollte man sich doch fragen: wann rundet man überhaupt und spielt es dann noch eine Rolle, ob nun kaufmännisch oder mathematisch gerundet wird? Ein potenzieller Endanwender kriegt es im Normalfall nicht zu Gesicht. Mir fällt zumindest im Moment kein Fall ein, wo es wirklich relevant wäre.
Und (wie nun mehrfach gesagt): bisher hat es doch auch niemanden gestört, dass es so gemacht wurde. FPC hat das schon immer getan, Delphi auch, selbst in .NET ist es so: http://msdn.microsoft.com/en-us/library ... round.aspx" onclick="window.open(this.href);return false;
Bankers Rounding (also das "mathematische" oder "unverzerrte" Runden) ist nunmal Standard - auch wenn es nicht an der Schule gelehrt wird.

Letztlich sollte man sich doch fragen: wann rundet man überhaupt und spielt es dann noch eine Rolle, ob nun kaufmännisch oder mathematisch gerundet wird? Ein potenzieller Endanwender kriegt es im Normalfall nicht zu Gesicht. Mir fällt zumindest im Moment kein Fall ein, wo es wirklich relevant wäre.
Und (wie nun mehrfach gesagt): bisher hat es doch auch niemanden gestört, dass es so gemacht wurde. FPC hat das schon immer getan, Delphi auch, selbst in .NET ist es so: http://msdn.microsoft.com/en-us/library ... round.aspx" onclick="window.open(this.href);return false;
Bankers Rounding (also das "mathematische" oder "unverzerrte" Runden) ist nunmal Standard - auch wenn es nicht an der Schule gelehrt wird.
- af0815
- Lazarusforum e. V.
- Beiträge: 6848
- 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: FPC 2.2.4 erschienen
Notfalls kann man ja das Rundungsverhalten ja auf das umstellen, was man haben will. Wird ja auch bei den Infos erklärt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: FPC 2.2.4 erschienen
Eine Gute Fragen. Z.B. weiß ich das bei Rezepturen Umstellungen gerundet wird, wobei hier ist nur wichtig das das Verhältnis stimmt. Also Spielt es keine Rolle, wie jetzt gerundet wird. Aber das Ergebnis wird so oder so "Verfälscht" durch runden. Also Spielt das doch keine Rolle. Ob das nun für den Kunden ein Vorteil oder für den Verkäufer ein Vorteil bringt. Dann sollte man einfach die Kommastellen abschneiden und gut ist*G*wann rundet man überhaupt und spielt es dann noch eine Rolle, ob nun kaufmännisch oder mathematisch gerundet wird?
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: FPC 2.2.4 erschienen
Ok, dann würde es generell für Verwirrung sorgen, wenn sich das Verhalten des FPC plötzlich ändert. Kontinuität und Verlässlichkeit sind für Compiler sicherlich entscheidende Eigenschaften.Hitman hat geschrieben:Und (wie nun mehrfach gesagt): bisher hat es doch auch niemanden gestört, dass es so gemacht wurde. FPC hat das schon immer getan, Delphi auch[...].
Zur Not kann man das Runden ja, wie im obigen Artikel erläutert, auf kaufmännisches Runden umstellen.
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: FPC 2.2.4 erschienen
Ich habe es richtig gelernt. (70-80er Jahre, Ostdeutschland)Hitman hat geschrieben:...auch wenn es nicht an der Schule gelehrt wird.