create or replace package random as declare v_seed 'float8', v_Multiplier 'constant float8 default 22695477', v_incriment 'constant float8 default 1' language 'plpgsql' body as ' begin changeseed(50); return NULL; end; 'language 'plpgsql' function changeseed (float8) returns float8 as ' begin v_seed := $1; return 0; end; ' language 'plpgsql' function rand () returns float8 as ' begin v_seed := (v_multiplier * v_seed + v_incriment) % ( 2::float8 ^ 32); return (v_seed/(2^16)) % 32768::float8; end; ' language 'plpgsql' function randmax (float8) returns float8 as ' begin return rand() * $1 / 32768 + 1; end; ' language 'plpgsql';