From c5303d74f95452d1b9d0461972649399cda46ee0 Mon Sep 17 00:00:00 2001 From: Bernhard Manfred Gruber Date: Tue, 25 May 2021 19:32:28 +0200 Subject: [PATCH] force VirtualRecord operator lambdas to be inlined --- include/llama/VirtualRecord.hpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/llama/VirtualRecord.hpp b/include/llama/VirtualRecord.hpp index 3ac712b593..7e3fed80b8 100644 --- a/include/llama/VirtualRecord.hpp +++ b/include/llama/VirtualRecord.hpp @@ -51,17 +51,17 @@ namespace llama typename LeftRecord::AccessibleRecordDim, typename RightRecord::AccessibleRecordDim>) { - forEachLeaf([&](auto coord) + forEachLeaf([&](auto coord) LLAMA_LAMBDA_INLINE { Functor{}(left(coord), right(coord)); }); } else { forEachLeaf( - [&](auto leftCoord) + [&](auto leftCoord) LLAMA_LAMBDA_INLINE { using LeftInnerCoord = decltype(leftCoord); forEachLeaf( - [&](auto rightCoord) + [&](auto rightCoord) LLAMA_LAMBDA_INLINE { using RightInnerCoord = decltype(rightCoord); if constexpr (hasSameTags< @@ -81,7 +81,7 @@ namespace llama template LLAMA_FN_HOST_ACC_INLINE auto virtualRecordArithOperator(LeftRecord& left, const T& right) -> LeftRecord& { - forEachLeaf([&](auto leftCoord) + forEachLeaf([&](auto leftCoord) LLAMA_LAMBDA_INLINE { Functor{}(left(leftCoord), right); }); return left; } @@ -105,16 +105,16 @@ namespace llama typename RightRecord::AccessibleRecordDim>) { forEachLeaf( - [&](auto coord) { result &= Functor{}(left(coord), right(coord)); }); + [&](auto coord) LLAMA_LAMBDA_INLINE { result &= Functor{}(left(coord), right(coord)); }); } else { forEachLeaf( - [&](auto leftCoord) + [&](auto leftCoord) LLAMA_LAMBDA_INLINE { using LeftInnerCoord = decltype(leftCoord); forEachLeaf( - [&](auto rightCoord) + [&](auto rightCoord) LLAMA_LAMBDA_INLINE { using RightInnerCoord = decltype(rightCoord); if constexpr (hasSameTags< @@ -136,7 +136,7 @@ namespace llama { bool result = true; forEachLeaf( - [&](auto leftCoord) { + [&](auto leftCoord) LLAMA_LAMBDA_INLINE { result &= Functor{}( left(leftCoord), static_cast>(right));