9 * Tools to facilitate working with `Channel`s |
9 * Tools to facilitate working with `Channel`s |
10 * Linked lists and writing them to log files. |
10 * Linked lists and writing them to log files. |
11 * Structs: iteration, field replacement |
11 * Structs: iteration, field replacement |
12 * Calculation of norms, dot products, projections |
12 * Calculation of norms, dot products, projections |
13 * Conditional thread execution macros |
13 * Conditional thread execution macros |
14 * Template for conveniently writing iterative algorithms using `do`-block anonymous functions as algorithm steps, with visualisation/verbosity implemented generally in iterator. |
14 * Template for conveniently writing iterative algorithms using `do`-block anonymous functions as algorithm steps, with visualisation/verbosity implemented generally in iterator. |
15 |
15 |
16 The code is used, for example, by <http://dx.doi.org/10.5281/zenodo.3659180>. |
16 The code is used, for example, by <http://dx.doi.org/10.5281/zenodo.3659180>. |
|
17 |
|
18 ## Installation |
|
19 |
|
20 To install this package, first clone the repository with [Mercurial](https://www.mercurial-scm.org/): |
|
21 |
|
22 ```console |
|
23 $ hg clone https://tuomov.iki.fi/repos/AlgTools/ |
|
24 ``` |
|
25 |
|
26 (Canonical public repository URL indicated here.) |
|
27 Then add the repository to Julia with `Pkg.develop`: |
|
28 |
|
29 ```console |
|
30 julia>] develop LOCATION_OF/AlgTools/ |
|
31 ``` |
|
32 |
|
33 Here replace `LOCATION_OF/AlgTools` with path where you cloned AlgTools. (If you did not change directory after cloning, simply use `AlgTools`.) |
|
34 Afterwards, you may use the package with: |
|
35 |
|
36 ```console |
|
37 julia> using AlgTools |
|
38 ``` |
|
39 |
|
40 This package is not and is not planned to be available via `Pkg.add` as it is based on the worst and must unusable version control system ever invented: Git. |
17 |
41 |
18 ## Iterative algorithms example |
42 ## Iterative algorithms example |
19 |
43 |
20 The package includes `simple_iterate` which helps separating the computational step of iterative algorithms for visualisation routines. It is merely intended to serve as a template, as different applications require different visualisation routines to be implemented in a replacement of `simple_iterate`. The computational step is implemented as a `do`-block anonymous function that gets passed another function is a parameter for doing the verbosity on request. Example: |
44 The package includes `simple_iterate` which helps separating the computational step of iterative algorithms for visualisation routines. It is merely intended to serve as a template, as different applications require different visualisation routines to be implemented in a replacement of `simple_iterate`. The computational step is implemented as a `do`-block anonymous function that gets passed another function is a parameter for doing the verbosity on request. Example: |
21 |
45 |