diff --git a/Test12.obn b/Test12.obn
index 4eecfb167cdeaba601260dce51f77302351da055..05273a2d7d519c39122ecf1d524a6f6a58a9d5bb 100644 (file)
--- a/Test12.obn
+++ b/Test12.obn
MODULE Test12;
+IMPORT SYSTEM;
+
CONST
- icon = 32;
- ash1 = ASH(icon, -5);
- ash2 = ASH(icon, 5);
+ con = -32;
+ comp = 32;
VAR
- i : INTEGER;
+ i, j : INTEGER;
BEGIN
- i := icon;
- ASSERT(ash1 = 1);
- ASSERT(ash2 = 1024);
- ASSERT(ASH(i, -5) = 1);
- ASSERT(ASH(i, 5) = 1024);
+ i := con;
+ j := comp;
+
+ ASSERT(ASH(i, -5) = ASH(con, -5));
+ ASSERT(ASH(i, 5) = ASH(con, 5));
+ ASSERT(ASH(j, -5) = ASH(comp, -5));
+ ASSERT(ASH(j, 5) = ASH(comp, 5));
+
+(*
+ (* Константы вычисляются с максимальной точностью, поэтому всегда провал *)
+ ASSERT(SYSTEM.LSH(i, -5) = SYSTEM.LSH(con, -5));
+*)
+
+ ASSERT(SYSTEM.LSH(i, 5) = SYSTEM.LSH(con, 5));
+ ASSERT(SYSTEM.LSH(j, -5) = SYSTEM.LSH(comp, -5));
+ ASSERT(SYSTEM.LSH(j, 5) = SYSTEM.LSH(comp, 5));
END Test12.
-Проверка правильности вычисления ASH.
+Проверка сдвигов.