- Nov 07, 2014
-
-
Oliver Sander authored
I took the formula from http://en.wikipedia.org/wiki/Eigenvalue_algorithm (retrieved lated August 2014). Wikipedia claims to have taken it from Smith, Oliver K. (April 1961), Eigenvalues of a symmetric 3 × 3 matrix, Communications of the ACM 4 (4): 168, doi:10.1145/355578.366316 I did not check stability of efficiency of this, but no problems related to either are mentioned in the literature. The main reason I need the closed-form expression is to be able to pipe it into an algorithmic differentiation system.
-
- Nov 06, 2014
-
-
Oliver Sander authored
Rip out the complete test for eigenValuesNonSym and replace it by the Rosser matrix test from fieldmatrixtest.cc The old test was complete nonsense: an implementation of some sort of strange undocumented shape function set that happened to need eigenvalues for something. Lots of undocumented code, and no checks at all whether the values obtained by eigenValuesNonSym actually make sense. Only, for the particular choice of parameters used, eigenValuesNonSym was never called. Yes, you read this correctly: these hundreds of lines of code didn't actually test anything. The new test is copied form fieldmatrixtest.cc and adapted for DynamicMatrix types. It computes eigenvalues of a given 8x8 matrix and compares with the known results. Unfortunately, the test matrix is only symmetric. Tests with more general matrices are left for another day.
-
Oliver Sander authored
Rather than assuming the caller has set it to the correct size already. Setting the size in the method eigenValuesNonSym itself makes code more robust. Plus, the time needed for that should be negligible compared to the actual eigenvalue computations.
-
- Nov 02, 2014
-
-
Oliver Sander authored
The AmiraMesh format is so obscure that we should not clutter the code we generate by references to it. If people really want AmiraMesh support they can still add the flags, just like they have to do for many other things.
-
Oliver Sander authored
-
- Oct 29, 2014
-
-
Oliver Sander authored
-
Oliver Sander authored
It is not actually needed, because the code also works in other cases. A comment next the assertion even explicitly stated that it is not needed!
-
Uli Sack authored
-
Uli Sack authored
-
- Oct 17, 2014
-
-
Oliver Sander authored
-
- Oct 14, 2014
-
-
Carsten Gräser authored
We decided to have all stl like stuff in Dune::Std:: and not in Std:: Besides our decision with the previous version tupleutility.hh did not compile if a header refering to Dune::Std:: was included.
-
Carsten Gräser authored
-
Carsten Gräser authored
This uses perfect forwarding (following Herb Sutter) and SFINAE (following Stephan T. Lavavej) to get a standard comforming implementation also for array.
-
- Oct 13, 2014
-
-
Oliver Sander authored
-
Oliver Sander authored
-
- Oct 10, 2014
-
-
Christoph Grüninger authored
Once CMake will be default, people can deactivate it.
-
- Oct 08, 2014
-
-
Ansgar Burchardt authored
-
Dominic Kempf authored
-
Dominic Kempf authored
-
Dominic Kempf authored
These classes are deprecated, and some of the tests cause problems with ctest due to a destructor throwing an exception. It seems easier to remove the tests directly, as the tested code is deprecated anyway.
-
Dominic Kempf authored
See FS1508. C++11 initializer lists should be used instead.
-
- Oct 06, 2014
-
-
Ansgar Burchardt authored
-
Dominic Kempf authored
testdebugallocator_fail{1..5} are a very special sort of tests, as in order to pass they are expected to fail with a signal like SIGABRT or SIGSEGV. While autotools, dont distinguish much about how a test failed, if it is supposed to fail, ctest handles signals from the test and distinguishes this from normal termination with nonzero exit code. This commit introduces a signal handling in the test itself, that causes the program to terminate "normally" with a nonzero exit code instead of passing the signal to the fathering process (ctest). The signal, which is expected to be received can be set from CMakeLists.txt via a preprocessor variable.
-
- Oct 02, 2014
-
-
Jö Fahlke authored
-
Carsten Gräser authored
This basically wraps the raw snprintf in order to provide overflow-save printf functionality while hiding the details like buffers handling, multiple calls to snprintf, ... Note that snprintf is a c++11 feature that is, however, present in gcc-4.4.
-
Carsten Gräser authored
-
Christoph Grüninger authored
-
Christoph Grüninger authored
Conflicts: cmake/modules/CheckCXX11Features.cmake dune/common/std/CMakeLists.txt dune/common/std/Makefile.am m4/Makefile.am m4/dune_common.m4
-
Autotools users kept complaining, that it is conceptionally disappointing that targets cannot be build with flags set upon entering make (e.g. make CXXFLAGS+="-myflag" mytarget). This patch introduces a small hack, that allows for such feature in cmake. It is, however, (at least) questionable whether we want to include it. Still, for your information and convenience: To use the feature you must: - be using a CMake generator that is based on Makefiles (defaults to true) - set the define ALLOW_EXTRA_CXXFLAGS to true, e.g. by including CMAKE_FLAGS="-DALLOW_EXTRA_CXXFLAGS=1" in your optsfile. - reconfigure your project cmake will then wrap a small shell script around your compiler and allow you to append the content of an environment variable to yout compiler flags. Run for above example: EXTRA_CXXFLAGS="-myflag" make mytarget The additional flags will be visually confirmed if and only if you set the verbosity (as always): EXTRA_CXXFLAGS="-myflag" make VERBOSE=1 mytarget
-
- Oct 01, 2014
-
-
Tobias Malkmus authored
This very old gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10200 is fixed in clang but not in icc or gcc, see FS#1505.
-
- Sep 30, 2014
-
-
Jö Fahlke authored
-
Christoph Grüninger authored
-
Steffen Müthing authored
In order to simplify fallback handling between code with and without MPI support, this patch makes the specialization of CollectiveCommunication for MPI communicators default-constructible by defaulting the underlying MPI communicator to MPI_COMM_WORLD, which should be reasonable for most scenarios. As the non-specialized version for sequential code is already default-constructible, this allows grid constructors to accept a CollectiveCommunication object regardless of whether MPI support is enabled or not and to provide a default value for this parameter. This patch resolves FS#1497.
-
- Sep 29, 2014
-
-
Steffen Müthing authored
This branch contains required infrastructure for the new iterator ranges in dune-grid. In particular, it adds a configuration test that checks whether the compiler supports range-based for loops and a small utility class that serves as a container for a pair of begin and end iterators. * feature/FS1042-range-based-for-loops-test-and-iteratorrange: [buildsystem] Check for range-based for. [Iterators] Add IteratorRange helper class
-
Dominic Kempf authored
CollectiveCommunication serves as a fallback implementation, when code that is written for parallel computations is executed in sequential. The template parameters BinaryFunctions are no-op then, but they are still there to define the interface. However, in a generic (parallel) implementation these will be given. Including binaryfunctions.hh here avoids error messages due to no-op template parameters whose names could not be found by the compiler.
-
- Sep 24, 2014
-
-
Christoph Gersbacher authored
C++14 will introduce integer/index sequences in the header <utility>. This patch introduces a backwards compatible implementation similar in use. However, the implementation differs in the following technical details: - index_sequence is not a template alias for integer_sequence but inherits from it - make_{integer, index}_sequence are not a template aliases but free standing functions Both differences stem from the absence of template aliases introduced in GCC aa late as gcc-4.7. This implementation will work in gcc-4.4 and later.
-
- Sep 23, 2014
-
-
Christoph Grüninger authored
-
- Sep 16, 2014
-
-
Christoph Grüninger authored
Macro to use C++11 feature noexcept specifier. Add test for CMake and autotools.
-
- Sep 15, 2014
-
-
Dominic Kempf authored
-
Christian Engwer authored
-