# Automated Fortran--C++ Bindings for Large-Scale Scientific Applications

**Authors:** Seth R. Johnson, Andrey Prokopenko, Katherine J. Evans

arXiv: 1904.02546 · 2019-07-04

## TL;DR

This paper presents an automated tool that generates native Fortran 2003 interfaces for C and C++ libraries, simplifying integration in large-scale scientific applications with minimal performance overhead.

## Contribution

The introduced tool automatically creates Fortran bindings for C/C++ libraries, supporting complex C++ features like templates and exceptions, which was previously challenging.

## Key findings

- The tool successfully generates Fortran interfaces for complex C++ features.
- Timing measurements show minimal performance impact.
- Examples demonstrate broad utility and scope of the tool.

## Abstract

Although many active scientific codes use modern Fortran, most contemporary scientific software "libraries" are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing and maintaining substantial amounts of glue code.   This article introduces a tool that automatically generates native Fortran 2003 interfaces to C and C++ libraries. The tool supports C++ features that have no direct Fortran analog, such as templated functions and exceptions. A set of simple examples demonstrate the utility and scope of the tool, and timing measurements with a mock numerical library illustrate the minimal performance impact of the generated wrapper code.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1904.02546/full.md

## Figures

2 figures with captions in the complete paper: https://tomesphere.com/paper/1904.02546/full.md

## References

17 references — full list in the complete paper: https://tomesphere.com/paper/1904.02546/full.md

---
Source: https://tomesphere.com/paper/1904.02546