1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
C Copyright 1981-2007 ECMWF
C
C Licensed under the GNU Lesser General Public License which
C incorporates the terms and conditions of version 3 of the GNU
C General Public License.
C See LICENSE and gpl-3.0.txt for details.
C
COMPLEX FUNCTION CSUM (KN, UVEC, KNCX)
C
C---->
C**** *CSUM* - ROUTINE WHICH IMPLEMENTS THE BLAS ROUTINE OF THE
C SAME NAME
C
C PURPOSE.
C --------
C
C SIMPLE REPLACEMENT FOR IBM
C
C** INTERFACE.
C ----------
C
C * CV = CSUM (KN, UVEC, KNCX) *
C
C
C METHOD.
C -------
C
C CREATE COMPLEX SUM OF COMPLEX VECTOR
C
C EXTERNALS.
C ----------
C
C NONE
C
C REFERENCE.
C ----------
C
C NONE
C
C AUTHOR.
C -------
C
C K. FIELDING * ECMWF * FEB 1992.
C
C MODIFICATIONS.
C --------------
C
C NONE
C
C COMMON BLOCKS USED
C -------------------
C
C NONE
C
C----<
INTEGER KN, KNCX
COMPLEX UVEC (*)
C
INTEGER IP
COMPLEX CHOLD
C
C 1. MAIN LOOP OF CODE
C ----------------------------------------------
C
100 CONTINUE
#ifndef CRAY
CHOLD = (0.0D0, 0.0D0)
#else
CHOLD = (0.0, 0.0)
#endif
C
DO 110 IP = 0, KN - 1
CHOLD = CHOLD + UVEC (1 + IP * KNCX)
110 CONTINUE
C
CSUM = CHOLD
C
C END OF ROUTINE
C
RETURN
END
|