aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Classes/UFiles.pas
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-03-20 00:54:21 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-03-20 00:54:21 +0000
commit1a16f5c72896d243cac33147e8ca28079b882ecf (patch)
treed973ef180bfd57d029a8771d9f465f76ff602890 /Game/Code/Classes/UFiles.pas
parentbeccaf9c93dcbab557d4b2fe6845a424f4f47e32 (diff)
downloadusdx-1a16f5c72896d243cac33147e8ca28079b882ecf.tar.gz
usdx-1a16f5c72896d243cac33147e8ca28079b882ecf.tar.xz
usdx-1a16f5c72896d243cac33147e8ca28079b882ecf.zip
- Delphi (in contrast to C/C++) handles floating-point multiplications with NaN or divisions by 0.0 as floating-point exceptions (FPE). This is a problem with some libraries which expect that e.g. "NaN * 3.0" is NaN or "4.0 / 0" is INFINITY.
- The (strange) default behavior can be changed by setting the control word of the FPU. This is done by assigning $133F to this register via Set8087CW() in delphi. In FPC it was not available for a long time but now it is. OpenGL12.pas contained an own version of Set8087CW() which was totally wrong because the important asm-directives (fclex and fldcw) were missing so it was not of any use. Hence it was removed from the unit so it does not hide the correct FPC version anymore. - This should fix some EDivByZero exceptions in floating-point expressions (as with projectM). git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@962 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions