diff --git a/INSTALL.md b/INSTALL.md index 219692ce08..d7cbfe54a3 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,7 +42,7 @@ Both methods are supported. However, for most users we _strongly_ recommend to b - Boost.Range: header-only, *only used for unit testing* - [BTAS](http://github.com/ValeevGroup/BTAS), tag db884b020b5c13c312c07df9d5c03cea2d65afb2 . If usable BTAS installation is not found, TiledArray will download and compile BTAS from source. *This is the recommended way to compile BTAS for all users*. -- [MADNESS](https://github.com/m-a-d-n-e-s-s/madness), tag fae8081179b9d074968b08e064a32e3ca07ab0f1 . +- [MADNESS](https://github.com/m-a-d-n-e-s-s/madness), tag 997e8b458c4234fb6c8c2781a5df59cb14b7e700 . Only the MADworld runtime and BLAS/LAPACK C API component of MADNESS is used by TiledArray. If usable MADNESS installation is not found, TiledArray will download and compile MADNESS from source. *This is the recommended way to compile MADNESS for all users*. diff --git a/external/versions.cmake b/external/versions.cmake index 8a94df9190..d5f90bb5cd 100644 --- a/external/versions.cmake +++ b/external/versions.cmake @@ -19,8 +19,8 @@ set(TA_INSTALL_EIGEN_PREVIOUS_VERSION 3.3.7) set(TA_INSTALL_EIGEN_URL_HASH SHA256=b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626) set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH MD5=b9e98a200d2455f06db9c661c5610496) -set(TA_TRACKED_MADNESS_TAG fae8081179b9d074968b08e064a32e3ca07ab0f1) -set(TA_TRACKED_MADNESS_PREVIOUS_TAG 9357dccd0cf91c0857d05ceb5f10b833fcd63308) +set(TA_TRACKED_MADNESS_TAG 997e8b458c4234fb6c8c2781a5df59cb14b7e700) +set(TA_TRACKED_MADNESS_PREVIOUS_TAG fae8081179b9d074968b08e064a32e3ca07ab0f1) set(TA_TRACKED_MADNESS_VERSION 0.10.1) set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1) diff --git a/src/TiledArray/conversions/to_new_tile_type.h b/src/TiledArray/conversions/to_new_tile_type.h index 5c6c5f7555..983885f1b1 100644 --- a/src/TiledArray/conversions/to_new_tile_type.h +++ b/src/TiledArray/conversions/to_new_tile_type.h @@ -70,7 +70,7 @@ struct cast_then_op inline decltype(auto) to_new_tile_type(DistArray const& old_array, Op&& op) { - using OutTileType = typename std::result_of::type; + using OutTileType = std::invoke_result_t; static_assert(!std::is_same::value, "Can't call new tile type if tile type does not change."); diff --git a/src/TiledArray/math/vector_op.h b/src/TiledArray/math/vector_op.h index 24107a26ac..c186043334 100644 --- a/src/TiledArray/math/vector_op.h +++ b/src/TiledArray/math/vector_op.h @@ -336,8 +336,8 @@ struct SizeTRange { #endif template ::type>::value>::type* = nullptr> + std::enable_if_t>>* = nullptr> void inplace_vector_op_serial(Op&& op, const std::size_t n, Result* const result, const Args* const... args) { std::size_t i = 0ul; @@ -386,8 +386,8 @@ class ApplyInplaceVectorOp { #endif template ::type>::value>::type* = nullptr> + std::enable_if_t>>* = nullptr> void inplace_vector_op(Op&& op, const std::size_t n, Result* const result, const Args* const... args) { #ifdef HAVE_INTEL_TBB @@ -413,8 +413,8 @@ void inplace_vector_op(Op&& op, const std::size_t n, Result* const result, } template ::type>::value>::type* = nullptr> + std::enable_if_t< + !std::is_void_v>>* = nullptr> void vector_op_serial(Op&& op, const std::size_t n, Result* const result, const Args* const... args) { auto wrapper_op = [&op](Result& res, param_type... a) { @@ -467,8 +467,8 @@ class ApplyVectorOp { #endif template ::type>::value>::type* = nullptr> + std::enable_if_t< + !std::is_void_v>>* = nullptr> void vector_op(Op&& op, const std::size_t n, Result* const result, const Args* const... args) { #ifdef HAVE_INTEL_TBB diff --git a/src/TiledArray/type_traits.h b/src/TiledArray/type_traits.h index a1b1d4232e..1de19bb316 100644 --- a/src/TiledArray/type_traits.h +++ b/src/TiledArray/type_traits.h @@ -1299,8 +1299,8 @@ template struct is_invocable_void_helper : std::false_type {}; template struct is_invocable_void_helper< - std::enable_if_t>::value, void>, - F, Args...> : std::true_type {}; + std::enable_if_t>, void>, F, + Args...> : std::true_type {}; template struct is_invocable_void : is_invocable_void_helper {};