Results 1 to 8 of 8

Thread: TryStrToFloat bug delphi

  1. #1
    Senior Member EricLang's Avatar
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,077

    TryStrToFloat bug delphi

    Ik vermoed dat er een bug in delphi zit.
    Zou iemand dat kunnen bevestigen? Of anders verklaren dat het geen bug is?
    Wanneer het idd een bug is rapporteer ik hem bij Embarcadero.

    Code:
    var
      d: Double
    begin
      TryStrToFloat('e', d); // geeft TRUE in 64 bits en geeft FALSE in 32 bits !
    end;
    Last edited by EricLang; 15-Oct-18 at 16:54.

  2. #2
    In Delphi Berlin 10.1 zit die bug er nog wel in. Ik heb geen Tokyo bij de hand.

    Maar ik denk dat de nieuwe 64bit routines 'e' gewoon zien als '1e'.
    En '1e' is in allebei 32/64 bit true.

    (maar het is natuurlijk wel een bug)
    Last edited by rvk; 15-Oct-18 at 16:49.

  3. #3
    Senior Member EricLang's Avatar
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,077
    versie 10.2.3 is het. ik leg de bug neer bij emba.
    edit: RSP-21427
    Last edited by EricLang; 15-Oct-18 at 17:24.

  4. #4
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    935
    Er zullen wel nog verschillen tussen 32-bit en 64-bit naar boven komen, al was het omdat de compilers niet op dezelfde basis zijn gebouwd. Ik heb nog niet veel met 64-bit gewerkt, maar een tijd terug had ik een vieze bug die werd veroorzaakt omdat verondersteld werd dat lokale variabeles met 0 worden gestart, en dat blijkt niet meer het geval in 64-bits (maar je krijgt er ook geen warnings over, had misschien wel eens gemogen...)

  5. #5
    gebruikt 64 bit niet die llvm compiler, net als vooor mac en mobile?

  6. #6
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    9,778
    TryStrtofloat is een RTL routine.

  7. #7
    TryStrtofloat is een RTL routine.
    Maar die worden toch ook gewoon gecompileerd?

  8. #8
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    9,778
    Ja, maar tijfelachtig of dat dit soort bugs veroorzaakt. Mijn gok zou meer zijn dat de oude functie assembler was, en opnieuw gedaan is voor 64-bit (of de purepascal variant). Ook is het zo dat de 32-bit versie in principe x87 is (en dus op extended niveau kan werken) en x64 alleen op double.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •