10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-08-16 01:38:30 +02:00
QCaml/common/qcaml.org

56 lines
1.3 KiB
Org Mode
Raw Normal View History

2020-12-28 01:08:55 +01:00
#+begin_src elisp tangle: no :results none :exports none
(setq pwd (file-name-directory buffer-file-name))
(setq name (file-name-nondirectory (substring buffer-file-name 0 -4)))
(setq lib (concat pwd "lib/"))
(setq testdir (concat pwd "test/"))
(setq mli (concat lib name ".mli"))
(setq ml (concat lib name ".ml"))
(setq test-ml (concat testdir name ".ml"))
(org-babel-tangle)
#+end_src
* QCaml
:PROPERTIES:
:header-args: :noweb yes :comments both
:END:
QCaml-specific parameters
#+begin_src ocaml :tangle (eval mli)
val root : string
val name : string
2023-06-16 18:27:23 +02:00
val num_domains : int
2020-12-28 01:08:55 +01:00
#+end_src
2023-06-16 18:27:23 +02:00
| ~root~ | Path to the QCaml source directory |
| ~name~ | ~"QCaml"~ |
| ~num_domains~ | Number of threads in parallel computations |
2020-12-28 01:08:55 +01:00
#+begin_src ocaml :tangle (eval ml) :exports none
let name = "QCaml"
let root =
let rec chop = function
| [] -> []
| x :: _ as l when x = name -> l
| _ :: rest -> chop rest
in
String.split_on_char Filename.dir_sep.[0] (Sys.getcwd ())
|> List.rev
|> chop
|> List.rev
|> String.concat Filename.dir_sep
2023-06-16 18:27:23 +02:00
let num_domains =
let result =
try
Unix.getenv "OMP_NUM_THREADS"
|> int_of_string
with Not_found -> 1
in
result - 1
2020-12-28 01:08:55 +01:00
#+end_src