@@ -93,7 +93,7 @@ module test_linalg_svd
93
93
if (allocated(error)) return
94
94
call check(error, all(abs(s-s_sol)<=tol), test//': S')
95
95
if (allocated(error)) return
96
- call check(error, all(abs(u-u_sol)<=tol) .or. all( abs(u+ u_sol)<=tol), test//': U')
96
+ call check(error, all(abs(abs(u)- abs(u_sol) )<=tol), test//': U')
97
97
if (allocated(error)) return
98
98
99
99
!> [S, U]. Overwrite A matrix
@@ -104,7 +104,7 @@ module test_linalg_svd
104
104
if (allocated(error)) return
105
105
call check(error, all(abs(s-s_sol)<=tol), test//': S')
106
106
if (allocated(error)) return
107
- call check(error, all(abs(u-u_sol)<=tol) .or. all( abs(u+ u_sol)<=tol), test//': U')
107
+ call check(error, all(abs(abs(u)- abs(u_sol) )<=tol), test//': U')
108
108
if (allocated(error)) return
109
109
110
110
!> [S, U, V^T]
@@ -116,9 +116,9 @@ module test_linalg_svd
116
116
if (allocated(error)) return
117
117
call check(error, all(abs(s-s_sol)<=tol), test//': S')
118
118
if (allocated(error)) return
119
- call check(error, all(abs(u-u_sol)<=tol) .or. all( abs(u+ u_sol)<=tol), test//': U')
119
+ call check(error, all(abs(abs(u)- abs(u_sol) )<=tol), test//': U')
120
120
if (allocated(error)) return
121
- call check(error, all(abs(vt-vt_sol)<=tol) .or. all( abs(vt+ vt_sol)<=tol), test//': V^T')
121
+ call check(error, all(abs(abs(vt)- abs(vt_sol) )<=tol), test//': V^T')
122
122
if (allocated(error)) return
123
123
124
124
!> [S, V^T]. Do not overwrite A matrix
@@ -130,7 +130,7 @@ module test_linalg_svd
130
130
if (allocated(error)) return
131
131
call check(error, all(abs(s-s_sol)<=tol), test//': S')
132
132
if (allocated(error)) return
133
- call check(error, all(abs(vt-vt_sol)<=tol) .or. all( abs(vt+ vt_sol)<=tol), test//': V^T')
133
+ call check(error, all(abs(abs(vt)- abs(vt_sol) )<=tol), test//': V^T')
134
134
if (allocated(error)) return
135
135
136
136
!> [S, V^T]. Overwrite A matrix
@@ -141,7 +141,7 @@ module test_linalg_svd
141
141
if (allocated(error)) return
142
142
call check(error, all(abs(s-s_sol)<=tol), test//': S')
143
143
if (allocated(error)) return
144
- call check(error, all(abs(vt-vt_sol)<=tol) .or. all( abs(vt+ vt_sol)<=tol), test//': V^T')
144
+ call check(error, all(abs(abs(vt)- abs(vt_sol) )<=tol), test//': V^T')
145
145
if (allocated(error)) return
146
146
147
147
!> [U, S, V^T].
@@ -151,11 +151,11 @@ module test_linalg_svd
151
151
test = '[U, S, V^T]'
152
152
call check(error,state%ok(),test//': '//state%print())
153
153
if (allocated(error)) return
154
- call check(error, all(abs(u-u_sol)<=tol) .or. all( abs(u+ u_sol)<=tol), test//': U')
154
+ call check(error, all(abs(abs(u)- abs(u_sol) )<=tol), test//': U')
155
155
if (allocated(error)) return
156
156
call check(error, all(abs(s-s_sol)<=tol), test//': S')
157
157
if (allocated(error)) return
158
- call check(error, all(abs(vt-vt_sol)<=tol) .or. all( abs(vt+ vt_sol)<=tol), test//': V^T')
158
+ call check(error, all(abs(abs(vt)- abs(vt_sol) )<=tol), test//': V^T')
159
159
if (allocated(error)) return
160
160
161
161
!> [U, S, V^T]. Partial storage -> compare until k=2 columns of U rows of V^T
@@ -167,11 +167,11 @@ module test_linalg_svd
167
167
test = '[U, S, V^T], partial storage'
168
168
call check(error,state%ok(),test//': '//state%print())
169
169
if (allocated(error)) return
170
- call check(error, all(abs(u(:,:2)-u_sol(:,:2))<=tol) .or. all( abs(u(:,:2)+ u_sol(:,:2))<=tol), test//': U(:,:2)')
170
+ call check(error, all(abs(abs( u(:,:2))- abs(u_sol(:,:2) ))<=tol), test//': U(:,:2)')
171
171
if (allocated(error)) return
172
172
call check(error, all(abs(s-s_sol)<=tol), test//': S')
173
173
if (allocated(error)) return
174
- call check(error, all(abs(vt(:2,:)-vt_sol(:2,:))<=tol) .or. all( abs(vt(:2,:)+ vt_sol(:2,:))<=tol), test//': V^T(:2,:)')
174
+ call check(error, all(abs(abs( vt(:2,:))- abs(vt_sol(:2,:) ))<=tol), test//': V^T(:2,:)')
175
175
if (allocated(error)) return
176
176
177
177
end subroutine test_svd_${ri}$
0 commit comments