From 2a409d9c503f875c5ba694c0c601b287876c3536 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 17 Aug 2007 12:37:52 +0000 Subject: 20070817-1337 --- libinterp/alt.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'libinterp/alt.c') diff --git a/libinterp/alt.c b/libinterp/alt.c index 61bda2e3..75749e19 100644 --- a/libinterp/alt.c +++ b/libinterp/alt.c @@ -268,7 +268,7 @@ xecalt(int block) Alt *a; Prog *p; int nrdy; - static int xrand = -1; + static ulong xrand = 0x20342; p = currun(); @@ -288,10 +288,7 @@ xecalt(int block) return; } - xrand += xrand; - if(xrand < 0) - xrand ^= 0x88888EEF; - - altcomm(a, xrand%nrdy); + xrand = xrand*1103515245 + 12345; + altcomm(a, (xrand>>8)%nrdy); altdone(a, p, nil, -1); } -- cgit v1.2.3