The R Project SVN R

Rev

Rev 62769 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 62769 Rev 64299
1
diff -u /tmp/dlapack.f ./dlapack.f
1
diff -u keep/dlapack.f ./dlapack.f
2
--- /tmp/dlapack.f	2013-05-21 10:11:22.000000000 +0100
2
--- keep/dlapack.f	2013-11-25 09:13:35.000000000 +0000
3
+++ ./dlapack.f	2013-05-21 14:11:49.000000000 +0100
3
+++ ./dlapack.f	2013-11-25 09:21:56.000000000 +0000
4
@@ -21128,7 +21128,8 @@
4
@@ -21126,7 +21126,8 @@
5
 *
5
 *
6
 *        Compute Householder transform when N=1
6
 *        Compute Householder transform when N=1
7
 *
7
 *
8
-         CALL DLARFG( M, A, A( MIN( 2, M ), 1 ), 1, T )
8
-         CALL DLARFG( M, A, A( MIN( 2, M ), 1 ), 1, T )
9
+*  R change to stop gfortran warning
9
+*  R change to stop gfortran warning
10
+         CALL DLARFG( M, A(1,1), A( MIN( 2, M ), 1 ), 1, T(1,1) )
10
+         CALL DLARFG( M, A(1,1), A( MIN( 2, M ), 1 ), 1, T(1,1) )
11
 *         
11
 *         
12
       ELSE
12
       ELSE
13
 *
13
 *
14
@@ -96739,19 +96740,26 @@
-
 
15
          ITAUQ1 = ITAUP2 + MAX( 1, M - P )
-
 
16
          ITAUQ2 = ITAUQ1 + MAX( 1, Q )
-
 
17
          IORGQR = ITAUQ2 + MAX( 1, M - Q )
-
 
18
-         CALL DORGQR( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
-
 
19
+c WORK is a suitable dummy
-
 
20
+         CALL DORGQR( M-Q, M-Q, M-Q, WORK, MAX(1,M-Q), WORK, WORK, -1,
-
 
21
      $                CHILDINFO )
-
 
22
          LORGQRWORKOPT = INT( WORK(1) )
-
 
23
          LORGQRWORKMIN = MAX( 1, M - Q )
-
 
24
          IORGLQ = ITAUQ2 + MAX( 1, M - Q )
-
 
25
-         CALL DORGLQ( M-Q, M-Q, M-Q, 0, MAX(1,M-Q), 0, WORK, -1,
-
 
26
+c WORK is a suitable dummy
-
 
27
+         CALL DORGLQ( M-Q, M-Q, M-Q, WORK, MAX(1,M-Q), WORK, WORK, -1,
-
 
28
      $                CHILDINFO )
-
 
29
          LORGLQWORKOPT = INT( WORK(1) )
-
 
30
          LORGLQWORKMIN = MAX( 1, M - Q )
-
 
31
          IORBDB = ITAUQ2 + MAX( 1, M - Q )
-
 
32
-         CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12,
-
 
33
-     $                X21, LDX21, X22, LDX22, 0, 0, 0, 0, 0, 0, WORK,
-
 
34
-     $                -1, CHILDINFO )
-
 
35
+c avoid compiler warnings
-
 
36
+c         CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12,
-
 
37
+c     $                X21, LDX21, X22, LDX22, 0, 0, 0, 0, 0, 0, WORK,
-
 
38
+c     $                -1, CHILDINFO )
-
 
39
+      CALL DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12, X21,
-
 
40
+     $             LDX21, X22, LDX22, THETA, WORK(IPHI), WORK(ITAUP1),
-
 
41
+     $             WORK(ITAUP2), WORK(ITAUQ1), WORK(ITAUQ2),
-
 
42
+     $             WORK(IORBDB), -1, CHILDINFO )
-
 
43
          LORBDBWORKOPT = INT( WORK(1) )
-
 
44
          LORBDBWORKMIN = LORBDBWORKOPT
-
 
45
          IB11D = ITAUQ2 + MAX( 1, M - Q )
-
 
46
@@ -96763,9 +96771,15 @@
-
 
47
          IB22D = IB21E + MAX( 1, Q - 1 )
-
 
48
          IB22E = IB22D + MAX( 1, Q )
-
 
49
          IBBCSD = IB22E + MAX( 1, Q - 1 )
-
 
50
-         CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 0,
-
 
51
-     $                0, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, 0,
-
 
52
-     $                0, 0, 0, 0, 0, 0, 0, WORK, -1, CHILDINFO )
-
 
53
+c         CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 0,
-
 
54
+c     $                0, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, 0,
-
 
55
+c     $                0, 0, 0, 0, 0, 0, 0, WORK, -1, CHILDINFO )
-
 
56
+        CALL DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q, 
-
 
57
+     $             THETA,
-
 
58
+     $             WORK(IPHI), U1, LDU1, U2, LDU2, V1T, LDV1T, V2T,
-
 
59
+     $             LDV2T, WORK(IB11D), WORK(IB11E), WORK(IB12D),
-
 
60
+     $             WORK(IB12E), WORK(IB21D), WORK(IB21E), WORK(IB22D),
-
 
61
+     $             WORK(IB22E), WORK(IBBCSD), -1, INFO )
-
 
62
          LBBCSDWORKOPT = INT( WORK(1) )
-
 
63
          LBBCSDWORKMIN = LBBCSDWORKOPT
-
 
64
          LWORKOPT = MAX( IORGQR + LORGQRWORKOPT, IORGLQ + LORGLQWORKOPT,
-
 
65
diff -u /tmp/cmplx.f ./cmplx.f
14
diff -u keep/cmplx.f ./cmplx.f
66
--- /tmp/cmplx.f	2013-05-21 10:11:22.000000000 +0100
15
--- keep/cmplx.f	2013-11-25 09:09:10.000000000 +0000
67
+++ ./cmplx.f	2013-05-21 10:16:35.000000000 +0100
16
+++ ./cmplx.f	2013-11-25 09:11:47.000000000 +0000
68
@@ -6054,24 +6054,24 @@
17
@@ -6048,24 +6048,24 @@
69
 *
18
 *
70
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
19
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
71
 *           Compute space needed for ZGEQRF
20
 *           Compute space needed for ZGEQRF
72
-            CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
21
-            CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
73
-            LWORK_ZGEQRF=DUM(1)
22
-            LWORK_ZGEQRF=DUM(1)
74
+            CALL ZGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
23
+            CALL ZGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
75
+            LWORK_ZGEQRF=CDUM(1)
24
+            LWORK_ZGEQRF=CDUM(1)
76
 *           Compute space needed for ZUNGQR
25
 *           Compute space needed for ZUNGQR
77
-            CALL ZUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
26
-            CALL ZUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
78
-            LWORK_ZUNGQR_N=DUM(1)
27
-            LWORK_ZUNGQR_N=DUM(1)
79
-            CALL ZUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
28
-            CALL ZUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
80
-            LWORK_ZUNGQR_M=DUM(1)
29
-            LWORK_ZUNGQR_M=DUM(1)
81
+            CALL ZUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
30
+            CALL ZUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
82
+            LWORK_ZUNGQR_N=CDUM(1)
31
+            LWORK_ZUNGQR_N=CDUM(1)
83
+            CALL ZUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
32
+            CALL ZUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
84
+            LWORK_ZUNGQR_M=CDUM(1)
33
+            LWORK_ZUNGQR_M=CDUM(1)
85
 *           Compute space needed for ZGEBRD
34
 *           Compute space needed for ZGEBRD
86
-            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
35
-            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
87
-     $                   DUM(1), DUM(1), -1, IERR )
36
-     $                   DUM(1), DUM(1), -1, IERR )
88
-            LWORK_ZGEBRD=DUM(1)
37
-            LWORK_ZGEBRD=DUM(1)
89
+            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
38
+            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
90
+     $                   CDUM(1), CDUM(1), -1, IERR )
39
+     $                   CDUM(1), CDUM(1), -1, IERR )
91
+            LWORK_ZGEBRD=CDUM(1)
40
+            LWORK_ZGEBRD=CDUM(1)
92
 *           Compute space needed for ZUNGBR
41
 *           Compute space needed for ZUNGBR
93
-            CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
42
-            CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
94
-     $                   DUM(1), -1, IERR )
43
-     $                   DUM(1), -1, IERR )
95
-            LWORK_ZUNGBR_P=DUM(1)
44
-            LWORK_ZUNGBR_P=DUM(1)
96
-            CALL ZUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
45
-            CALL ZUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
97
-     $                   DUM(1), -1, IERR )
46
-     $                   DUM(1), -1, IERR )
98
-            LWORK_ZUNGBR_Q=DUM(1)
47
-            LWORK_ZUNGBR_Q=DUM(1)
99
+            CALL ZUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
48
+            CALL ZUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
100
+     $                   CDUM(1), -1, IERR )
49
+     $                   CDUM(1), -1, IERR )
101
+            LWORK_ZUNGBR_P=CDUM(1)
50
+            LWORK_ZUNGBR_P=CDUM(1)
102
+            CALL ZUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
51
+            CALL ZUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
103
+     $                   CDUM(1), -1, IERR )
52
+     $                   CDUM(1), -1, IERR )
104
+            LWORK_ZUNGBR_Q=CDUM(1)
53
+            LWORK_ZUNGBR_Q=CDUM(1)
105
 *
54
 *
106
             IF( M.GE.MNTHR ) THEN
55
             IF( M.GE.MNTHR ) THEN
107
                IF( WNTUN ) THEN
56
                IF( WNTUN ) THEN
108
@@ -6176,20 +6176,20 @@
57
@@ -6170,20 +6170,20 @@
109
 *
58
 *
110
 *              Path 10 (M at least N, but not much larger)
59
 *              Path 10 (M at least N, but not much larger)
111
 *
60
 *
112
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
61
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
113
-     $                   DUM(1), DUM(1), -1, IERR )
62
-     $                   DUM(1), DUM(1), -1, IERR )
114
-               LWORK_ZGEBRD=DUM(1)
63
-               LWORK_ZGEBRD=DUM(1)
115
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
64
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
116
+     $                   CDUM(1), CDUM(1), -1, IERR )
65
+     $                   CDUM(1), CDUM(1), -1, IERR )
117
+               LWORK_ZGEBRD=CDUM(1)
66
+               LWORK_ZGEBRD=CDUM(1)
118
                MAXWRK = 2*N + LWORK_ZGEBRD
67
                MAXWRK = 2*N + LWORK_ZGEBRD
119
                IF( WNTUS .OR. WNTUO ) THEN
68
                IF( WNTUS .OR. WNTUO ) THEN
120
-                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
69
-                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
121
-     $                   DUM(1), -1, IERR )
70
-     $                   DUM(1), -1, IERR )
122
-                  LWORK_ZUNGBR_Q=DUM(1)
71
-                  LWORK_ZUNGBR_Q=DUM(1)
123
+                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
72
+                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
124
+     $                   CDUM(1), -1, IERR )
73
+     $                   CDUM(1), -1, IERR )
125
+                  LWORK_ZUNGBR_Q=CDUM(1)
74
+                  LWORK_ZUNGBR_Q=CDUM(1)
126
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
75
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
127
                END IF
76
                END IF
128
                IF( WNTUA ) THEN
77
                IF( WNTUA ) THEN
129
-                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
78
-                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
130
-     $                   DUM(1), -1, IERR )
79
-     $                   DUM(1), -1, IERR )
131
-                  LWORK_ZUNGBR_Q=DUM(1)
80
-                  LWORK_ZUNGBR_Q=DUM(1)
132
+                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
81
+                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
133
+     $                   CDUM(1), -1, IERR )
82
+     $                   CDUM(1), -1, IERR )
134
+                  LWORK_ZUNGBR_Q=CDUM(1)
83
+                  LWORK_ZUNGBR_Q=CDUM(1)
135
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
84
                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
136
                END IF
85
                END IF
137
                IF( .NOT.WNTVN ) THEN
86
                IF( .NOT.WNTVN ) THEN
138
@@ -6203,25 +6203,26 @@
87
@@ -6197,25 +6197,26 @@
139
 *
88
 *
140
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
89
             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
141
 *           Compute space needed for ZGELQF
90
 *           Compute space needed for ZGELQF
142
-            CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
91
-            CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
143
-            LWORK_ZGELQF=DUM(1)
92
-            LWORK_ZGELQF=DUM(1)
144
+            CALL ZGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
93
+            CALL ZGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
145
+            LWORK_ZGELQF=CDUM(1)
94
+            LWORK_ZGELQF=CDUM(1)
146
 *           Compute space needed for ZUNGLQ
95
 *           Compute space needed for ZUNGLQ
147
-            CALL ZUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
96
-            CALL ZUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
148
-            LWORK_ZUNGLQ_N=DUM(1)
97
-            LWORK_ZUNGLQ_N=DUM(1)
149
-            CALL ZUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
98
-            CALL ZUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
150
-            LWORK_ZUNGLQ_M=DUM(1)
99
-            LWORK_ZUNGLQ_M=DUM(1)
151
+            CALL ZUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
100
+            CALL ZUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
152
+     $                  IERR )
101
+     $                  IERR )
153
+            LWORK_ZUNGLQ_N=CDUM(1)
102
+            LWORK_ZUNGLQ_N=CDUM(1)
154
+            CALL ZUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
103
+            CALL ZUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
155
+            LWORK_ZUNGLQ_M=CDUM(1)
104
+            LWORK_ZUNGLQ_M=CDUM(1)
156
 *           Compute space needed for ZGEBRD
105
 *           Compute space needed for ZGEBRD
157
-            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
106
-            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
158
-     $                   DUM(1), DUM(1), -1, IERR )
107
-     $                   DUM(1), DUM(1), -1, IERR )
159
-            LWORK_ZGEBRD=DUM(1)
108
-            LWORK_ZGEBRD=DUM(1)
160
+            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
109
+            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
161
+     $                   CDUM(1), CDUM(1), -1, IERR )
110
+     $                   CDUM(1), CDUM(1), -1, IERR )
162
+            LWORK_ZGEBRD=CDUM(1)
111
+            LWORK_ZGEBRD=CDUM(1)
163
 *            Compute space needed for ZUNGBR P
112
 *            Compute space needed for ZUNGBR P
164
-            CALL ZUNGBR( 'P', M, M, M, A, N, DUM(1),
113
-            CALL ZUNGBR( 'P', M, M, M, A, N, DUM(1),
165
-     $                   DUM(1), -1, IERR )
114
-     $                   DUM(1), -1, IERR )
166
-            LWORK_ZUNGBR_P=DUM(1)
115
-            LWORK_ZUNGBR_P=DUM(1)
167
+            CALL ZUNGBR( 'P', M, M, M, A, N, CDUM(1),
116
+            CALL ZUNGBR( 'P', M, M, M, A, N, CDUM(1),
168
+     $                   CDUM(1), -1, IERR )
117
+     $                   CDUM(1), -1, IERR )
169
+            LWORK_ZUNGBR_P=CDUM(1)
118
+            LWORK_ZUNGBR_P=CDUM(1)
170
 *           Compute space needed for ZUNGBR Q
119
 *           Compute space needed for ZUNGBR Q
171
-            CALL ZUNGBR( 'Q', M, M, M, A, N, DUM(1),
120
-            CALL ZUNGBR( 'Q', M, M, M, A, N, DUM(1),
172
-     $                   DUM(1), -1, IERR )
121
-     $                   DUM(1), -1, IERR )
173
-            LWORK_ZUNGBR_Q=DUM(1)
122
-            LWORK_ZUNGBR_Q=DUM(1)
174
+            CALL ZUNGBR( 'Q', M, M, M, A, N, CDUM(1),
123
+            CALL ZUNGBR( 'Q', M, M, M, A, N, CDUM(1),
175
+     $                   CDUM(1), -1, IERR )
124
+     $                   CDUM(1), -1, IERR )
176
+            LWORK_ZUNGBR_Q=CDUM(1)
125
+            LWORK_ZUNGBR_Q=CDUM(1)
177
             IF( N.GE.MNTHR ) THEN
126
             IF( N.GE.MNTHR ) THEN
178
                IF( WNTVN ) THEN
127
                IF( WNTVN ) THEN
179
 *
128
 *
180
@@ -6325,21 +6326,21 @@
129
@@ -6319,21 +6320,21 @@
181
 *
130
 *
182
 *              Path 10t(N greater than M, but not much larger)
131
 *              Path 10t(N greater than M, but not much larger)
183
 *
132
 *
184
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
133
-               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
185
-     $                   DUM(1), DUM(1), -1, IERR )
134
-     $                   DUM(1), DUM(1), -1, IERR )
186
-               LWORK_ZGEBRD=DUM(1)
135
-               LWORK_ZGEBRD=DUM(1)
187
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
136
+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
188
+     $                   CDUM(1), CDUM(1), -1, IERR )
137
+     $                   CDUM(1), CDUM(1), -1, IERR )
189
+               LWORK_ZGEBRD=CDUM(1)
138
+               LWORK_ZGEBRD=CDUM(1)
190
                MAXWRK = 2*M + LWORK_ZGEBRD
139
                MAXWRK = 2*M + LWORK_ZGEBRD
191
                IF( WNTVS .OR. WNTVO ) THEN
140
                IF( WNTVS .OR. WNTVO ) THEN
192
 *                Compute space needed for ZUNGBR P
141
 *                Compute space needed for ZUNGBR P
193
-                 CALL ZUNGBR( 'P', M, N, M, A, N, DUM(1),
142
-                 CALL ZUNGBR( 'P', M, N, M, A, N, DUM(1),
194
-     $                   DUM(1), -1, IERR )
143
-     $                   DUM(1), -1, IERR )
195
-                 LWORK_ZUNGBR_P=DUM(1)
144
-                 LWORK_ZUNGBR_P=DUM(1)
196
+                 CALL ZUNGBR( 'P', M, N, M, A, N, CDUM(1),
145
+                 CALL ZUNGBR( 'P', M, N, M, A, N, CDUM(1),
197
+     $                   CDUM(1), -1, IERR )
146
+     $                   CDUM(1), -1, IERR )
198
+                 LWORK_ZUNGBR_P=CDUM(1)
147
+                 LWORK_ZUNGBR_P=CDUM(1)
199
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
148
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
200
                END IF
149
                END IF
201
                IF( WNTVA ) THEN
150
                IF( WNTVA ) THEN
202
-                 CALL ZUNGBR( 'P', N,  N, M, A, N, DUM(1),
151
-                 CALL ZUNGBR( 'P', N,  N, M, A, N, DUM(1),
203
-     $                   DUM(1), -1, IERR )
152
-     $                   DUM(1), -1, IERR )
204
-                 LWORK_ZUNGBR_P=DUM(1)
153
-                 LWORK_ZUNGBR_P=DUM(1)
205
+                 CALL ZUNGBR( 'P', N,  N, M, A, N, CDUM(1),
154
+                 CALL ZUNGBR( 'P', N,  N, M, A, N, CDUM(1),
206
+     $                   CDUM(1), -1, IERR )
155
+     $                   CDUM(1), -1, IERR )
207
+                 LWORK_ZUNGBR_P=CDUM(1)
156
+                 LWORK_ZUNGBR_P=CDUM(1)
208
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
157
                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
209
                END IF
158
                END IF
210
                IF( .NOT.WNTUN ) THEN
159
                IF( .NOT.WNTUN ) THEN