blob: bf2ca0e953d6b73f6ea0d75dc7fb606c40aac1dd [file] [log] [blame]
! { dg-do compile }
integer, parameter :: q = 2
integer, parameter :: nx=3, ny=2*q, nz=5
integer, parameter, dimension(nx,ny,nz) :: p = &
& reshape ((/ (i**2, i=1,size(p)) /), shape(p))
integer, parameter, dimension( ny,nz) :: px = &
& reshape ((/ (( &
& + nx*(nx-1)*(2*nx-1)/6, &
& j=0,ny-1), k=0,nz-1) /), shape(px))
integer, parameter, dimension(nx, nz) :: py = &
& reshape ((/ (( &
& +(nx )**2*ny*(ny-1)*(2*ny-1)/6, &
& i=0,nx-1), k=0,nz-1) /), shape(py))
integer, parameter, dimension(nx,ny ) :: pz = &
& reshape ((/ (( &
& +(nx*ny)**2*nz*(nz-1)*(2*nz-1)/6, &
& i=0,nx-1), j=0,ny-1) /), shape(pz))
integer, dimension(nx,ny,nz) :: a
integer, dimension(nx,ny ) :: az
if (sum(sum(sum(a,1),2),1) /= sum(a)) STOP 1
if (sum(sum(sum(a,3),1),1) /= sum(a)) STOP 2
if (any(1+sum(eid(a),1)+ax+sum( &
neid3(a), &
1)+1 /= 3*ax+2)) STOP 3
if (any(1+eid(sum(a,2))+ay+ &
neid2( &
sum(a,2) &
)+1 /= 3*ay+2)) STOP 4
if (any(sum(eid(sum(a,3))+az+2* &
neid2(az) &
,1)+1 /= 4*sum(az,1)+1)) STOP 5
contains
elemental function eid (x)
integer, intent(in) :: x
end function eid
function neid2 (x)
integer, intent(in) :: x(:,:)
integer :: neid2(size(x,1),size(x,2))
neid2 = x
end function neid2
function neid3 (x)
integer, intent(in) :: x(:,:,:)
integer :: neid3(size(x,1),size(x,2),size(x,3))
end function neid3
elemental subroutine set (o, i)
integer, intent(in) :: i
integer, intent(out) :: o
end subroutine set
elemental subroutine tes (i, o)
integer, intent(in) :: i
integer, intent(out) :: o
end subroutine tes
end