// 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 ralise l'agrgation en vol prix A-1 de la liste des sries en entre ( partir des sries volch et px A-1)
// l'opration ralise pour chaque srie (somme ou soustraction ) est dfinie par une liste de 1 et -1 passe en 2me argument

addfun main;

procedure main()
{
// on reconstitue les noms des sries volch et px A-1 avant de les rcuprer dans la boucle d'agrgation

	liste = getarg(1);
	n = dimsize(liste,1);
	somme = expand(1,n);
	signe = getarg(2,somme,false);
	listepxbase = liste||"0";
	listevolch = liste||"7_ch";
	listepxbase = upper(listepxbase);
	listevolch = upper(listevolch);
	agreg_volvo = 0;

// boucle d'agrgation

    for (k=1;k<=n;k=k+1)
	{
	elem_pxbase = getdata(listepxbase[k],0);
	elem_volch = getdata(listevolch[k],0);
	elem_volvo = elem_pxbase*elem_volch;
	agreg_volvo = agreg_volvo + signe[k]*elem_volvo;
	}

  return(agreg_volvo); 
  }
