Skip to content
Snippets Groups Projects
  1. Jun 13, 2015
    • Christian Engwer's avatar
      [test,fieldvector] also test for GMPField · bde9dc6e
      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.
      bde9dc6e
  2. May 28, 2015
  3. May 25, 2015
  4. May 21, 2015
    • Steffen Müthing's avatar
      [Release][CMake][Bugfix] Make dune_library_add_sources() work again · 289d3eb6
      Steffen Müthing authored
      dune_library_add_sources() verifies the library name against the
      contents of DUNE_ENABLE_ALL_PACKAGES_MODULE_LIBRARIES. I accidentally
      broke this by converting dune_enable_all_packages (which defines the
      variable) from a macro to a function, which removed the variable from
      global scope.
      
      This patch fixes the problem by explicitly exporting the variable to the
      parent scope, making it available to dune_library_add_sources() again.
      289d3eb6
  5. May 20, 2015
  6. May 19, 2015
  7. May 13, 2015
  8. May 12, 2015
  9. May 11, 2015
    • Ansgar Burchardt's avatar
      [release] debugallocator: use unsigned integer type for pointer arithmetic · 1659ea4b
      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.
      1659ea4b
    • Steffen Müthing's avatar
      [Release][Bugfix] Fix bigunsignedint numeric_limits for clang/libc++ · a7951dff
      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.
      a7951dff
    • Steffen Müthing's avatar
    • Steffen Müthing's avatar
      [Bugfix][Release] Add typedefs to std::hash specializations for standard compliance · a64ca159
      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.
      a64ca159
    • Steffen Müthing's avatar
      [Release][Bugfix] Merge branch 'p/ansgar/FS1644-bigunsignedint' · 4c79a644
      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)
      4c79a644
    • Ansgar Burchardt's avatar
      Rework bigunsignedinttest.cc. · c859558d
      Ansgar Burchardt authored
      c859558d
    • Ansgar Burchardt's avatar
    • Ansgar Burchardt's avatar
      bigunsignedint: Fix operator-. · fef5f72e
      Ansgar Burchardt authored
      fef5f72e
    • Ansgar Burchardt's avatar
    • Ansgar Burchardt's avatar
      bigunsignedint: make overload unambiguous for all integer types · 7d2a12f8
      Ansgar Burchardt authored
      With just the two overloaded constructors
      
        bigunsignedint(int)
        bigunsigendint(uintmax_t)
      
      trying to call the constructor with any integer type T different from
      int and uintmax_t results in an ambiguous call: the promotion of T to
      either int or uintmax_t are ranked the same. (Note that this does not
      depend on the specific choice of int and uintmax_t.)
      
      This patch provides a templated constructor for all signed integer
      types which is ranked over the constructor taking an uintmax_t, making
      overload resolution unambiguous for signed integer types. By also
      "hiding" it for unsigned types using enable_if, the overload
      resolution for unsigned integer types is also unambiguous; there is
      only a single viable candidate left: the one taking an uintmax_t.
      7d2a12f8
    • Ansgar Burchardt's avatar
      Use fixed-width integer types (C++11) · 541b3dfc
      Ansgar Burchardt authored
      Use the fixed-width integer types introduced in C++11 instead of
      making assumptions on the size of integers. The following changes were
      implemented:
      
      unsigned short used to store the bigunsignedint:
        Changed type to uint16_t. The implementation requires this to be a
        16-bit type.
      
      int, unsigned int used to store intermediates:
        Changed type to (u)int_fast32_t. This is enough to hold sums, products
        or differences of two uint16_t integers.
      
      std::size_t used as parameter in constructor and arithmetic operators:
        Changed type to uintmax_t. Any unsigned integer type should be usable
        in conjunction with bigunsignedint.
      
      Return value of touint() member function:
        Changed type to uint_least32_t. The current implementation only
        returns the last two "digits" (of 16 bits each).
      541b3dfc
    • Steffen Müthing's avatar
      [Release][Bugfix] Fix __cxa_demangle() on recent clang · 70f52c0d
      Steffen Müthing authored
      The test for __cxa_demangle(), which is used by Dune::className() to
      demangle type names, doesn't work on my clang 3.6. Apparently, clang
      requires the user to include <typeinfo> before <cxxabi.h>. While
      classname.hh already does this, the build system tests don't, causing the
      feature to get disabled on clang.
      
      Fixed by adding the include to the build system tests.
      70f52c0d
    • Dominic Kempf's avatar
      [bugfix][release] Fix duneproject's option for the enable all feature · fb1ce0b4
      Dominic Kempf authored
      A typo made it impossible to say 'no'.
      
      Furthermore, I changed the text shown to the user to point to the
      module documentation.
      fb1ce0b4
  10. May 08, 2015
  11. May 06, 2015
Loading