- Jul 01, 2015
-
-
Ansgar Burchardt authored
The storage of bigunsignedint was changed to std::uint16_t in commit 541b3dfc. This implements the same change for the MPITraits<bigunsignedint<k>> Note that this assumes that MPITraits<std::uint16_t> is defined. This is the case as long as uint16_t maps to one of the standard integer types (unsigned char/short/int/long). Thanks to Markus for pointing this out. Reference: https://dune-project.org/flyspray/index.php?do=details&task_id=1657#comment6393 (cherry picked from commit 586375b4) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
- Jun 25, 2015
-
-
Ansgar Burchardt authored
(cherry picked from commit 648dff2b) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Dominic Kempf authored
This bug could only be found outside Germany :D (cherry picked from commit ecdb7f7b) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
- Jun 16, 2015
-
-
Christian Engwer authored
the first problem was that I accidentially enabled the ScalarOrderingTest, but this forced me to investigate further and I found out how this works, or not works. We have to add the comparison operators to FieldVector, as the cast operator does not always match, e.g. in the case of GMPField. (cherry picked from commit e0ac8d9a) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Carsten Gräser authored
Before the test was not active since '#if HAVE_GMP' fails if the gmp-flags where not added. (cherry picked from commit 045c6d93) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christian Engwer authored
in order to make GMPField work in more situations, we add a constrctor, which matches all scalar data types, which can me converted to K. We deliberately exclude K from the template match. (cherry picked from commit 9d46150e) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christian Engwer authored
(cherry picked from commit 7135cbb0) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christian Engwer authored
we first import function like std::max into the local scope and the call max(a,b) instead of std::max(a,b). This allows to match specializations for other data types via ADL. (cherry picked from commit 515f312a) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christian Engwer authored
(cherry picked from commit 49200b29) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christian Engwer authored
The templated constructor of GMPField fatched everything. We reduce the constructor to those scalar values, which are convertible to mpf_class. As this removes the constructor from char* we explicitly add constructor from char* and std::string. This is the main part to fix FS#1665 (cherry picked from commit 3fe52527) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christian Engwer authored
most of the tests work. std::complex<GMPField> does not work as expected, but this is perhaps something we don't want to support. As std::complex does not allow to initialize with other parameters than the data type itself, we can not initialize from int or other compatible scalar values. The smae problem occures when interacting with int values directly. (cherry picked from commit bde9dc6e) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
- Jun 09, 2015
-
-
Christoph Grüninger authored
(cherry picked from commit 7330cbcd) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christoph Grüninger authored
Fixes FS#FS#1649. (cherry picked from commit 63256eeb) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
- May 21, 2015
-
-
Ansgar Burchardt authored
This closes FS#1651. (cherry picked from commit 6552b897) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Ansgar Burchardt authored
ptrdiff_t is a signed integer type and so the expression (std::uintptr_t)(ptr) % page_size could become a negative value. In this case the page_ptr would be the address of the next page after the allocation. This wrong behaviour could be observed on (32bit) PowerPC: here ptr was 0xf78cfe00 and page_ptr was calculated as 0xf78d0000 instead of the correct 0xf78c0000. (cherry picked from commit 1659ea4b) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Ansgar Burchardt authored
This change should make formatString safe to use in multi-threaded programs. This fixes FS#1636. (cherry picked from commit f529d23f) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
- May 11, 2015
-
-
Steffen Müthing authored
The std::numeric_limits specialization for bigunsignedint requires access to the internal state of bigunsignedint. Previously, the correct specialization of std::numeric_limits was a friend of bigunsignedint, but that creates problems on recent versions of clang with the alternative libc++ library, because that library declares the base template of std::numeric_limits as a class and clang subsequently complains if the friend declaration uses 'struct'. Unfortunately, libstdc++ uses a struct, making it impossible to keep clang happy for both standard libraries. So we introduce a helper class that provides access to the internal state and which now becomes a friend of bigunsignedint. The numeric_limits specialization inherits from the helper to use it. (cherry picked from commit a7951dff) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
Steffen Müthing authored
(cherry picked from commit e9634076) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
Steffen Müthing authored
According to the standard, all specializations of std::hash must export argument_type and result_type [20.8.12/1]. The version of libc++ (LLVM's alternative C++ standard library) tripped over this requirement on my machine, so this patch adds the typedefs. (cherry picked from commit a64ca159) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
Steffen Müthing authored
Ansgar fixed a bunch of problems in bigunsignedint - and improved the corresponding test! yeah! * p/ansgar/FS1644-bigunsignedint: Rework bigunsignedinttest.cc. bigunsignedint: Remove unneeded variable in operator%. bigunsignedint: Fix operator-. bigunsignedint: Throw an exception when constructing from a negative integer. bigunsignedint: make overload unambiguous for all integer types Use fixed-width integer types (C++11) (cherry picked from commit 4c79a644) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
- Apr 29, 2015
-
-
Oliver Sander authored
-
- Apr 20, 2015
-
-
(cherry picked from commit 7aa683f1)
-
(cherry picked from commit bb04c50d)
-
-
-
Markus Blatt authored
Before this commit communcation would be initiated even on empty interfaces. While this does not lead to overwriting data or producing segmentation faults, it does lead to accessing the first component of empty vectors to get a pointer to pass to MPI functions. This produces error output with valgrind and other memory debuggers. Therefore with this commit we will first check whether the interface contains values and do nothing if it doesn't. We also augmented the test to catch the case wher only some processes have an empty interface.
-
- Apr 10, 2015
-
-
Jö Fahlke authored
-
Steffen Müthing authored
This check was added to improve the error message returned when using MPI without correctly initializing it (e.g. by creating a parallel grid), see FS#1612 for further information.
-
- Mar 15, 2015
-
-
Christoph Grüninger authored
-
- Mar 13, 2015
-
-
Tobias Malkmus authored
-
- Mar 12, 2015
-
-
Christian Engwer authored
-
- Mar 10, 2015
-
-
Steffen Müthing authored
[Typetraits][Compatibility] Provide partial backwards compatibility for is_indexable on old GCC versions Older GCC versions have some nasty bugs related to SFINAE and indexing with operator[]. This patch adds a configuration check for those problems and a partial backwards compatibility hack for those older compilers that is sufficient for our current use case in the VTK writer.
-
Steffen Müthing authored
GCC 4.4, I'm looking at you
-
Steffen Müthing authored
-
Steffen Müthing authored
is_indexable can be used to test whether a type can be indexed (via operator[]).
-
- Feb 27, 2015
-
-
Christian Engwer authored
@Markus: too much CMake?! ;-)
-
Markus Blatt authored
There is not need to send message that contain no data. It might even produce problems on some implementation. Therfore this patch always checks the size and simply sets the request to inactive (aka MPI_REQUEST_NULL) if no data would be send or received. The patch is to be cherry-picked to master if Christian approves.
-
- Feb 25, 2015
-
-
Christian Engwer authored
we again rethrow the exception, as some information is not available in the parser routines.
-
Christian Engwer authored
This reverts commit 9281f717.
-
Christian Engwer authored
-