- Jun 14, 2017
-
-
Signed-off-by:
Ansgar Burchardt <Ansgar.Burchardt@tu-dresden.de>
-
- Apr 29, 2017
-
-
Ansgar Burchardt authored
Merge branch 'feature/overload-compiler-script' into 'master' See merge request !233
-
- Apr 21, 2017
-
- Apr 18, 2017
-
-
Markus Blatt authored
Merge branch 'feature/fix-DenseMatrix-invert' into 'master' See merge request !231
-
Ansgar Burchardt authored
Merge branch 'feature/doxygen-install-js' into 'master' See merge request !232
-
Ansgar Burchardt authored
DuneDoxygen: also install *.js See merge request !227
-
Implement specialized version of invert for 3x3 dense matrices. See merge request !216
-
- Mar 16, 2017
-
-
Ansgar Burchardt authored
Merge branch 'fix-link-to-build-system-doc' into 'master' See merge request !217
-
Fix link to build-system documentation Closes #64 See merge request !211
-
- Feb 17, 2017
-
-
Ansgar Burchardt authored
Merge branch 'fix-2d-eigenvalues-code' into 'master' See merge request !206
-
- Jan 31, 2017
-
-
Christoph Grüninger authored
Fix 2d eigenvalues code See merge request !205
-
- Jan 02, 2017
-
-
Ansgar Burchardt authored
-
- Dec 18, 2016
-
-
Ansgar Burchardt authored
dune.module: prepare for 2.5.0 release See merge request !198
-
Ansgar Burchardt authored
-
- Dec 15, 2016
-
-
Ansgar Burchardt authored
(cherry picked from commit 78c0160c)
-
- Nov 29, 2016
-
-
Ansgar Burchardt authored
Merge branch 'feature/improve-is_range' into 'master' Improve is_range This avoids the `sizeof` hack in favour of a more idiomatic version and also implements checks for all needed expressions: * existenz of r.begin() * existenz of r.end() * inequality comparison of iterator and end-iterator * end-iterator converts to iterator (dropped in C++17) * prefix increment of iterator * dereference of iterator In order to avoid a "computed value not used warning" we add an additional call to a dummy function. In fact this check is not complete, because it only accepts member begin() and end(). Adding support for std:: and adl-version would require a more complicated helper and thus better be placed in a real concept definition. See merge request !187 See merge request !188
-
Improve is_range This avoids the `sizeof` hack in favour of a more idiomatic version and also implements checks for all needed expressions: * existenz of r.begin() * existenz of r.end() * inequality comparison of iterator and end-iterator * end-iterator converts to iterator (dropped in C++17) * prefix increment of iterator * dereference of iterator In order to avoid a "computed value not used warning" we add an additional call to a dummy function. In fact this check is not complete, because it only accepts member begin() and end(). Adding support for std:: and adl-version would require a more complicated helper and thus better be placed in a real concept definition. See merge request !187
-
- Nov 23, 2016
-
-
Ansgar Burchardt authored
Merge branch 'bugfix/rangeutilities-use-std-max_element' into 'master' Fix `max_value` and `min_value` This merge request adds a test for `rangeutilities.hh` and corrects `max_value` and `min_value`. See merge request !183 See merge request !186
-
Ansgar Burchardt authored
Fix `max_value` and `min_value` This merge request adds a test for `rangeutilities.hh` and corrects `max_value` and `min_value`. See merge request !183
-
Ansgar Burchardt authored
Merge branch 'cleanup/extra-semicolon' into 'master' [cleanup] fix warning: extra ‘;’ [-Wpedantic] This removes the extra ‘;’ warnings when compiling with -Wpedantic. See merge request !176 See merge request !184
-
Ansgar Burchardt authored
[cleanup] fix warning: extra ‘;’ [-Wpedantic] This removes the extra ‘;’ warnings when compiling with -Wpedantic. See merge request !176
-
Ansgar Burchardt authored
Merge branch 'bugfix/poolallocator-debug' into 'master' Add correct offset for end of chunk Using `¤t->chunk_ + x` will add `x * sizeof(current->chunk_)` to the pointer, but we only want to add `x`. Adding a much larger number still "works" on 64bit systems (although it does not perform the intended check). However on 32bit platforms this wraps (at least in the way used by sllisttest.cc) and the "end" of the chunk is suddenly before the beginning. Closes #57 See merge request !181 See merge request !182
-
Markus Blatt authored
Add correct offset for end of chunk Using `¤t->chunk_ + x` will add `x * sizeof(current->chunk_)` to the pointer, but we only want to add `x`. Adding a much larger number still "works" on 64bit systems (although it does not perform the intended check). However on 32bit platforms this wraps (at least in the way used by sllisttest.cc) and the "end" of the chunk is suddenly before the beginning. Closes #57 See merge request !181
-
- Nov 20, 2016
-
-
Ansgar Burchardt authored
Cherry-pick: Merge branch 'feature/fix-forloop' into 'master' [bugfix] Fix possible memory corruption in ForLoop The reason for perfect forwarding is to also forward r-values as r-value references such that the called function can do a move on such values. As a consequence you should never call `std::forward` on the same object twice because the second function may get a moved from object since the first one has already stolen the data. E.g. for the following operation ```cpp template<int i> struct Operation { static void apply(std::vector<int> v) {} }; ``` a call to ```cpp Dune::ForLoop<Operation, 0, 1>::apply(std::vector<int>{1,2,3}); ``` will pass a moved from vector in an undefined state on the second call. BTW: The same error existed in the old implementation of `ForLoop` See merge request !177 See merge request !180
-
Carsten Gräser authored
[bugfix] Fix possible memory corruption in ForLoop The reason for perfect forwarding is to also forward r-values as r-value references such that the called function can do a move on such values. As a consequence you should never call `std::forward` on the same object twice because the second function may get a moved from object since the first one has already stolen the data. E.g. for the following operation ```cpp template<int i> struct Operation { static void apply(std::vector<int> v) {} }; ``` a call to ```cpp Dune::ForLoop<Operation, 0, 1>::apply(std::vector<int>{1,2,3}); ``` will pass a moved from vector in an undefined state on the second call. BTW: The same error existed in the old implementation of `ForLoop` See merge request !177
-
- Nov 17, 2016
-
-
Ansgar Burchardt authored
Merge branch 'feature/update-man-page' into 'master' Update man page of dunecontrol Closes #52 See merge request !159 See merge request !174
-
Ansgar Burchardt authored
Merge branch 'feature/remove_tuples_hh' into 'master' Deprecate header tuples.hh See merge request !89 See merge request !165
-
Ansgar Burchardt authored
Update man page of dunecontrol Closes #52 See merge request !159
-
Ansgar Burchardt authored
Merge branch 'feature/tuplevector' into 'master' Add the TupleVector class The `TupleVector` class is a multitype container without algebraic operations. It relates to `Dune::MultiTypeBlockVector` like `std::vector` relates to `Dune::BlockVector`. This is achived by augmenting `std::tuple` by the following: * `operator[]` for `Dune::index_constant` arguments * `static size()` You can now write code like this which will work for multitype and classic vector like containers: ```c++ using namespace Dune::Hybrid; forEach(integralRange(size(v)), [&](auto i) { v[i] = i; }); ``` Notice that `TupleVector` was already present as implementation detail of two tests in dune-common and that dune-functions and dune-solvers also both contained their own variants See merge request !134 See merge request !168
-
Ansgar Burchardt authored
Cherry-pick: Merge branch 'feature/simplify-foreach' into 'master' Short circuit Hybrid::forEach for integer_sequence This reduced the template instanciation depth drastically. E.g., for range=`integer_sequence<21>` is changed from 319 to 84. This is especially important for clang, because this has a default max-depth of 256 in contrast to gcc (900). See merge request !162 See merge request !163
-
- Nov 16, 2016
-
-
Ansgar Burchardt authored
Cherry-pick: [doc] Update required clang version We now require clang 3.8 See merge request !173
-
Ansgar Burchardt authored
Merge branch 'feature/fix-call-MPIfinalize-onlyif-MPIInit-called' into 'master' MPIHelper should only finalize MPI if it called init MPIHelper only calls MPI if it was not already called before MPIHelper is constructed. Finalize is however always called on destruction leading to problems with other packages calling init/finalize before/after MPIHelper is setup. Added a bool storing the information if MPIInit was called by the MPIHelper so that finalize is only called in that case. See merge request !58 See merge request !172
-
Ansgar Burchardt authored
Merge branch 'feature/allow-shared-libs-with-object-libaries' into 'master' Allow using object libraries in conjunction with shared libs. CMake's object libraries cannot judge whether they will be used in shared libraries. To allow ease of in core and downstream modules we resort to compiling position independent code whenever shared DUNE libraries are requested. This is done by setting CMAKE_POSITION_INDEPENDENT_CODE to ON. Please not that the can be overriding manually by setting the target property POSITION_INDEPENDENT_CODE to something else where needed. Closes staging/dune-uggrid#16 See merge request !160 See merge request !166
-
Ansgar Burchardt authored
Merge branch 'feature/dunecontrol-git-worktree' into 'master' make dunecontrol compatible with git worktrees I currently have my dune directory where all the git repositories for the Dune modules reside with checked-out master branches. To simplify testing the Dune 2.5 branches, I created a new dune-2.5 directory where I created linked worktrees for the releases/2.5 branch of each Dune module with `git worktree`. Unfortunately, `dunecontrol` doesn't recognize these linked worktrees as git repositories. When I call e.g. `dunecontrol update` it gives me warnings like ``` --- calling update for dune-common --- WARNING: dune_common is not under a known version control system. We support svn, git and cvs. --- dune-common done --- ``` This is caused by the fact that `dunecontrol` only checks whether .git exists as a directory, but in linked worktrees .git is a regular file containing the path of the main worktree. This merge request fixes this problem by additionally checking if .git exists as a regular file. See merge request !161 See merge request !167
-
- Nov 14, 2016
-
-
Carsten Gräser authored
-
Andreas Dedner authored
MPIHelper should only finalize MPI if it called init MPIHelper only calls MPI if it was not already called before MPIHelper is constructed. Finalize is however always called on destruction leading to problems with other packages calling init/finalize before/after MPIHelper is setup. Added a bool storing the information if MPIInit was called by the MPIHelper so that finalize is only called in that case. See merge request !58
-
Christoph Grüninger authored
Add the TupleVector class The `TupleVector` class is a multitype container without algebraic operations. It relates to `Dune::MultiTypeBlockVector` like `std::vector` relates to `Dune::BlockVector`. This is achived by augmenting `std::tuple` by the following: * `operator[]` for `Dune::index_constant` arguments * `static size()` You can now write code like this which will work for multitype and classic vector like containers: ```c++ using namespace Dune::Hybrid; forEach(integralRange(size(v)), [&](auto i) { v[i] = i; }); ``` Notice that `TupleVector` was already present as implementation detail of two tests in dune-common and that dune-functions and dune-solvers also both contained their own variants See merge request !134
-
- Nov 13, 2016
-
-
Christoph Grüninger authored
make dunecontrol compatible with git worktrees I currently have my dune directory where all the git repositories for the Dune modules reside with checked-out master branches. To simplify testing the Dune 2.5 branches, I created a new dune-2.5 directory where I created linked worktrees for the releases/2.5 branch of each Dune module with `git worktree`. Unfortunately, `dunecontrol` doesn't recognize these linked worktrees as git repositories. When I call e.g. `dunecontrol update` it gives me warnings like ``` --- calling update for dune-common --- WARNING: dune_common is not under a known version control system. We support svn, git and cvs. --- dune-common done --- ``` This is caused by the fact that `dunecontrol` only checks whether .git exists as a directory, but in linked worktrees .git is a regular file containing the path of the main worktree. This merge request fixes this problem by additionally checking if .git exists as a regular file. See merge request !161
-
Christoph Grüninger authored
Allow using object libraries in conjunction with shared libs. CMake's object libraries cannot judge whether they will be used in shared libraries. To allow ease of in core and downstream modules we resort to compiling position independent code whenever shared DUNE libraries are requested. This is done by setting CMAKE_POSITION_INDEPENDENT_CODE to ON. Please not that the can be overriding manually by setting the target property POSITION_INDEPENDENT_CODE to something else where needed. Closes staging/dune-uggrid#16 See merge request !160
-
Christoph Grüninger authored
Deprecate header tuples.hh See merge request !89
-