program first implicit none integer, parameter :: float = selected_real_kind(6,30) integer, parameter :: double = selected_real_kind(15,300) real (kind=float) :: x = 0.5_float real (kind=double) :: y = 0.5_double integer (kind=selected_int_kind(2)) :: shortshort = 127 integer (kind=selected_int_kind(2)) :: short255 = 255 integer (kind=selected_int_kind(4)) :: short = 32767 integer (kind=selected_int_kind(4)) :: short65535 = 65535 integer (kind=selected_int_kind(5)) :: i = 12345 integer (kind=selected_int_kind(9)) :: j = 123456789 ! won't take 10 integer :: k = (2**30-1)+2**30 ! won't take 2**31-1 print *, "first.f90" print *, "real information" print *, "kind(x)=", kind(x), " kind(y)=", kind(y) print *, "digits", digits(x), digits(y) print *, "epsilon", epsilon(x), epsilon(y) print *, "huge", huge(x), huge(y) print *, "maxexponent", maxexponent(x), maxexponent(y) print *, "minexponent", minexponent(x), minexponent(y) print *, "precision", precision(x), precision(y) print *, "radix", radix(x), radix(y) print *, "range", range(x), range(y) print *, "tiny", tiny(x), tiny(y) print *, "sin(0.5)", sin(x), sin(y) print *, "integer information" print *, "kind(shortshort)=", kind(shortshort), shortshort print *, "kind(short255)=", kind(short255), short255 print *, "kind(short)=", kind(short), short print *, "kind(short65535)=", kind(short65535), short65535 print *, "kind(i)=", kind(i), i print *, "kind(j)=", kind(j), j print *, "kind(k)=", kind(k), k end program first