Numérotation des lignes :

ddotip
C DDOTIP    SOURCE    PV        19/01/30    21:15:04     10089                function ddotip(lon,val1,ind,val2)*  produit scalaire sparse. ind est le tableau de pointeur. *  si lon est negatif, on fait la boucle Ã  l'envers.      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8 (A-H,O-Z)      dimension val1(*),val2(*),ind(*)      resu1=0.d0      resu2=0.d0      resu3=0.d0      resu4=0.d0      if (lon.gt.0) then      do 10 i=0,lon-4,4       resu1=resu1+val1(i+1)*val2(ind(i+1))       resu2=resu2+val1(i+2)*val2(ind(i+2))       resu3=resu3+val1(i+3)*val2(ind(i+3))       resu4=resu4+val1(i+4)*val2(ind(i+4))  10  continue      do 20 i=4*(lon/4)+1,lon       resu1=resu1+val1(i)*val2(ind(i))  20  continue      elseif (lon.lt.0) then      lon=-lon      do 21 i=lon,4*(lon/4)+1,-1       resu1=resu1+val1(i)*val2(ind(i))  21  continue      do 11 i=4*(lon/4)-4,0,-4       resu1=resu1+val1(i+4)*val2(ind(i+4))       resu2=resu2+val1(i+3)*val2(ind(i+3))       resu3=resu3+val1(i+2)*val2(ind(i+2))       resu4=resu4+val1(i+1)*val2(ind(i+1))  11  continue      endif      ddotip=resu1+resu2+resu3+resu4      return      end   

© Cast3M 2003 - Tous droits réservés.
Mentions légales