function d=base2decbis(h,b)

% passage de la base b à la base 10 (adaptée et inspirée de eval_horner)
%
%   *********************************************************
%    d=base2decbis(h,b) :
%
%    * Entrées :
%       *  h : tableau (éventuellement vide) d'entiers compris entre 0 et
%          b-1 (numérique ou symbolique)
%    * Entrées facultative
%       *  b : entier supérieur à 2, égal à 2 par défaut.
%    * Sorties :
%       * si h est vide, d=0
%         sinon, d est la valeur en base 10 du nombre dont les chiffres en base 
%         b sont h(1),h(2),....,h(n+1), soit, tel que 
%             d=sum_{i=0}^n s(n+1-i) b^i.
%
%
%   ************ Fonctions auxiliaires utilisées ************
%
%      aucune
%
%   *********************************************************
%
%   2025 by          Jérôme BASTIEN
%                    Université Claude Bernard Lyon I, Polytech Lyon, Laboratoire LIBM, Villeurbanne
%                    E-Mail : jerome.bastien@univ-lyon1.fr
%


if nargin==1||isempty(b)
    b=2;
end
% inspirée et adaptée de eval_horner
if isempty(h)
    d=0;
else
    if any(double(h)<0|double(h)>=double(b))
        error(['Il existe des chiffres négatifs ou plus grands que ',int2str(b)]);
    end
    n=length(h)-1;
    Auxi=h(1);
    for i=n-1:-1:0
        Auxi=b*Auxi+h(n+1-i);
    end
    d=Auxi;
end