Browse Source

* fixed SetPrecisionMode/GetPrecisionMode for wince.

git-svn-id: trunk@5673 -
yury 18 years ago
parent
commit
68a71f4ca3
1 changed files with 4 additions and 7 deletions
  1. 4 7
      rtl/arm/mathu.inc

+ 4 - 7
rtl/arm/mathu.inc

@@ -67,7 +67,7 @@ var
   c: dword;
   c: dword;
 begin
 begin
   c:=_controlfp(0, 0);
   c:=_controlfp(0, 0);
-  if c and _PC_64 <> 0 then
+  if c and _MCW_PC = _PC_64 then
     Result:=pmDouble
     Result:=pmDouble
   else
   else
     Result:=pmSingle;
     Result:=pmSingle;
@@ -77,15 +77,12 @@ function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode
 var
 var
   c: dword;
   c: dword;
 begin
 begin
+  Result:=GetPrecisionMode;
   if Precision = pmSingle then
   if Precision = pmSingle then
-    c:=_PC_53
+    c:=_PC_24
   else
   else
     c:=_PC_64;
     c:=_PC_64;
-  c:=_controlfp(c, _MCW_PC);
-  if c and _PC_64 <> 0 then
-    Result:=pmDouble
-  else
-    Result:=pmSingle;
+  _controlfp(c, _MCW_PC);
 end;
 end;
 
 
 function ConvertExceptionMask(em: dword): TFPUExceptionMask;
 function ConvertExceptionMask(em: dword): TFPUExceptionMask;