|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00) Types: TextFile Names: »tsystest2 «
└─⟦9ccaf6601⟧ Bits:30008165 Bånd med SW8000 kildetekst/release værktøjer └─⟦f546e193b⟧ └─⟦this⟧ »tsystest2 «
message div random procedurer (tsystest2); zone zrandom (128 * 3, 3, xstderror); real field randompil; procedure initrandom (name); string name; begin open (zrandom, 4, name, 1 shift 9); if test then write (out, "nl", 1, <:random: open:>); resetrandom; end procedure initrandom; procedure exitrandom; begin integer s; getposition (zrandom, 0, s); if test then write (out, "nl", 1, <:random: close no.:>, <<d>, randompil, <: seg.:>, s); close (zrandom, true); end procedure exitrendom; procedure resetrandom; begin <* forfra *> integer s; getposition (zrandom, 0, s); if test then write (out, "nl", 1, <:random: reset no.:>, <<d>, randompil, <: seg.:>, s); randompil := 0; setposition (zrandom, 0, 0); end resetrandom; procedure nextrandom; begin <* næste tal *> if randompil >= 128000 then begin <* forfra *> if test then write (out, "nl", 1, <:random: turnaround no.:>, <<d>, randompil); resetrandom; end; if randompil mod 128 = 0 then begin if test then write (out, "nl", 1, <:random: newseg no.:>, <<d>, randompil); inrec6 (zrandom, 512); end; randompil := randompil + 1; end procedure nextrandom; integer procedure i_random (min, max); value min, max; integer min, max; begin <* returnerer integer: min <= tal <= max *> integer i; nextrandom; i := i_random := zrandom (randompil mod 128 + 1) * (extend max - extend min) + min; comment if test then write (out, "nl", 1, <:random, nr.:>, <<ddddd>, randompil, <: integer::>, <<-dddddddd>, i, <: min::>, min, <: max::>, max); end procedure i_random; long procedure l_random (min, max); value min, max; long min, max; begin <* returnerer long: min <= tal <= max *> long l; nextrandom; l := l_random := zrandom (randompil mod 128 + 1) * (max - min) + min; comment if test then write (out, "nl", 1, <:random, nr.:>, <<ddddd>, randompil, <: long::>, <<-dddddddddddd>, l, <: min::>, min, <: max::>, max); end procedure l_random; real procedure r_random (min, max); value min, max; real min, max; begin <* returnerer real: min <= tal <= max *> real r; nextrandom; r := r_random := zrandom (randompil mod 128 + 1) * (max - min) + min; comment if test then write (out, "nl", 1, <:random, nr.:>, <<ddddd>, randompil, <: real::>, <<-d.ddddddddd'-ddd>, r, <: min::>, min, <: max::>, max); end procedure r_random; ▶EOF◀