ソースを参照

replaced division by shifts in order to avoid a runtime-import.

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6472 8c9fc860-2736-0410-a75d-ab315db34111
felixf 10 年 前
コミット
53e51ee3f6
1 ファイル変更2 行追加2 行削除
  1. 2 2
      source/ARM.FPE64.Mod

+ 2 - 2
source/ARM.FPE64.Mod

@@ -405,10 +405,10 @@ MODULE FPE64;
 				xe := 62+B;
 				WHILE x1 < HUGEINT(4000000000000000H) DO x1 := x1*2; DEC(xe) END;
 			END;
-			x1 := x1 DIV 100000000H;
+			x1 := ASH(x1, -32); (*x1 DIV 100000000H;*)
 			z.low := LONGINT(x1)*400000H;
 			x1 := LSH(x1, -10);
-			z.high := LONGINT(xe*C) + (LONGINT(x1)-C) + SYSTEM.VAL(LONGINT, SYSTEM.VAL(SET, i DIV 100000000H) * {31});
+			z.high := LONGINT(xe*C) + (LONGINT(x1)-C) + SYSTEM.VAL(LONGINT, SYSTEM.VAL(SET, ASH(i, -32)) * {31});
 		ELSE
 			z.low := LONGINT(x0);
 			z.high := LONGINT(x1)