Die Suche ergab 134 Treffer

von indianer-frank
Do 22. Nov 2018, 08:38
Forum: Freepascal
Thema: blockread einer read only Datei
Antworten: 4
Zugriffe: 1794

Re: blockread einer read only Datei

Versuch mal

Code: Alles auswählen

var
  dat : file of byte;
...
  {$i-}
  FileMode := 0;
  assign (dat, 'Dateiname');
  reset(dat);
  if IOResult <> 0 then writeln('Reset error');
 
von indianer-frank
Mi 26. Sep 2018, 22:22
Forum: Programmierung
Thema: Gravierende Laufzeitunterschiede
Antworten: 11
Zugriffe: 4570

Re: Gravierende Laufzeitunterschiede

Was soll (-1)*n bei einem Longword bedeuten? Und n kann selbst verständlich nicht kleiner als 0 sein. Sehe gerade n ist unüblicherweise auch real. Und bist Du sicher, daß die Real-Arithmetik gleich implementiert ist? Beim i5 mit ziemlicher Sicherheit als Hardware double. Wie sieht das bei A...
von indianer-frank
Mo 6. Aug 2018, 20:52
Forum: Programmierung
Thema: Echte Compiler
Antworten: 27
Zugriffe: 10293

Re: Echte Compiler

Na ja, da wäre ja auch noch Delphi (oder ist das hier verboten?). Natürlich nicht, dies habe ich vergessen., ich werde es oben ergänzen. Außerdem jede Menge Fortran und ADA. Sind dies nicht sehr unbekannt Compiler ? Da würde doch auch Oberon und Modula 2 dazu gehören oder ? Unbekannt ist relativ. F...
von indianer-frank
Mo 6. Aug 2018, 20:34
Forum: Programmierung
Thema: Echte Compiler
Antworten: 27
Zugriffe: 10293

Re: Echte Compiler

Na ja, da wäre ja auch noch Delphi (oder ist das hier verboten?). Außerdem jede Menge Fortran und ADA. Laut Info unterstützt zB die GNU Compiler Suite neben C/C++ noch Fortran, Ada, und Go.
von indianer-frank
Di 10. Jul 2018, 20:39
Forum: Freepascal
Thema: Operator langsamer als Function
Antworten: 12
Zugriffe: 5068

Re: Operator langsamer als Function

Mathias hat geschrieben:Was ist überhaupt R8 ? So ein Register kenne ich nur auf dem AVR.
Siehe https://de.wikipedia.org/wiki/X64#Architektur, hier steht: Die gelb hinterlegten Register R8–R15 und XMM8–XMM15 stehen ausschließlich im 64-Bit-Modus zur Verfügung.
von indianer-frank
Di 10. Jul 2018, 19:47
Forum: Freepascal
Thema: Operator langsamer als Function
Antworten: 12
Zugriffe: 5068

Re: Operator langsamer als Function

Wenn man sich das Assemblerlisting ansieht, erkennt man, daß RCX benutzt wird: # Var M0 located in register rdx # Var M1 located in register r8 # Var $result located in register rcx  Ändert man alle RCX der Schleifen-Version in RAX, dann ergibt sich bei mir C:\TMP>D:\FPC304\bin\i386-win32\ppcrossx64...
von indianer-frank
Mi 4. Jul 2018, 23:26
Forum: Freepascal
Thema: [gelöst] Procedure ohne Var dennoch mit oder ohne '()'?
Antworten: 35
Zugriffe: 10887

Re: [gelöst] Procedure ohne Var dennoch mit oder ohne '()'?

Komisch, warum geht es dann mit myPi nicht ? Meine Erklärung: Weil es nicht bekannt ist, in dem Sinne, daß der Compiler die Funktion nicht zur Compilezeit aufrufen kann. Die Funktionen aus system sind bekannt und können benutzt werden. Du weißt durch Hinsehen, was myPi liefert. Aber die Semantik in...
von indianer-frank
Mi 4. Jul 2018, 23:02
Forum: Freepascal
Thema: [gelöst] Procedure ohne Var dennoch mit oder ohne '()'?
Antworten: 35
Zugriffe: 10887

Re: [gelöst] Procedure ohne Var dennoch mit oder ohne '()'?

Ich glaube (habe aber gerade keine Referenz dafür), alles was zur Compile-Zeit bekannt ist, kann benutzt werden. ZB compiliert zu mindest ab FPC2.0.4 const x1 = sqrt(2); x2 = sqrt(Pi); // x3 = random; {geht nicht} x3 = sin(Pi/4); begin writeln(x1:26,x2:26,x3:26); end....
von indianer-frank
Di 3. Jul 2018, 18:26
Forum: Freepascal
Thema: [gelöst] Procedure ohne Var dennoch mit oder ohne '()'?
Antworten: 35
Zugriffe: 10887

Re: [gelöst] Procedure ohne Var dennoch mit oder ohne '()'?

Mathias hat geschrieben:
Mir kommt momentan nicht mal einer Funktion ohne Parameter in Sinn...
Na ja, Pi und Random sind werden doch häufig gebraucht. Und Pi() wäre doch äußerst ungewöhnlich! Ich denke, viele wissen noch nicht einmal, daß das eine Funktion ist.
von indianer-frank
Di 5. Jun 2018, 10:44
Forum: Freepascal
Thema: Rundungsfehler ?
Antworten: 78
Zugriffe: 21698

Re: Rundungsfehler ?

Man konnte früher sogar in den Optionen einstellen ob der Coprozessor benutzt werden soll oder die Emulation, ich weis garnicht ob die Rundungsergebnisse dann unterschiedlich waren. Habe leider kein Turbo Pascal mehr. Wäre natürlich hübsch, das auch noch zu testen... -Michael Keine Unterschiede bei...
von indianer-frank
Mo 4. Jun 2018, 19:58
Forum: Freepascal
Thema: Rundungsfehler ?
Antworten: 78
Zugriffe: 21698

Re: Rundungsfehler ?

Man müsste mal folgendes mit Turbo-Pascal übersetzen und dies nativ auf einem modernen Rechner laufen lassen. Hat hier zufällig noch jemand ein 32Bit Windows nativ am laufen ? Die DOSBox will ich nicht nehmen, da diese sowieso ein Emulator ist. {$N+} begin WriteLn(round(0.5)); Write...
von indianer-frank
Fr 1. Jun 2018, 10:04
Forum: Freepascal
Thema: Rundungsfehler ?
Antworten: 78
Zugriffe: 21698

Re: Rundungsfehler ?

Eigentlich feht dann im SetRoundMode rmNormal oder rmSchool rmMiddle rmDrawing oder wie man das auch nennen mag. Meinst Du wirklich, daß eine FPU sich dadurch ändern läßt? Diese Modi sind i.a. in Hardware/Firmware implementiert! Der IEEE-Standard definiert Euren gewünschten Modus als (hier zunächst...
von indianer-frank
Do 31. Mai 2018, 18:27
Forum: Freepascal
Thema: Rundungsfehler ?
Antworten: 78
Zugriffe: 21698

Re: Rundungsfehler ?

Mathias hat geschrieben:Ich habe für SetRoundMode noch ein kleine Wiki geschrieben: http://wiki.freepascal.org/SetRoundMode/de

Ist allerdings wie schon die Originaldoku irreführend, da in der Beschreibung der FPU-Modi wieder nur das Runden nach Integer behandelt wird.
von indianer-frank
Do 31. Mai 2018, 12:01
Forum: Freepascal
Thema: Rundungsfehler ?
Antworten: 78
Zugriffe: 21698

Re: Rundungsfehler ?

wp_xyz hat geschrieben:Ich habe das wiki entsprechend überarbeitet: http://wiki.freepascal.org/Round/de
Sieht gut aus, die Fomulierungen sind besser verständlich als meine.
von indianer-frank
Mi 30. Mai 2018, 20:51
Forum: Freepascal
Thema: Rundungsfehler ?
Antworten: 78
Zugriffe: 21698

Re: Rundungsfehler ?

Könnte es nicht sein, das dies in der Hardware der FPU steckt ? Der Round-Modus wird über folgenden Befehl gesetzt. Und das sieht mit nach FPU-Register aus. procedure Set8087CW(cw:word); begin default8087cw:=cw; asm fnclex fldcw cw end; end; Richtig geraten, wie schon zum x-ten Male beschri...