Short: free IEEE-libs for WinUAE or 68881/2 FPU Author: Peter Keunecke Uploader: pkeunecke alice-dsl net Type: util/libs Version: 45.881 r14 Requires: WinUAE or an Amiga with 68881/2 FPU (emulation) Architecture: m68k-amigaos >= 2.0.0 Latest changes r14: ================== This is the final cleanup now. Nothing can divide my concept and conquer me. This is the greatest NaNsense I've ever done, but it needs a little less memory and disk space or ROM now. Removed a few hundred bytes. The additional branches can be done by the CPU already whilst the FPU is still calculating. Please, don't expect that anything gets faster in reality... Changes in r11-r13: ================== Set the global rounding mode to ext. nearest except for Fix() to get more accurate rounded results for most functions. Only Fix() really needs the rounding to zero, which I used before. Some functions have better results now than the OS 3.9 libs. I always checked my results with the reference values of the HS benchmarks for correctness until I now found out with an arbitrary precision math calculator that some references were rounded to wrong values, the same as the results from OS 3.9. Some functions also profit from the 80 bit FPU in WinUAE 4.0. Changed the FMOD instruction in the Pow() function into FREM. Some small optimizations in Tst(), Cmp(), Floor() and Ceil(). Safer fallback to the original libs when no FPU is detected. The fallback is only supported with PatchMSB and loading the libs from disk, not with LoadModule, LoadResident or a ROM. Removed the segment list pointer from the resident module to make it possible to add these libraries to a custom ROM, but this has not been tested and is not recommended, because if these libraries are resident a fallback to the original libs can not be done anymore when no FPU is found in the system. Description: =========== These libraries are translating most floating point function calls directly into FPU instructions. No integer calculations. The Pow() function is optimized for PCs, but works on any FPU. In case that no FPU is detected, the original libs are loaded. Btw, the AmigaOS IEEE libraries also have support for FPUs. ;) The standard installation, this is a safe setup: =============================================== 1) Copy c/PatchMSB to C: 2) Make a directory Libs:NoFPU Copy your AmigaOS mathieeelibs to Libs:NoFPU ; as fallback Copy the contents of libs/ to Libs: 3) Insert a line below SetPatch in your startup-sequence: SetPatch QUIET ; ... PatchMSB ; installs the same functions as in MSB-library ; remove all other patches for IEEE libraries 4) Reboot Legal basis: =========== The libraries and sources are funware and freely distributable. I don't give any warranties. You're using this software on your own risk and you are responsible for any damage it might cause! Copyright 2018: ============== Peter Keunecke