R: Преимущества использования подпрограммы Fortran с оболочкой .Call и C / C ++ вместо .Fortran?
У меня есть пакет R, который использует множество подпрограмм на Фортране для вложенных циклов вычислений рекурсивной линейной алгебры (в значительной степени зависящих от процедур BLAS и LAPACK). В качестве интерфейса к Фортрану я использую.Fortran
функция. Я просто читалДжонатан Каллахансообщение в блоге об использовании.Call
вместо.C
в случае подпрограмм, написанных на C / C ++, и это заставило меня задуматься о том, что будет лучше использовать.Call
интерфейс также при использовании подпрограмм Fortran, написав простую оболочку на C, которая затем вызывает подпрограммы Fortran?
Как уже говорилось, мои коды на Фортране довольно просты в том смысле, что я просто играю с многомерными массивами типа double или integer. Но я узнал, что я должен написать довольно много проверок на стороне R, чтобы гарантировать, что все неt сбой из-за того, что я случайно забыл изменить режим хранения какой-либо матрицы на целочисленный или изменились размеры какой-либо матрицы и т. д.
Подпрограммы написаны как F90 / 95.