10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-06-17 18:55:19 +02:00
QCaml/simulation/README.org

92 lines
1.6 KiB
Org Mode

#+TITLE: Simulation
#+SETUPFILE: ../docs/theme.setup
* Summary
#+name: synopsis
#+begin_src ocaml :exports none :results value
"Data describing a simulation (AOs, operators, nuclear coordinate,...)"
#+end_src
#+RESULTS: synopsis
: Data describing a simulation (AOs, operators, nuclear coordinate,...)
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
name = name.split('/')[-2]
synopsis = """
<<synopsis>>
"""
with open(dune,'w') as f:
f.write(f"""
(library
(name {name})
(public_name qcaml.{name})
(synopsis {synopsis} )
<<dependencies>>
<<noimplementation>>
<<c-files>>
)
<<lex-yacc>>
""")
with open(dunetest,'w') as f:
f.write(f"""
(library
(name test_{name})
(synopsis "Test for {name} library")
(libraries
alcotest
qcaml.{name}
)
)
""")
#+end_src
** Dependencies
#+name: dependencies
#+begin_src elisp
(libraries
qcaml.common
qcaml.particles
qcaml.gaussian
qcaml.gaussian_integrals
qcaml.operators
qcaml.ao
)
(instrumentation (backend landmarks))
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
** Extra C files
#+begin_src elisp
#+end_src
** Parser files
#+name: lex-yacc
#+begin_src elisp
#+end_src