La portabilità del codice numerico è stato per molto tempo un argomento di difficile trattazione, ciò era dovuto principalmente alle differenze nelle dimensioni con cui veniva immagazzinata una parola nei computer su cui viene eseguito il codice. Il Fortran 90 introduce i tipi di dati parametrizzati, allo scopo di aumentare la portabilità del software da macchina a macchina.
Questo viene fatto utilizzando i valori di kind, le costanti associate a un tipo intrinseco, come numero intero o reale. La parametrizzazione dei valori di tipo consente di modificare la precisione, cambiando una sola costante nel programma. Diverse funzioni intrinseche sono disponibili per selezionare i valori in base al tipo gamma e precisione desiderata e informarsi sulle caratteristiche di precisione di una variabile in modo portatile.
Nel segmento di programma che segue viene fornito un esempio di utilizzo dei tipi di dati parametrizzati nel fortran:
module Precision
! Define Q to be the kind number corresponding to at least 10
! decimal digits with a decimal exponent of at least 30.
integer, parameter :: Q = selected_real_kind( 10, 30 )
end module Precision
module Swapping
use Precision
contains
subroutine swap( x, y )
real( Q ), intent( inout ) :: x, y
real( Q ) tmp
tmp = x; x = y; y = tmp
end subroutine swap
end module Swapping
program Portable
use Precision
use Swapping
! Declare and initialize a and b using constants with kind value
! given by Q in the Precision module.
real( Q ) :: a = 1.0_Q, b = 2.0_Q
print *, a, b
call swap( a, b )
print *, a, b
end program Portable
Link correlati all’argomento
- Come scaricare gratuitamente il compilatore Fortran
- Gli articoli della guida Fortran