function [n, p] = degree(p, tol)
% DEGREE degr d'un polynme
% Entre
% p polynme
% tol si tous les coefs sont en valeur absolue
% infrieurs a tol, le polynme est nul.
% 0 par dfaut.
% Sortie
% n est le degr effectif de p (-inf pour le
% polynme nul)
% p si p est prsent il contient en sortie
% p priv de ses coefficients de plus
% haut degr presqu'gaux a 0 (i.e. tels
% que tol*abs(p(i)) < max(abs(p))
if nargin == 1
tol = 0.0;
end;
m = max(abs(p));
if m == 0.0
n = -inf;
else
v = find(abs(p)>tol*m);
if isempty(v)
n = -inf;
else
n = length(p)- min(v);
end;
end;
if nargout == 2
if isinf(n)
p = [];
else
p = p(length(p)-n:length(p));
end;
end;