Skip to content
Snippets Groups Projects
  1. May 11, 2015
    • 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
  2. May 08, 2015
  3. May 06, 2015
  4. Apr 29, 2015
  5. Apr 27, 2015
  6. Apr 21, 2015
  7. Apr 20, 2015
  8. Apr 16, 2015
  9. Apr 15, 2015
    • Dominic Kempf's avatar
      [bugfix] Fix wrong named argument in dune_register_package_flags usage · 2348fe1b
      Dominic Kempf authored
      The Metis test used the wrong one and I copied it for PTScotch... :/
      2348fe1b
    • Dominic Kempf's avatar
      Update FindPTScotch.cmake to the new flag registry · b71d1daf
      Dominic Kempf authored
      This test has been added while the dune_enable_all_packages
      feature was developed...
      b71d1daf
    • Steffen Müthing's avatar
      Merge branch 'feature/FS1557-add-all-flags-by-default-infrastructure' · 21f3e893
      Steffen Müthing authored
      This branch adds the required infrastructure to automatically enable all
      external packages and Dune-internal libraries for all targets inside a
      given Dune modules. For this purpose, it adds a number of new CMake
      macros:
      
      - dune_enable_all_packages is the central macro that needs to be called
        in the main CMakeLists.txt of your project.
      
      - dune_library_add_sources is an optional macro that you only need if
        your project also contains a library and you want your executables to
        automatically link against that library. Note that this support
        requires CMake 3.1. Most user modules don't create their own libraries
        and can thus ignore this macro.
      
      - dune_register_package_flags has to be called in all configuration
        tests to register the outcome of the test so that
        dune_enable_all_packages can automatically add the required compiler
        and linker flags required to use the library that the configuration
        test has been written for.
      
      The branch also adds the required calls to dune_register_package_flags
      to all configuration tests in dune_common.
      
      There is a similar branch in dune-grid that updates the configuration
      tests in that module.
      
      * feature/FS1557-add-all-flags-by-default-infrastructure:
        [CMake] dune_library_add_sources: Add some sanity checks
        [CMake] dune_enable_all_packages: Add sensible scoping to macro variables
        [CMake] Avoid duplicate version warnings in dune_library_add_sources
        [CMake] dune_enable_all_packages(): Add version check to library support
        [CMake] Clean up dune_enable_all_packages() and fix library handling
        [CMake][ParMETIS] Fix some typos in dune_register_package_flags() call
        [CMake] Export project revision as ProjectVersionRevision
        Fix c&p error in verbosity code
        Introduce an APPEND parameter on the dune_register_package_flags macro
        Issue a warning when the registry macros parameters cannot be parsed
        Introduce an optional VERBOSE argument on the dune_enable_all_packages macro
        Introduce a macro dune_register_package flags to be used by find modules
        [CMake] Move the enable_all_packages feature to a separate module
        Update the duneproject script to ask the user whether to use all flags
        Introduce a macro that adds all flags to all targets
        Update all find scripts split definitions from includes
        Split ALL_PKG_FLAGS into ALL_PKG_DEFS and ALL_PKG_INCS
      21f3e893
    • Steffen Müthing's avatar
      [CMake] dune_library_add_sources: Add some sanity checks · 0108acf3
      Steffen Müthing authored
      This patch adds some sanity checks to dune_library_add_sources:
      
      - Make sure that dune_enable_all_packages has been called
      
      - Test whether the library has been declared in the MODULE_LIBRARIES
        argument of dune_enable_all_packages
      
      In case of an error, the macro aborts the CMake run with a fatal error.
      0108acf3
    • Steffen Müthing's avatar
      [CMake] dune_enable_all_packages: Add sensible scoping to macro variables · 7bd85289
      Steffen Müthing authored
      All variables defined in the macros stick around forever, so add a scope
      matching the macro name to avoid name clashes.
      7bd85289
    • Steffen Müthing's avatar
      [CMake] Avoid duplicate version warnings in dune_library_add_sources · b284a270
      Steffen Müthing authored
      The check for a correct cmake_minimum_version already happened in
      dune_enable_all_packages, so let's avoid spamming the user...
      b284a270
    • Steffen Müthing's avatar
      [CMake] dune_enable_all_packages(): Add version check to library support · 4d77b9db
      Steffen Müthing authored
      The library support in dune_enable_all_packages (more specifically, the
      ability to add source files to an existing library target with
      dune_library_add_sources) relies on target_sources, which only exists in
      CMake 3.1+.
      
      To avoid confusing users, this patch emits a meaningful error for older
      versions of CMake and generates a warning for more recent versions. This
      warning can be disabled by defining
      DUNE_ENABLE_ALL_PACKAGES_SILENCE_LIBRARY_WARNING.
      4d77b9db
  10. Apr 14, 2015
  11. Apr 10, 2015
Loading