Browse Source

fix issue: MAX( UNSIGNED64 ) returned 0, because the result of ASH(1, 64) is undefined -- ( 0 );

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7901 8c9fc860-2736-0410-a75d-ab315db34111
eth.metacore 7 years ago
parent
commit
c7b8a1572d
1 changed files with 2 additions and 1 deletions
  1. 2 1
      source/FoxGlobal.Mod

+ 2 - 1
source/FoxGlobal.Mod

@@ -1437,7 +1437,8 @@ TYPE
 		IF signed THEN
 		IF signed THEN
 			RETURN ASH (HUGEINT(1), system.SizeOf (type) - 1) - 1;
 			RETURN ASH (HUGEINT(1), system.SizeOf (type) - 1) - 1;
 		ELSE
 		ELSE
-			RETURN ASH (HUGEINT(1), system.SizeOf (type)) -1;
+			RETURN LSH( HUGEINT(-1), -( 64 - system.SizeOf (type));
+(*			RETURN ASH (HUGEINT(1), system.SizeOf (type)) -1;*)
 		END;
 		END;
 	END MaxInteger;
 	END MaxInteger;