Cara lain untuk melakukan ini adalah pertama-tama secara eksplisit menentukan presisi yang Anda inginkan dalam variabel menggunakan intrinsik SELECTED_REAL_KIND dan kemudian gunakan ini untuk menentukan dan menginisialisasi variabel. Sesuatu seperti:
INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(15)
REAL(dp) :: x
x = 1.0_dp
Keuntungan yang bagus untuk melakukannya dengan cara ini adalah Anda dapat menyimpan definisi dp
dalam sebuah modul, kemudian USE
modul itu jika diperlukan. Sekarang jika Anda ingin mengubah ketepatan program Anda, Anda hanya perlu mengubah definisi dp
di satu tempat itu daripada mencari dan mengganti semua huruf D0
s di akhir inisialisasi variabel Anda. (Ini juga mengapa saya merekomendasikan untuk tidak menggunakan 1.0D-1
sintaks untuk mendefinisikan Y seperti yang disarankan. Ini berfungsi, tetapi membuatnya lebih sulit untuk menemukan dan mengubah semua instance di masa depan.)
Halaman ini di Fortran Wiki memberikan beberapa informasi tambahan yang bagus tentang SELECTED_REAL_KIND
.