Jelajahi Sumber

add fpc_longword_to_double if needed

git-svn-id: trunk@23173 -
pierre 12 tahun lalu
induk
melakukan
0e14a3c5bd
1 mengubah file dengan 18 tambahan dan 11 penghapusan
  1. 18 11
      rtl/m68k/math.inc

+ 18 - 11
rtl/m68k/math.inc

@@ -10,17 +10,24 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
- 
-{$WARNING FIX ME!! dummy int64_to_double
-function fpc_int64_to_double(i: int64): double; compilerproc;
-assembler;
-asm
-end;
-}
 
-{$WARNING FIX ME!! dummy longword_to_double
+
+{$ifdef FPC_INCLUDE_SOFTWARE_LONGWORD_TO_DOUBLE}
 function fpc_longword_to_double(i: longword): double; compilerproc;
-assembler;
-asm
+var
+  l : longint;
+begin
+{$ifopt R+}
+{$define HAS_OPTR}
+{$endif}
+{$r-}
+  l:=longint(i);
+{$ifdef HAS_OPTR}
+{$r+}
+{$endif}
+  if l>=0 then
+    fpc_longword_to_double:=double(l)
+  else
+    fpc_longword_to_double:=-double(abs(l));
 end;
-}
+{$endif FPC_INCLUDE_SOFTWARE_LONGWORD_TO_DOUBLE}