flatironinstitute / FMM3D

Flatiron Institute Fast Multipole Libraries --- This codebase is a set of libraries to compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a multi-core shared-memory machine.
https://fmm3d.readthedocs.io
Other
91 stars 36 forks source link

add code generation example in devel/code-generation #22

Closed magland closed 3 years ago

magland commented 3 years ago

@mrachh Here's an initial example of code generation using jinja. Not intended for merging at this point, but it shows how this can work. You create a .yaml file with the info for all the laplace wrappers and a .j2 file that has the template in jinja syntax. It's spelled out in the devel/code-generation/instructions.md. I only put in 6 wrappers for now, and I only wrote the template for the top part of the file so far.