1
C/MEMBR ADD NAME=ICOPY,SSI=0
3
subroutine icopy(n,dx,incx,dy,incy)
6
c cette subroutine copie un vecteur dx, de taille n, sur un
8
c dans le cas de deux increments egaux a 1, cette subroutine
9
c emploie des boucles "epanouies".
10
c dans le cas ou les increments sont negatifs cette
11
c subroutine prend les composantes en ordre inverse.
15
c subroutine dcopy(n,dx,incx,dy,incy)
17
c n: taille du vecteur dx
19
c dx: integer, vecteur "emetteur".
21
c dy: integer, vecteur "recepteur".
23
c incx, incy: increments entre les composantes des vecteurs.
27
c jack dongarra, linpack, 3/11/78.
32
integer i,incx,incy,ix,iy,n
35
if(incx.eq.1.and.incy.eq.1)go to 20
37
c code for unequal increments or equal increments not equal to 1
41
if(incx.lt.0)ix = (-n+1)*incx + 1
42
if(incy.lt.0)iy = (-n+1)*incy + 1
50
c code for both increments equal to 1