blob: fc648aa6f529df7c8282e68d2dcbc2f0186f43f3 [file] [log] [blame]
! { dg-do run }
! { dg-options "-funsigned" }
program memain
implicit none
call test1
call test2
contains
subroutine test1
unsigned, dimension(2,2) :: v
integer(8), dimension(2,2) :: i
v = reshape([4278255360u, 4042322160u, 3435973836u, 2863311530u],[2,2])
i = int(v,8)
if (iall(v) /= 2147516416u) error stop 1
if (iany(v) /= 4294901758u) error stop 2
if (iparity(v) /= 1771465110u) error stop 3
if (any(iall(v,dim=1) /= [4026593280u, 2290649224u])) error stop 4
if (any(iall(v,dim=2) /= [3422604288u, 2694881440u])) error stop 5
if (any(iany(v,dim=1) /= [4293984240u, 4008636142u])) error stop 6
if (any(iany(v,dim=2) /= [4291624908u, 4210752250u])) error stop 7
if (any(iparity(v,dim=1) /= [267390960u, 1717986918u])) error stop 8
if (any(iparity(v,dim=2) /= [869020620u, 1515870810u])) error stop 9
end subroutine test1
subroutine test2
unsigned, dimension(2,2), parameter :: v &
= reshape([4278255360u, 4042322160u, 3435973836u, 2863311530u],[2,2])
unsigned, parameter :: v_all = iall(v), v_any = iany(v), v_parity = iparity(v)
unsigned, parameter, dimension(2) :: v_all_1 = iall(v,dim=1), v_all_2 = iall(v,dim=2)
unsigned, parameter, dimension(2) :: v_any_1 = iany(v,dim=1), v_any_2 = iany(v,dim=2)
unsigned, parameter, dimension(2) :: v_parity_1 = iparity(v,dim=1), v_parity_2 = iparity(v,dim=2)
if (v_all /= 2147516416u) error stop 10
if (v_any /= 4294901758u) error stop 11
if (v_parity /= 1771465110u) error stop 12
if (any(v_all_1 /= [4026593280u, 2290649224u])) error stop 13
if (any(v_all_2 /= [3422604288u, 2694881440u])) error stop 14
if (any(v_any_1 /= [4293984240u, 4008636142u])) error stop 15
if (any(v_any_2 /= [4291624908u, 4210752250u])) error stop 16
if (any(v_parity_1 /= [267390960u, 1717986918u])) error stop 17
if (any(v_parity_2 /= [869020620u, 1515870810u])) error stop 18
end subroutine test2
end program memain