⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 do_1.f90

📁 linux下编程用 编译软件
💻 F90
字号:
! { dg-do run }! Program to check corner cases for DO statements.program do_1  implicit none  integer i, j  ! limit=HUGE(i), step 1  j = 0  do i = HUGE(i) - 10, HUGE(i), 1    j = j + 1  end do  if (j .ne. 11) call abort  ! limit=HUGE(i), step > 1  j = 0  do i = HUGE(i) - 10, HUGE(i), 2    j = j + 1  end do  if (j .ne. 6) call abort  j = 0  do i = HUGE(i) - 9, HUGE(i), 2    j = j + 1  end do  if (j .ne. 5) call abort  ! Same again, but unknown loop step  if (test1(10, 1) .ne. 11) call abort  if (test1(10, 2) .ne. 6) call abort  if (test1(9, 2) .ne. 5) call abort  ! Zero iterations  j = 0  do i = 1, 0, 1    j = j + 1  end do  if (j .ne. 0) call abort  j = 0  do i = 1, 0, 2    j = j + 1  end do  if (j .ne. 0) call abort  j = 0  do i = 1, 2, -1    j = j + 1  end do  if (j .ne. 0) call abort  call test2 (0, 1)  call test2 (0, 2)  call test2 (2, -1)  call test2 (2, -2)  ! Bound near smallest value  j = 0;  do i = -HUGE(i), -HUGE(i), 10    j = j + 1  end do  if (j .ne. 1) call abortcontains! Returns the number of iterations performed.function test1(r, step)  implicit none  integer test1, r, step  integer k, n  k = 0  do n = HUGE(n) - r, HUGE(n), step    k = k + 1  end do  test1 = kend functionsubroutine test2 (lim, step)  implicit none  integer lim, step  integer k, n  k = 0  do n = 1, lim, step    k = k + 1  end do  if (k .ne. 0) call abortend subroutineend program

⌨️ 快捷键说明

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