12#include "gtest/gtest.h"
20 template <
class PosT1,
class PosT2>
26 class Pos_Test :
public ::testing::Test
30 static constexpr SizeT s1 = 7;
31 static constexpr SizeT s2 = 3;
32 static constexpr SizeT ss1 = 4;
33 static constexpr SizeT ss2 = 2;
47 class For_Test :
public ::testing::Test
54 constexpr TestXpr1(
const IndexId<0>&
id) : mId(id) {}
57 inline SizeT operator()(
const PosT&
last)
const
60 return o <<
last.val();
66 return UPos( mId ==
id ? 1u : 0
u );
77 mId(id), mSize(size), mCnt(size) {}
80 inline void operator()(
const PosT&
last)
const
89 return UPos( mId ==
id ? 1u : 0
u );
98 static constexpr SizeT sSize = 7u;
126 auto s6p = mS4p + mS2p;
127 auto s8p = mS4p * mS2p;
128 auto up3 = mS4p * mUp1;
129 auto up4 = mUp1 * mS2p;
130 auto up5 = mS4p + mUp1;
131 auto up6 = mUp1 + mS2p;
182 auto mp3 =
mp1.extend(mUp2);
183 auto mp4 =
mp2.extend(mS2p);
240 [](
auto& o,
const auto&
e) { o +=
e; });
256 [](
const auto& a,
const auto&
b) {
return a +
b; });
272 ::testing::InitGoogleTest(&
argc,
argv);
Sptr< Range > rangeCast(const RangePtr r)
constexpr decltype(auto) mkFor(SizeT size, const IndexId< L > &id, const Xpr &xpr, F &&f)
int main(int argc, char **argv)