Компиляция с gfortran --version
== GNU Fortran (Homebrew GCC 8.2.0) 8.2.0
Когда я пишу следующий тестовый код, я получаю функции MOD
и MODULO
, дающие одинаковые результаты,Однако, как я понимаю из нескольких источников, MOD
должен давать остаток, а MODULO
должен давать целое отношение.
program test
implicit none
print *, mod(17,3)
print *, mod(17.5,5.5)
print *, mod(17.5d0,5.5)
print *, mod(17.5,5.5d0)
print *, modulo(17,3)
print *, modulo(17.5,5.5)
print *, modulo(17.5d0,5.5)
print *, modulo(17.5,5.5d0)
end program test
Распечатывает:
2
1.00000000
1.0000000000000000
1.0000000000000000
2
1.00000000
1.0000000000000000
1.0000000000000000
Результатами являются все остатки, что и должно делать MOD
, но для MODULO
не предполагаетсяраспечатать модуль, в данном случае 5
, а затем три 3
с переменной точностью?