Camfort es una herramienta de refactorización y verificación para programas científicos de Fortran. Actualmente es compatible con Fortran 66, 77, 90, 95 y 2003 (algo) con varias extensiones heredadas.
Es un proyecto de investigación desarrollado en la Universidad de Cambridge y la Universidad de Kent.
Método de instalación recomendado por sistema operativo:
camfort-bundle-windowsbrew install camfort/camfort/camfortProporcionamos binarios previos a la construcción de Windows, Mac y Linux. Para Windows, también proporcionamos archivos que agrupan el ejecutable de Camfort junto con todas sus dependencias.
Camfort también está disponible a través de Homebrew (fórmula):
brew install camfort/camfort/camfort
Una versión mayor (~ 2019) de Camfort está disponible en Docker en Camfort/Camfort.
Una nueva imagen de Docker para desarrolladores (Still Work-in-Progress) está disponible en ghcr.io/camfort/camfort:dev . La invocación sugerida es:
podman run --volume $(pwd):/host --workdir /host ghcr.io/camfort/camfort:dev <CamFort arguments> Camfort es una herramienta de línea de comandos, así que invóquela desde su shell o símbolo favorito del sistema. La información de uso detallada está disponible en el wiki.
(Si desea una compilación reciente y no desea sentarse a través del proceso de compilación, es posible que desee verificar la pestaña Acciones y descargar la compilación relevante para su sistema desde una ejecución de flujo de trabajo reciente).
Esta sección solo cubre el edificio brevemente. Ver Wiki: Edificio para obtener todos los detalles.
Camfort admite GHC 8.4 a GHC 8.10 , y se construye con pila y camarera. Regularmente probamos al menos los GHC mínimos y máximos compatibles. Lanzamientos anteriores/más nuevos de lo que pueden tener problemas. (¡Damos la bienvenida a las correcciones que nos permitirían apoyar una gama más amplia de compiladores!)
Es probable que necesite al menos 3 gibs de memoria y cierta paciencia para construir Camfort.
Camfort depende de las siguientes bibliotecas extranjeras:
Estos deben construirse para su sistema, pero el método de instalación varía. Las guías específicas del sistema se proporcionan en la wiki. (Alternativamente, puede verificar los flujos de trabajo de las acciones de GitHub). En Ubuntu:
apt install libflint-dev liblapack-dev libopenblas-dev z3
Luego stack build de pila o cabal build para la camarilla.
Para habilitar Bash Autocompletion para Camfort, agregue lo siguiente a su archivo .bashrc o .bash_profile :
eval "$(camfort --bash-completion-script=$(which camfort))"
Agradecemos cualquier error que encuentre y le solicitamos amablemente que lo envíe como un problema.
Las solicitudes de extracción son muy apreciadas, pero contáctenos primero si es un cambio sustancial. Asegúrese de ejecutar la suite de prueba antes de enviar.
Si tiene un código científico que le gustaría que analicemos, nos complacerá agregarlo al Camfort Corpus. Esto nos ayuda a encontrar formas útiles de extender Camfort, así como a garantizar que sea robusto.
Ver doc/maintainers.md .