Pārlūkot izejas kodu

use scaling instead of division - improves performance on ARM

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8675 8c9fc860-2736-0410-a75d-ab315db34111
eth.morozova 6 gadi atpakaļ
vecāks
revīzija
b90b4d241a
1 mainītis faili ar 3 papildinājumiem un 1 dzēšanām
  1. 3 1
      source/Random.Mod

+ 3 - 1
source/Random.Mod

@@ -12,6 +12,8 @@ CONST
 	allbits   = 7FFFFFFFH;
 	halfrange = 20000000H;
 	step      = 7;
+	
+	allbitsInv = 1 / REAL(allbits);
 
 TYPE
 		(** A pseudo-random number generator.  This object is not reentrant. *)
@@ -86,7 +88,7 @@ TYPE
 
 		PROCEDURE Uniform*(): REAL;
 		BEGIN
-			RETURN Integer() / allbits;
+			RETURN Integer() * allbitsInv;
 		END Uniform;
 
 		(** Return a pseudo-random real number, exponentially distributed. *)