2021-07-19 12:01:07 +02:00
|
|
|
#+TITLE: Sherman-Morrison-Woodbury
|
|
|
|
#+SETUPFILE: ../tools/theme.setup
|
|
|
|
#+INCLUDE: ../tools/lib.org
|
|
|
|
|
|
|
|
[TODO: FMJC] Please add some intro.
|
|
|
|
|
|
|
|
* Headers
|
|
|
|
#+begin_src elisp :noexport :results none
|
|
|
|
(org-babel-lob-ingest "../tools/lib.org")
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
#+begin_src c :comments link :tangle (eval c_test) :noweb yes
|
|
|
|
#include "qmckl.h"
|
|
|
|
#include "assert.h"
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
#include "config.h"
|
|
|
|
#endif
|
|
|
|
int main() {
|
|
|
|
qmckl_context context;
|
|
|
|
context = qmckl_context_create();
|
|
|
|
|
|
|
|
#+end_src
|
2021-07-19 14:00:10 +02:00
|
|
|
|
2021-07-19 12:01:07 +02:00
|
|
|
* Sherman Morrison
|
|
|
|
|
|
|
|
[TODO: FMJC] Add general doc for Naive SM.
|
|
|
|
|
|
|
|
** ~qmckl_sherman_morrison~
|
|
|
|
:PROPERTIES:
|
|
|
|
:Name: qmckl_sherman_morrison
|
|
|
|
:CRetType: qmckl_exit_code
|
|
|
|
:FRetType: qmckl_exit_code
|
|
|
|
:END:
|
|
|
|
|
|
|
|
[TODO: FMJC] Add some detailed description. Including formulae etc.
|
|
|
|
|
|
|
|
#+NAME: qmckl_sherman_morrison_args
|
2021-07-19 14:00:10 +02:00
|
|
|
| qmckl_context | context | in | Global state |
|
2021-07-19 12:01:07 +02:00
|
|
|
|
|
|
|
*** Requirements
|
|
|
|
|
|
|
|
[TODO: FMJC] Add description of the input variables. (see for e.g. qmckl_distance.org)
|
|
|
|
|
|
|
|
*** C header
|
2021-07-19 14:00:10 +02:00
|
|
|
|
|
|
|
#+CALL: generate_c_header(table=qmckl_distance_sq_args,rettyp=get_value("CRetType"),fname=get_value("Name"))
|
|
|
|
|
2021-07-19 12:01:07 +02:00
|
|
|
*** Source
|
|
|
|
*** Performance
|
|
|
|
|
2021-07-19 14:01:11 +02:00
|
|
|
** C interface
|
|
|
|
|
|
|
|
#+CALL: generate_c_interface(table=qmckl_distance_sq_args,rettyp=get_value("FRetType"),fname=get_value("Name"))
|
|
|
|
|
2021-07-19 14:01:34 +02:00
|
|
|
#+CALL: generate_f_interface(table=qmckl_distance_sq_args,rettyp=get_value("FRetType"),fname=get_value("Name"))
|
|
|
|
|
2021-07-19 12:01:07 +02:00
|
|
|
* End of files
|
|
|
|
|
|
|
|
#+begin_src c :comments link :tangle (eval c_test)
|
|
|
|
assert (qmckl_context_destroy(context) == QMCKL_SUCCESS);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
# -*- mode: org -*-
|
|
|
|
# vim: syntax=c
|