|
|
DataMuseum.dkPresents historical artifacts from the history of: DANOSI |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DANOSI Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 8884 (0x22b4)
Types: TextFile
Names: »TESTVER9.RTP«
└─⟦289818552⟧ Bits:30010516 DVBS1.SW2114.src.2.7-3 SW2114 3/4 Real Time Pascal 2.7
└─⟦this⟧ »RTP\TESTVER9.RTP«
└─⟦783187a02⟧ Bits:30010525 DVBS1.SW2114.src.2.6-3 RTP compiler source SW2104+SW2114 Disk#3 30/1-92 HHA
└─⟦this⟧ »RTP\TESTVER9.RTP«
└─⟦ca921ce75⟧ Bits:30010528 DVBS1.SW2114.src.2.6-6 RTP Compiler Source SW2104+SW2114 Disk 3 92.02.03 HEJ HHA
└─⟦this⟧ »RTP\TESTVER9.RTP«
└─⟦d5707feda⟧ Bits:30010512 DVBS1.SW2114.src.2.14-3 SW2114 REAL #3/4 TIME PASCAL SOURCE REL 2.14 92.09.01
└─⟦this⟧ »RTP\TESTVER9.RTP«
env;\r
procedure writename(Var z : inoutZone; Inspect name : String); EXTERNAL;\r
.\r
PROCEDURE test9a(Var OK : Boolean; VAR ZoneVar : inoutZone);\r
(** sets **)\r
const\r
setlow = 0;\r
sethigh= 10;\r
\r
type\r
set_range = setlow..sethigh;\r
set_type = set of set_range;\r
\r
FUNCTION firstbit(s : set_type) : Integer;\r
begin\r
firstbit := setlow - 1;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
firstbit := i;\r
exitloop;\r
end;\r
end;\r
\r
FUNCTION sumbits(s : set_type) : Integer;\r
var sum : Integer;\r
begin\r
sum := 0;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
sum := sum + i;\r
end;\r
sumbits := sum;\r
end;\r
\r
var\r
set1, set2, set3 : set_type;\r
set4 : set of 2..13;\r
setvar : integer;\r
b : boolean;\r
repeats : Integer := 10;\r
\r
procedure printset(s: set_type);\r
var b : boolean;\r
begin\r
b := true;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
PrintInteger(ZoneVar, i);\r
b := false;\r
end;\r
if b then printinteger(zonevar, setlow - 1);\r
end;\r
\r
function checkset(s: set_type; value : integer): boolean;\r
var b : boolean;\r
foundvalue : integer;\r
begin\r
b := true;\r
foundvalue := 0;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
foundvalue := foundvalue + i;\r
b := false;\r
end;\r
\r
if b then foundvalue := setlow - 1;\r
checkset := foundvalue = value;\r
end; (* checkset *)\r
\r
procedure printsetboo(b: boolean);\r
begin\r
printBoolean(zonevar, b);\r
end; (* printsetboo *)\r
\r
begin \r
for counter := 1 to repeats do\r
begin\r
WriteName(ZoneVar,"Test9A");\r
Ok := false;\r
set1 := (.1.);\r
$code\r
printset(set1); (* 1 *)\r
$nocode\r
if firstbit(set1) <> 1 then exit;\r
if sumbits(set1) <> 1 then exit;\r
\r
set1 := (..);\r
printset(set1); (* -1 *)\r
if firstbit(set1) <> -1 then exit;\r
if sumbits(set1) <> 0 then exit;\r
\r
set1 := (. 2, 4 .);\r
printset(set1); (* 2 4 *)\r
if firstbit(set1) <> 2 then exit;\r
if sumbits(set1) <> 6 then exit;\r
\r
setvar := 10;\r
set2 := (. 4, setvar.);\r
printset(set2); (* 4 10 *)\r
if firstbit(set2) <> 4 then exit;\r
if sumbits(set2) <> 14 then exit;\r
\r
set3 := set1 + set2;\r
printset(set3); (* 2 4 10 *)\r
if firstbit(set3) <> 2 then exit;\r
if sumbits(set3) <> 16 then exit;\r
\r
set3 := set1 - set2;\r
printset(set3); (* 2 *)\r
if firstbit(set3) <> 2 then exit;\r
if sumbits(set3) <> 2 then exit;\r
\r
set3 := set1 * set2;\r
printset(set3); (* 4 *)\r
if firstbit(set3) <> 4 then exit;\r
if sumbits(set3) <> 4 then exit;\r
\r
b := set1 <= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 >= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 = set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 <> set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
\r
b := set3 <= set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
\r
b := set3 >= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 = set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 <> set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
\r
setvar := 4;\r
set4 := ( (.2..setvar.) - (.setvar-1.)) + set2;\r
printset(set4); (* 2 4 10 *)\r
if firstbit(set4) <> 2 then exit;\r
if sumbits(set4) <> 16 then exit;\r
\r
set4 := ( (.2..setvar.) - (.setvar-1.)) - set2;\r
printset(set4); (* 2 *)\r
if firstbit(set4) <> 2 then exit;\r
if sumbits(set4) <> 2 then exit;\r
\r
set4 := ( (.2..setvar.) - (.setvar-1.)) * set2;\r
printset(set4); (* 4 *)\r
if firstbit(set4) <> 4 then exit;\r
if sumbits(set4) <> 4 then exit;\r
\r
b := ( (.2..setvar.) - (.setvar-1.)) <= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := ( (.2..setvar.) - (.setvar-1.)) >= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := ( (.2..setvar.) - (.setvar-1.)) = set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := ( (.2..setvar.) - (.setvar-1.)) <> set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
printset((.5..setvar.) + (..)); (* -1 *)\r
\r
if not checkset((.5..setvar.) + (..), -1) then exit;\r
end;\r
ok := true;\r
end;\r
\r
PROCEDURE test9aa(Var OK : Boolean; VAR ZoneVar : inoutZone);\r
(** sets **)\r
const\r
setlow = 50;\r
sethigh= 1000;\r
\r
type\r
set_range = setlow..sethigh;\r
set_type = set of set_range;\r
\r
FUNCTION firstbit(s : set_type) : Integer;\r
begin\r
firstbit := setlow - 1;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
firstbit := i;\r
exitloop;\r
end;\r
end;\r
\r
FUNCTION sumbits(s : set_type) : Integer;\r
var sum : Integer;\r
begin\r
sum := 0;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
sum := sum + i;\r
end;\r
sumbits := sum;\r
end;\r
\r
var\r
set1, set2, set3 : set_type;\r
set4 : set of 2..1300;\r
setvar : integer;\r
b : boolean;\r
repeats : Integer := 10;\r
\r
procedure printset(s: set_type);\r
var b : boolean;\r
begin\r
b := true;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
PrintInteger(ZoneVar, i);\r
b := false;\r
end;\r
if b then printinteger(zonevar, setlow - 1);\r
end;\r
\r
function checkset(s: set_type; value : integer): boolean;\r
var b : boolean;\r
foundvalue : integer;\r
begin\r
b := true;\r
foundvalue := 0;\r
for i := setlow to sethigh do\r
if i in s then\r
begin\r
foundvalue := foundvalue + i;\r
b := false;\r
end;\r
\r
if b then foundvalue := setlow - 1;\r
checkset := foundvalue = value;\r
end; (* checkset *)\r
\r
procedure printsetboo(b: boolean);\r
begin\r
printBoolean(zonevar, b);\r
end; (* printsetboo *)\r
\r
begin \r
for counter := 1 to repeats do\r
begin\r
WriteName(ZoneVar,"Test9AA");\r
Ok := false;\r
set1 := (.100.);\r
printset(set1); (* 100 *)\r
if firstbit(set1) <> 100 then exit;\r
if sumbits(set1) <> 100 then exit;\r
\r
set1 := (..);\r
printset(set1); (* 49 *)\r
if firstbit(set1) <> 49 then exit;\r
if sumbits(set1) <> 0 then exit;\r
\r
set1 := (. 200, 400 .);\r
printset(set1); (* 200 400 *)\r
if firstbit(set1) <> 200 then exit;\r
if sumbits(set1) <> 600 then exit;\r
\r
setvar := 1000;\r
set2 := (. 400, setvar.);\r
printset(set2); (* 400 1000 *)\r
if firstbit(set2) <> 400 then exit;\r
if sumbits(set2) <> 1400 then exit;\r
\r
set3 := set1 + set2;\r
printset(set3); (* 200 400 1000 *)\r
if firstbit(set3) <> 200 then exit;\r
if sumbits(set3) <> 1600 then exit;\r
\r
set3 := set1 - set2;\r
printset(set3); (* 200 *)\r
if firstbit(set3) <> 200 then exit;\r
if sumbits(set3) <> 200 then exit;\r
\r
set3 := set1 * set2;\r
printset(set3); (* 400 *)\r
if firstbit(set3) <> 400 then exit;\r
if sumbits(set3) <> 400 then exit;\r
\r
b := set1 <= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 >= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 = set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 <> set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
\r
b := set3 <= set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
\r
b := set3 >= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 = set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := set1 <> set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
$code\r
setvar := 400;\r
set4 := ( (.200..setvar.) - (.201..setvar-1.)) + set2;\r
printset(set4); (* 200 400 1000 *)\r
$nocode\r
if firstbit(set4) <> 200 then exit;\r
if sumbits(set4) <> 1600 then exit;\r
\r
set4 := ( (.200..setvar.) - (.201..setvar-1.)) - set2;\r
printset(set4); (* 200 *)\r
if firstbit(set4) <> 200 then exit;\r
if sumbits(set4) <> 200 then exit;\r
\r
set4 := ( (.200..setvar.) - (.201..setvar-1.)) * set2;\r
printset(set4); (* 400 *)\r
if firstbit(set4) <> 400 then exit;\r
if sumbits(set4) <> 400 then exit;\r
\r
b := ( (.200..setvar.) - (.201..setvar-1.)) <= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := ( (.200..setvar.) - (.201..setvar-1.)) >= set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := ( (.200..setvar.) - (.201..setvar-1.)) = set2;\r
printsetboo(b); (* False *)\r
if b then exit;\r
\r
b := ( (.200..setvar.) - (.201..setvar-1.)) <> set2;\r
printsetboo(b); (* True *)\r
if not b then exit;\r
printset((.500..setvar.) + (..)); (* 49 *)\r
\r
if not checkset((.500..setvar.) + (..), 49) then exit;\r
end;\r
ok := true;\r
end;\r
PROCEDURE test9(Var OK : Boolean; VAR ZoneVar : inoutZone);\r
PROCEDURE test9a(Var OK : Boolean; VAR ZoneVar : inoutZone); external;\r
PROCEDURE test9aa(Var OK : Boolean; VAR ZoneVar : inoutZone); external;\r
begin\r
test9a(ok, zonevar);\r
if ok then test9aa(ok, zonevar);\r
end.\r