You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since `partdiff++` uses some C++20 (`std::format`, `std::numbers`) and C++23 (`std::print`, 3d-`operator[]`) features, you need a reasonably recent C++ compiler. I tested it with `g++14 14.2.0`.
13
10
14
-
See https://github.com/mblesel/rust_partdiff for a Rust implementation. 🙂
15
-
16
-
## Building and Testing
17
-
18
-
`partdiff++` uses C++20 features (at the moment just `std::numbers`).
19
-
Therefore, to build it, you need a compiler that supports C++20.
20
-
I tested it with `g++ 10.2.0`.
21
-
22
-
I am currently also relying on the [{fmt} library](https://github.com/fmtlib/fmt)
23
-
which implements the [C++20 std::format library](https://en.cppreference.com/w/cpp/utility/format)
24
-
which is sadly not supported by compilers at the time of writing.
25
-
Running `make` will automatically both clone and build `{fmt}` (there is no need
26
-
to manually update the git submodule), this will take a moment.
27
-
I will try to switch to `std::format` as soon as it becomes available.
28
-
29
-
You can build and test `partdiff++` by running `make`.
30
-
This will…
31
-
* build `partdiff`
32
-
* beautify `partdiff++`' source code with `clang-format`
33
-
* build `partdiff++` in [legacy mode](#legacy-mode)
34
-
* check whether the resulting matrix of `partdiff{,++}` in `{batch,interactive}` mode is correct
35
-
* check whether the help screens of `partdiff{,++}` are identical
36
-
* check whether the outputs of `partdiff{,++}` in {batch,interactive} mode are identical (this ignores the line with the calculation time, because that can vary a lot, but you can check for yourself that the format is correct)
37
-
* check whether `partdiff++` is leak-free
38
-
39
-
## Legacy Mode
40
-
41
-
`partdiff` is mostly in English, but two methods (`displayStatistics` and `allocateMemory`)
42
-
are in German.
43
-
44
-
`partdiff++` offers a full English translation which is enabled by default, but,
45
-
to retain comparability between `partdiff`'s and `partdiff++`' output, you can also
46
-
compile `partdiff++` in legacy mode to keep the German parts among a few other details:
0 commit comments