procedure rtowinfty(var x: hreal);
{ no effect if x=0 }
var
  n: integer;
begin { rtowinfty }
  with x do if ma[hdim]<9999 then ma[hdim]:=ma[hdim]+1
  else begin
    n:=hdim;
    while (ma[n]=9999) and (n>0) do begin
      ma[n]:=0;
      n:=n-1;
    end;
    if ma[n]<9999 then ma[n]:=ma[n]+1
    else begin
       ma[0]:=1;
       ex:=ex+1;
       if ex>exmax then overflow:=true;
    end;
  end;
end { rtowinfty };

