function uok(var u: ltuple; var v: vector): boolean;
var
  ok3: boolean;
  x,y,u1: scalar;
begin { uok }
  if u[3].l.si<0 then begin
    x.l:=u[3].l;
    x.u.si:=0;
    sval(v,rho,x,y);
    ok3:=(y.l.si>0);
  end
  else ok3:=true;
  sabs(u[1],u1);
  uok:=slt(u1,umax[1]) and (u[2].l.si>0) and slt(u[2],umax[2]) and ok3;
end { uok };

