 LAPACK  3.6.1 LAPACK: Linear Algebra PACKage
 real function sasum ( integer N, real, dimension(*) SX, integer INCX )

SASUM

Purpose:
```    SASUM takes the sum of the absolute values.
uses unrolled loops for increment equal to one.```
Date
November 2011
Further Details:
```     jack dongarra, linpack, 3/11/78.
modified 3/93 to return if incx .le. 0.
modified 12/3/93, array(1) declarations changed to array(*)```

Definition at line 54 of file sasum.f.

54 *
55 * -- Reference BLAS level1 routine (version 3.4.0) --
56 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
58 * November 2011
59 *
60 * .. Scalar Arguments ..
61  INTEGER incx,n
62 * ..
63 * .. Array Arguments ..
64  REAL sx(*)
65 * ..
66 *
67 * =====================================================================
68 *
69 * .. Local Scalars ..
70  REAL stemp
71  INTEGER i,m,mp1,nincx
72 * ..
73 * .. Intrinsic Functions ..
74  INTRINSIC abs,mod
75 * ..
76  sasum = 0.0e0
77  stemp = 0.0e0
78  IF (n.LE.0 .OR. incx.LE.0) RETURN
79  IF (incx.EQ.1) THEN
80 * code for increment equal to 1
81 *
82 *
83 * clean-up loop
84 *
85  m = mod(n,6)
86  IF (m.NE.0) THEN
87  DO i = 1,m
88  stemp = stemp + abs(sx(i))
89  END DO
90  IF (n.LT.6) THEN
91  sasum = stemp
92  RETURN
93  END IF
94  END IF
95  mp1 = m + 1
96  DO i = mp1,n,6
97  stemp = stemp + abs(sx(i)) + abs(sx(i+1)) +
98  \$ abs(sx(i+2)) + abs(sx(i+3)) +
99  \$ abs(sx(i+4)) + abs(sx(i+5))
100  END DO
101  ELSE
102 *
103 * code for increment not equal to 1
104 *
105  nincx = n*incx
106  DO i = 1,nincx,incx
107  stemp = stemp + abs(sx(i))
108  END DO
109  END IF
110  sasum = stemp
111  RETURN
real function sasum(N, SX, INCX)
SASUM
Definition: sasum.f:54

Here is the caller graph for this function: