sdsdot (l) - Linux Manuals

NAME

SYNOPSIS

REAL FUNCTION
SDSDOT(N,SB,SX,INCX,SY,INCY)

    
REAL SB

    
INTEGER INCX,INCY,N

    
REAL SX(*),SY(*)

    
DOUBLE PRECISION DSDOT

    
INTEGER I,KX,KY,NS

    
INTRINSIC DBLE

    
DSDOT = SB

    
IF (N.LE.0) GO TO 30

    
IF (INCX.EQ.INCY .AND. INCX.GT.0) GO TO 40

    
KX = 1

    
KY = 1

    
IF (INCX.LT.0) KX = 1 + (1-N)*INCX

    
IF (INCY.LT.0) KY = 1 + (1-N)*INCY

    
DO 10 I = 1,N

    
DSDOT = DSDOT + DBLE(SX(KX))*DBLE(SY(KY))

    
KX = KX + INCX

    
KY = KY + INCY

    
10 CONTINUE

    
30 SDSDOT = DSDOT

    
RETURN

    
40 NS = N*INCX

    
DO 50 I = 1,NS,INCX

    
DSDOT = DSDOT + DBLE(SX(I))*DBLE(SY(I))

    
50 CONTINUE

    
SDSDOT = DSDOT

    
RETURN

    
END

PURPOSE