Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
turborium committed Nov 11, 2023
2 parents 844dd60 + a4bc874 commit a2b38a0
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Pascal/Test/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Check:```Test.32.exe -size medium -parser pure```
Benchmark:```Test.32.exe -benchmark```
Benchmark with C version:```Test.32.exe -benchmark -c```

To check your DLL place DLL and set ```-dll``` and ```-name``` params.
To check your DLL place DLL and set ```-dll``` and ```-function``` params.
**For example:**
Check *rust32.dll*: ```Test.32.exe -size medium -dll rust32.dll -function parse_float```
Check *rust64.dll*: ```Test.64.exe -size medium -dll rust64.dll -function parse_float```
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ In general, this implementation adheres to the idea of "a fairly good and at the

There are two "reference" implementations available in this repository, for Pascal and C. Both implementations are covered with tests on millions of values, however the "main" implementation is the Pascal version.

User ports in [```Ports/```](https://github.com/turborium/PureParseFloat/tree/main/Ports) dir.

Pascal version tested on Delphi and FreePascal, C version tested on TDM-GCC.

Warning: the algorithm needs double aritmetic exactly matching the ieee standard, so before using the ParseFloat function, you must set the FPU precision to Double/64bit and rounding to Nearest. In ObjectPascal there are standard function for this, which are used by the Pascal reference implementation, but for C you need to do this yourself.
Expand All @@ -22,6 +24,8 @@ Warning: the algorithm needs double aritmetic exactly matching the ieee standard

В этом репозитории доступны две "референсные" реализации, для Pascal и C. Обе реализации покрыты тестами на миллионы значений, однако "главной" реализацией являеться Pascal версия.

Пользовательские порты в папке [```Ports/```](https://github.com/turborium/PureParseFloat/tree/main/Ports).

Pascal версия протестирована в Delphi и FreePascal, С версия протистирована в TDM-GCC.

Внимание: алгоритм полагается на точное соответсвие double стандарту ieee, поэтому перед использованием функции ParseFloat необходимо установить точность математического сопроцессора в Double/64bit, а округление в "ближайшее"/Nearest. В ObjectPascal для этого есть стандартные средства, котрые использует референсная Pascal реализация, для C же необходимо это сделать самостоятельно.
Expand Down

0 comments on commit a2b38a0

Please sign in to comment.