-- PackEnviron.mesa
-- last edited by Lewis on 21-Oct-81 15:42:14
-- last edited by Satterthwaite, December 27, 1982 9:15 am

DIRECTORY
  Inline: TYPE USING [LongCOPY];

PackEnviron: DEFINITIONS
    IMPORTS Inline = {

  Copy: PROC [from: LONG POINTER, nwords: CARDINAL, to: LONG POINTER] =
    Inline.LongCOPY;

  Zero: PROC [p: LONG POINTER, l: CARDINAL] = INLINE {
    IF l # 0 THEN {
      p↑ ← 0;  Inline.LongCOPY[from~p, to~(p+1), nwords~(l-1)]}};

  SetBlock: PROC [p: LONG POINTER, v: UNSPECIFIED, n: CARDINAL] = INLINE {
    IF n # 0 THEN {
      p↑ ← v;  Inline.LongCOPY[from~p, to~(p+1), nwords~(n-1)]}};

  }.