function y = polysval(p, x)
%POLYSVAL valuation de plusieurs polynmes en un vecteur ligne
% y = polysval(p, x)
% Entres
% p matrice de polynmes (chaque ligne est un polynme)
% x vecteur ligne (x est toujours considre comme tel)
% Sortie
% y matrice rsultat y(i,j) = polyval(p(i, :), x(j))
x = x(:).';
big = any(isinf(x)); % gestion spciale pour x =inf ou -inf
[n m] = size(p);
l = length(x);
x = ones(n,1)*x;
y = p(:,1)*ones(1,l);
if big % permet un rsultat correct avec -inf et inf
y1 = y;
for i=2:m
notnul = y~=0;
y1(notnul) = x(notnul) .* y(notnul);
y = y1 + p(:,i)*ones(1,l);
end;
else
for i=2:m
y = y.*x + p(:,i)*ones(1,l);
end;
end;