Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f83a793

Browse files
committed
linalg-pinv: gcc-15 test fix
1 parent 1f09e9e commit f83a793

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

‎test/linalg/test_linalg_pseudoinverse.fypp

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ module test_linalg_pseudoinverse
2121
allocate(tests(0))
2222

2323
#:for rk,rt,ri in REAL_KINDS_TYPES
24-
tests = [tests,new_unittest("${ri}$_eye_pseudoinverse",test_${ri}$_eye_pseudoinverse)]
24+
call add_test(tests,new_unittest("${ri}$_eye_pseudoinverse",test_${ri}$_eye_pseudoinverse))
2525
#:endfor
2626
#:for rk,rt,ri in RC_KINDS_TYPES
27-
tests = [tests,new_unittest("${ri}$_square_pseudoinverse",test_${ri}$_square_pseudoinverse), &
28-
new_unittest("${ri}$_tall_pseudoinverse",test_${ri}$_tall_pseudoinverse), &
29-
new_unittest("${ri}$_wide_pseudoinverse",test_${ri}$_wide_pseudoinverse), &
30-
new_unittest("${ri}$_singular_pseudoinverse",test_${ri}$_singular_pseudoinverse)]
27+
call add_test(tests,new_unittest("${ri}$_square_pseudoinverse",test_${ri}$_square_pseudoinverse))
28+
call add_test(tests,new_unittest("${ri}$_tall_pseudoinverse",test_${ri}$_tall_pseudoinverse))
29+
call add_test(tests,new_unittest("${ri}$_wide_pseudoinverse",test_${ri}$_wide_pseudoinverse))
30+
call add_test(tests,new_unittest("${ri}$_singular_pseudoinverse",test_${ri}$_singular_pseudoinverse))
3131
#:endfor
3232

3333
end subroutine test_pseudoinverse_matrix
@@ -218,6 +218,27 @@ module test_linalg_pseudoinverse
218218

219219
#:endfor
220220

221+
! gcc-15 bugfix utility
222+
pure subroutine add_test(tests,new_test)
223+
type(unittest_type), allocatable, intent(inout) :: tests(:)
224+
type(unittest_type), intent(in) :: new_test
225+
226+
integer :: n
227+
type(unittest_type), allocatable :: new_tests(:)
228+
229+
if (allocated(tests)) then
230+
n = size(tests)
231+
else
232+
n = 0
233+
end if
234+
235+
allocate(new_tests(n+1))
236+
if (n>0) new_tests(1:n) = tests(1:n)
237+
new_tests(1+n) = new_test
238+
call move_alloc(from=new_tests,to=tests)
239+
240+
end subroutine add_test
241+
221242
end module test_linalg_pseudoinverse
222243

223244
program test_inv

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /