mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-28 18:56:06 +00:00
23 lines
535 B
Fortran
23 lines
535 B
Fortran
! { dg-do run }
|
|
! Check the fix for PR28947, in which the mechanism for dealing
|
|
! with matmul (a, transpose (b)) would cause wrong results for
|
|
! a having a rank == 1.
|
|
!
|
|
! Contributed by Harald Anlauf <anlauf@gmx.de>
|
|
!
|
|
program gfcbug40
|
|
implicit none
|
|
|
|
real :: h(3,3), mat(2,3)
|
|
|
|
h(:,:) = - HUGE (1.0)/4 ! Preset unused elements suitably...
|
|
|
|
h(3,:) = 0
|
|
h(3,3) = 1
|
|
mat(:,:) = 1
|
|
h(3,:) = h(3,:) + matmul (matmul (h(3,:), transpose (mat)), mat)
|
|
|
|
if (any (h(3,:) .ne. (/2.0, 2.0, 3.0/))) STOP 1
|
|
|
|
end program gfcbug40
|