large_integer_kind_1.f90

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

F90
41
字号
! { dg-do run }! { dg-require-effective-target fortran_large_int }module testmod  integer,parameter :: k = selected_int_kind (range (0_8) + 1)contains  subroutine testoutput (a,b,length,f)    integer(kind=k),intent(in) :: a    integer(kind=8),intent(in) ::  b    integer,intent(in) :: length    character(len=*),intent(in) :: f    character(len=length) :: ca    character(len=length) :: cb    write (ca,f) a    write (cb,f) b    if (ca /= cb) call abort  end subroutine testoutputend module testmod! Testing I/O of large integer kinds (larger than kind=8)program test  use testmod  implicit none  integer(kind=k) :: x  character(len=50) :: c1, c2  call testoutput (0_k,0_8,50,'(I50)')  call testoutput (1_k,1_8,50,'(I50)')  call testoutput (-1_k,-1_8,50,'(I50)')  x = huge(0_8)  call testoutput (x,huge(0_8),50,'(I50)')  x = -huge(0_8)  call testoutput (x,-huge(0_8),50,'(I50)')end program test! { dg-final { cleanup-modules "testmod" } }

⌨️ 快捷键说明

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