array_constructor_12.f90

来自「用于进行gcc测试」· F90 代码 · 共 52 行

F90
52
字号
! Like array_constructor_6.f90, but check integer(8) iterators.! { dg-do run }program main  integer (kind = 8) :: i, l8, u8, step8  integer (kind = 4) :: l4, step4  integer (kind = 8), parameter :: big = 10000000000_8  l4 = huge (l4)  u8 = l4 + 10_8  step4 = 2  call test ((/ (i, i = l4, u8, step4) /), l4 + 0_8, u8, step4 + 0_8)  l8 = big  u8 = big * 20  step8 = big  call test ((/ (i, i = l8, u8, step8) /), l8, u8, step8)  u8 = big + 100  l8 = big  step4 = -20  call test ((/ (i, i = u8, l8, step4) /), u8, l8, step4 + 0_8)  u8 = big * 40  l8 = big * 20  step8 = -big * 2  call test ((/ (i, i = u8, l8, step8) /), u8, l8, step8)  u8 = big  l4 = big / 100  step4 = -big / 500  call test ((/ (i, i = u8, l4, step4) /), u8, l4 + 0_8, step4 + 0_8)  u8 = big * 40 + 200  l4 = 200  step8 = -big  call test ((/ (i, i = u8, l4, step8) /), u8, l4 + 0_8, step8)contains  subroutine test (a, l, u, step)    integer (kind = 8), dimension (:), intent (in) :: a    integer (kind = 8), intent (in) :: l, u, step    integer (kind = 8) :: i    integer :: j    j = 1    do i = l, u, step      if (a (j) .ne. i) call abort      j = j + 1    end do    if (size (a, 1) .ne. j - 1) call abort  end subroutine testend program main

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?