Anaconda переустанавливает все пакеты, такие как (numpy, pandas, pycuda и т. Д.), Даже если я установил их ранее отдельно с python в Ubuntu 18.04?

У Fortran нет шаблонов, но вы можете поместить код, общий для функций, обрабатывающих разные типы во включенном файле, как kludge для имитации шаблонов, как показано в этом коде:

! file "cumul.inc"
! function cumul(xx) result(yy)
! return in yy(:) the cumulative sum of xx(:)
! type, intent(in) :: xx(:)
! type             :: yy(size(xx))
integer :: i,n
yy = 0
n  = size(xx)
if (n < 1) return
yy(1) = xx(1)
do i=2,n
   yy(i) = yy(i-1) + xx(i)
end do
return
! end function cumul
! end file "cumul.inc"

module foo
implicit none
integer, parameter :: sp = kind(1.0), dp = kind(1.0d0)
interface cumul
   module procedure cumul_double,cumul_real,cumul_int
end interface cumul
contains
!
function cumul_double(xx) result(yy)
real(kind=dp), intent(in) :: xx(:)
real(kind=dp)             :: yy(size(xx))
include "cumul.inc"
end function cumul_double
!
function cumul_real(xx) result(yy)
real(kind=sp), intent(in) :: xx(:)
real(kind=sp)             :: yy(size(xx))
include "cumul.inc"
end function cumul_real
!
function cumul_int(xx) result(yy)
integer, intent(in) :: xx(:)
integer             :: yy(size(xx))
include "cumul.inc"
end function cumul_int
end module foo

program xcumul
use foo, only: cumul
print*,cumul([10,20,30])
print*,cumul(sin([10.0,20.0,30.0]))
print*,cumul(sin([10.0d0,20.0d0,30.0d0]))
end program xcumul
! output:
! 10 30 60
! -0.5440211 0.36892414 -0.6191075
! -0.5440211108893698 0.3689241398382579 -0.6191074842546039

инструмент, упомянутый в статье

Car, David и Michael List (2010). PyF95 ++: возможность создания шаблонов для языка Fortran 95/2003. ACM Fortran Forum 29 (1), 2-20.

может вас заинтересовать. Я не пробовал.

0
задан Savarkar 16 January 2019 в 16:47
поделиться

1 ответ

Нет, анаконда использует совершенно разные среды, и независимо от того, что она понижает, она делает это в своих собственных средах. Поэтому, если вы используете среды anaconda в своих приложениях, вам не нужно ничего переустанавливать, но если вы используете другую среду (например, только pip), вам необходимо убедиться, что вы также установили все необходимые пакеты. Кроме того, если пакет установлен с использованием pip и не установлен в conda, он автоматически переключится на pip, поэтому проблем там нет.

0
ответ дан A.S 16 January 2019 в 16:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: