Currently Browsing

Posts Tagged ‘ fortran ’

Quadpack

El quadpack es un conjunto de rutinas en fortran 77 que permiten realizar integraciones numéricas definidas e indefinidas mediante algoritmos muy bien probados. El FAC (Flexible Atomic Code) de la Universidad de Stanford hace uso de estas rutinas, por ejemplo.

Fortran Logging System: log4tran

Ya está disponible la versión 1.0 de log4tran. Permite realizar las tareas básicas de un sistema de registro.

La página web en Sourceforge es http://sourceforge.net/projects/log4tran/. Log4tran se distribuye en código fuente, fácilmente compilable. Se ha probado en g95 únicamente, pero es Fortran 90/95 estándar, así­ que deberí­a compilarse con cualquier compilador.

Espero que sea útil a la comunidad de programadores de Fortran ;-) .

Doxygen Fortran

Para alegrí­a de propios y extraños ya se encuentra disponible el soporte de Fortran por parte de Doxygen, el popular software de documentación automática. La versión que soporta Fortran es la 1.5.4 y esta disponible ví­a svn o bajando el tarball adecuado. Supongo que en poco tiempo (si no está ya listo) se podrán descargar los binarios de las distribuciones más populares a través de los tí­picos interfaces.

Mencionar que no soporta correctamente los fuentes de Fortran 95, con lo que si queremos que nuestros .f95 sean procesados correctamente tendremos que bajarnos los fuentes y añadir dos lí­neas en el fichero fuente doxygen.cpp alrededor de la lí­nea 8860. Simplemente copiar las de los ficheros .f90 y sustituir el 0 por un 5. Recompilar y listo.

Para usarlo simplemente poner las etiquetas y descripciones para doxygen utilizando el comentario del modo siguiente!> Mi comentario. Por ejemplo:



!> Cuerpo principal del programa
!> @file krube.f95
!> @author David Suárez
!> @version 1.0
program Krube

  !> Almacenaje de datos
  double precision :: data(100)

  call processData(data)

  !> Procesamiento de datos
  !> @param d, vector de datos a tratar en doble precisión
  suroutine processData(d)

    double precision, intent(inout) :: d

    !! Procesamiento

  end subroutine processData

end program Krube


El resto del uso de doxygen es tal y como indica la documentación oficianl. Visiten Doxygen para más información.

La página del autor de la ampliación a Fortran es: http://dougdevel.org/index.php?page=doxygen.