File: pbsdzro1.f

package info (click to toggle)
scalapack 1.6-13
  • links: PTS
  • area: main
  • in suites: potato
  • size: 30,476 kB
  • ctags: 25,789
  • sloc: fortran: 296,718; ansic: 51,265; makefile: 1,541; sh: 4
file content (58 lines) | stat: -rw-r--r-- 1,316 bytes parent folder | download
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
      SUBROUTINE PBSDZRO1( M, N, NZ, A, LDA, MINT, NINT, NEN )
*
*  -- PB-BLAS routine (version 2.1) --
*     University of Tennessee, Knoxville, Oak Ridge National Laboratory.
*     April 28, 1996
*
*     .. Scalar Arguments ..
      INTEGER            LDA, M, MINT, N, NINT, NEN, NZ
*     ..
*     .. Array Arguments ..
      REAL               A( LDA, * )
*     ..
*
*  Purpose
*  =======
*
*  PBSDZRO1 selects diagonal elements and makes them ZERO.
*
*  =====================================================================
*
*     .. Parameters ..
      REAL               ZERO
      PARAMETER          ( ZERO = 0.0E+0 )
*     ..
*     .. Local Scalars ..
      INTEGER            I, J, JP, MN
*     ..
*     .. External Functions ..
      INTEGER            ICEIL
      EXTERNAL           ICEIL
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC          MIN
*     ..
*     .. Executable Statements ..
*
      JP = 0
      MN = M
*
      DO 10 J = 1, N-NZ
         A( MN+J, JP+J ) = ZERO
   10 CONTINUE
      MN = MN + MINT - NZ
      JP = JP + NINT - NZ
*
      DO 30 I = 2, ICEIL( NEN+NZ, NINT )
         DO 20 J = 1, MIN( N, NEN-JP )
            A( MN+J, JP+J ) = ZERO
   20    CONTINUE
         MN = MN + MINT
         JP = JP + NINT
   30 CONTINUE
*
      RETURN
*
*     End of PBSDZRO1
*
      END