Tag: FORTRAN
Estoy trasladando LAPACK a Jai y me encontré con el siguiente código extraño: En LAPACK/cblat1/check2, línea 569 CALL ctest(leny,cy,ct8(1,kn,ki),csize2(1,ksize),sfac) El código llama a ctest con una matriz cy(7), pero el siguiente argumento ct8(1,kn,ki) es solo un número. Sin embargo, ctest requiere matrices del mismo tamaño: SUBROUTINE ctest(LEN,CCOMP,CTRUE,CSIZE,SFAC) * **************************** CTEST . . . Read more
subroutine iswap (file,b) implicit none integer b,m character(len=*) file m=1 do while (file(m:).ne.’ ‘) m=m+1 enddo m=m-1 open(1, File = file(1:m),form=’formatted’) write (1,*) b close(1) end subroutine iswap1 (file,b1,c1) implicit none integer m,b1,c1 character(len=6) file m=1 do while (file(m:).ne.’ ‘) m=m+1 enddo m=m-1 call iswap(file(1:m)//’.jk’,b1) call iswap(file(1:m)//’.bk’,c1) end program callex . . . Read more
Mi pregunta es por qué se permite lo siguiente: integer, intent(in) :: x(:) integer :: dx(size(x)) mientras que esto no está permitido: integer, intent(in) :: x(:) integer :: max_size = size(x) (sin mencionar la definición de max_size como un parámetro). Entiendo que un valor desconocido para el compilador (es decir, . . . Read more
subrutina iswap (archivo, b) entero b abrir(1,archivo = 'archivo',estado='desconocido',forma='no formateado&##39;) escribir (1) b cerrar(1) fin subrutina programa callex abrir(22, archivo = 'data1.dat') llamar iswap(archivo,2) cerrar(22) parar fin programa Resultado: archivo data1.dat vacío Soy completamente nuevo en Fortran. Estoy intentando escribir el código que produce un archivo de salida “data1.dat” que . . . Read more
Estoy intentando aprender Fortran y he encontrado que no hay muchos tutoriales disponibles (probablemente debido a que es un lenguaje antiguo). Los que he encontrado son vagos y poco descriptivos, y a medida que he avanzado en cosas más complejas, se ha vuelto más difícil adivinar lo que dicen esos . . . Read more