// Ce code source est rgi par la licence CeCILL V2.1 soumise au droit franais et 
//respectant les principes de diffusion des logiciels libres. Il est autoris de modifier 
//et/ou redistribuer ce code sous les conditions de la licence CeCILL V2.1. Le texte complet
// de la licence CeCILL V2.1 est dans le fichier `LICENSE`.

// fonction qui prend en entre le nom d'une srie et retourne la srie px A-1 (calcule  partir des sries en vol px A-1 et en valeur)

addfun main;

procedure main(xvolvo,xval)
{
// calcul de la srie annuelle
	
	xvolvo_an = compact(xvolvo,0,1);
	xval_an = compact(xval,0,1);
	t0 = startdate(xvolvo_an);
	// Anne de base des comptes nationaux,  modifier  chaque changement de base.
	t1 = 2010A;
	t2 = enddate(xvolvo_an);
	xpxbase_an = 1;
	i = 1;    

    for (j=t1-1;j>=t0-1;j=j-1)
	{
	valeur = (xvolvo_an[j+1]/xval_an[j+1])*xpxbase_an[1];
     	xpxbase_an = c.(valeur,xpxbase_an);
	i = i+1;
        }

    for (j=t1+1;j<=t2;j=j+1)
	{
	valeur = (xval_an[j]/xvolvo_an[j])*xpxbase_an[i]; 
	xpxbase_an = c.(xpxbase_an,valeur);
	i = i+1;
        }

// calcul de la srie trimestrielle

	xpxbase = reshape(expand(xpxbase_an,4),convert(convert(date2year(t0),"string")||"q1","date"));
		
  return(xpxbase); 
  }
