Skip to content

A compiler-portable, unit-testing and string-handling framework for modern Fortran, including accelerated coarray Fortran software

License

Notifications You must be signed in to change notification settings

BerkeleyLab/julienne

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Julienne

Spun off from Sourcery and inspired by Veggies, Julienne is a modern-Fortran unit-testing framework and utility for manipulating strings, including command lines and input/output format strings. This repository's name derives from the term for vegetables sliced into thin strings: julienned vegetables. This software repository captures the authors' most frequently used thin slice of the Veggies and Sourcery repositories while avoiding certain compiler limitations of the other two repositories. Julienne achieves portability across compilers through minimalism and isolation. Thus Julienne has no external dependencies and offers limited but widely useful capabilities. The string-handling and command-line parsing capabilities are included primarily because they support Julienne's unit-testing code.

Examples

For examples of how to use Julienne, please see the examples subdirectory.

Building and Testing

GNU (gfortran) 13 or higher required

fpm test

NAG (nagfor)

fpm test --compiler nagfor --flag -fpp

LLVM Flang

export FPM_FC=flang-new
export FPM_FFLAGS="-mmlir -allow-assumed-rank"
fpm test # Warning: Do not override the FPM_FC or FPM_FFLAGS variables with --compiler or --flag

where the flags turn on LLVM Flang's experimental support for Fortran assumed-rank dummy arguments. Flang's capabilities are evolving rapidly so we recommend building a recent version of the main branch of llvm-project. A script that might be helpful for doing so is in the handy-dandy repository.

Documentation

See our online documentation or build the documentation locally by installing FORD and executing

ford ford.md

About

A compiler-portable, unit-testing and string-handling framework for modern Fortran, including accelerated coarray Fortran software

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Fortran 100.0%