Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 23rd, 2012  |  syntax: None  |  size: 1.36 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Fortran: the largest and the smallest integer
  2. program intkind
  3. implicit none
  4.  
  5. integer :: n=1
  6. integer :: integer_range =1
  7.  
  8.  
  9. do while(integer_range /= -1)
  10.     print*, "kind_number ", selected_int_kind(n)
  11.     call rang(integer_range)
  12.     n = n *2
  13.     integer_range = selected_int_kind(n)
  14. end do
  15.  
  16. contains
  17. subroutine rang(largest)
  18.     integer largest
  19.     print*, huge(largest)
  20.  
  21. end subroutine
  22.  
  23. end
  24.        
  25. subroutine rang(largest)
  26.     integer :: largest
  27.     print *, huge(largest)
  28. end subroutine
  29.        
  30. program integerkinds
  31.     use iso_fortran_env
  32.     implicit none
  33.  
  34.     integer :: i
  35.     integer(kind=int8)  :: i8
  36.     integer(kind=int16) :: i16
  37.     integer(kind=int32) :: i32
  38.     integer(kind=int64) :: i64
  39.  
  40.     integer(kind=selected_int_kind(6)) :: j6
  41.     integer(kind=selected_int_kind(15)):: j15
  42.  
  43.     print *,'Default:'
  44.     print *, huge(i)
  45.     print *,'Int8:'
  46.     print *, huge(i8)
  47.     print *,'Int16:'
  48.     print *, huge(i16)
  49.     print *,'Int32:'
  50.     print *, huge(i32)
  51.     print *,'Int64:'
  52.     print *, huge(i64)
  53.  
  54.     print *,''
  55.  
  56.     print *,'Selected Integer Kind 6:'
  57.     print *, huge(j6)
  58.  
  59.     print *,'Selected Integer Kind 15:'
  60.     print *, huge(j15)
  61.  
  62. end program integerkinds
  63.        
  64. $ ./intkinds
  65.  Default:
  66.   2147483647
  67.  Int8:
  68.   127
  69.  Int16:
  70.   32767
  71.  Int32:
  72.   2147483647
  73.  Int64:
  74.   9223372036854775807
  75.  
  76.  Selected Integer Kind 6:
  77.   2147483647
  78.  Selected Integer Kind 15:
  79.   9223372036854775807