aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: 0bd41e6005bff8f11d15b7f04658e35ef5883954 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#+TITLE: n-sphere Monte Carlo Method

* Build

Build dependencies are
- cmake and make (for the build system)
- [[https://github.com/sph-mn/sph-sc][sph-sc]] (to generate C sources from SC sources)
- [[https://www.gnu.org/software/indent/][indent]] (optional; to indent the generated sources)
- [[https://www.gnu.org/software/gsl/][GNU Scientific Library]] (for vector and scientific functions)
- [[https://gnu.org/software/guile][GNU Guile]] (for the scheme wrappers)

The easiest way to install these dependencies is to use a [[https://guix.gnu.org/][guix]]
environment.

#+BEGIN_SRC shell
  $ guix environment -l guix.scm
#+END_SRC

To build, run the following commands.

#+BEGIN_SRC shell
  $ cmake -B build
  $ make -C build
#+END_SRC

* Usage

See examples in the /examples/ directory. You can build and run them,
for example, using the following commands. /pre-inst-env/ is a shell
wrapper that sets the necessary environment variables so that headers
and dynamic libraries are found correctly.

#+BEGIN_SRC shell
  $ ./build/pre-inst-env gcc -lgsl -lgslcblas -lnsmc examples/generate-cone-vector.c -o generate-cone-vector
  $ ./build/pre-inst-env ./generate-cone-vector
#+END_SRC

* License

The source code is free software released under the terms of the [[https://www.gnu.org/licenses/gpl.html][GNU
General Public License]], either version 3 of the License, or (at your
option) any later version.