mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-06-07 00:51:45 +00:00
fix for constexpr disabled
add sprout::adaptors::sized
This commit is contained in:
parent
2b8a8662af
commit
bcd7674cc0
84 changed files with 1758 additions and 1365 deletions
|
@ -21,7 +21,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -31,7 +31,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -43,11 +43,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 1, 4),
|
sprout::sub(arr1, 1, 4),
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -57,11 +57,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 1, 4),
|
sprout::sub(arr1, 1, 4),
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -77,7 +77,7 @@ namespace testspr {
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -88,7 +88,7 @@ namespace testspr {
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -101,11 +101,11 @@ namespace testspr {
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -116,11 +116,11 @@ namespace testspr {
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -30,14 +30,14 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
||||||
arr1,
|
arr1,
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -45,7 +45,7 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
// ソート
|
// ソート
|
||||||
// 範囲の切り出し
|
// 範囲の切り出し
|
||||||
|
@ -54,11 +54,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 1, 4),
|
sprout::sub(arr1, 1, 4),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sprout::get<0>(sorted)),
|
sprout::get_internal(sprout::get<0>(sorted)),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -66,18 +66,18 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
||||||
sprout::sub(arr1, 1, 4),
|
sprout::sub(arr1, 1, 4),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sprout::get<0>(sorted)),
|
sprout::get_internal(sprout::get<0>(sorted)),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -85,7 +85,7 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -99,7 +99,7 @@ namespace testspr {
|
||||||
g,
|
g,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -107,7 +107,7 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
||||||
|
@ -115,7 +115,7 @@ namespace testspr {
|
||||||
g,
|
g,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -123,7 +123,7 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
// ソート
|
// ソート
|
||||||
// 範囲の切り出し
|
// 範囲の切り出し
|
||||||
|
@ -133,11 +133,11 @@ namespace testspr {
|
||||||
g,
|
g,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sprout::get<0>(sorted)),
|
sprout::get_internal(sprout::get<0>(sorted)),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -145,7 +145,7 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::bogo_sort_result(
|
||||||
|
@ -153,11 +153,11 @@ namespace testspr {
|
||||||
g,
|
g,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
array<int, 3>{{1, 2, 4}}
|
array<int, 3>{{1, 2, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sprout::get<0>(sorted)),
|
sprout::get_internal(sprout::get<0>(sorted)),
|
||||||
array<int, 5>{{5, 1, 2, 4, 3}}
|
array<int, 5>{{5, 1, 2, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -165,7 +165,7 @@ namespace testspr {
|
||||||
sprout::get<0>(sorted),
|
sprout::get<0>(sorted),
|
||||||
sprout::get<1>(sorted)
|
sprout::get<1>(sorted)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(sorted) == sprout::get<1>(sorted2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 10>{{3, 4, 5, 6, 7, 8, 0, 0, 0, 0}}
|
array<int, 10>{{3, 4, 5, 6, 7, 8, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -33,7 +33,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
|
@ -46,7 +46,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{3, 4, 5, 6}}
|
array<int, 4>{{3, 4, 5, 6}}
|
||||||
));
|
));
|
||||||
|
@ -57,7 +57,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{3, 4, 5, 6}}
|
array<int, 4>{{3, 4, 5, 6}}
|
||||||
));
|
));
|
||||||
|
@ -70,11 +70,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -85,11 +85,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 10>{{0, 0, 0, 0, 3, 4, 5, 6, 7, 8}}
|
array<int, 10>{{0, 0, 0, 0, 3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
|
@ -33,7 +33,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
|
@ -46,7 +46,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{5, 6, 7, 8}}
|
array<int, 4>{{5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
|
@ -57,7 +57,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{5, 6, 7, 8}}
|
array<int, 4>{{5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
|
@ -70,11 +70,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -85,11 +85,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 10>{{1, 3, 5, 7, 9, 0, 0, 0, 0, 0}}
|
array<int, 10>{{1, 3, 5, 7, 9, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -35,7 +35,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 5>{{1, 3, 5, 7, 9}}
|
array<int, 5>{{1, 3, 5, 7, 9}}
|
||||||
));
|
));
|
||||||
|
@ -49,7 +49,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{1, 3, 5, 7}}
|
array<int, 4>{{1, 3, 5, 7}}
|
||||||
));
|
));
|
||||||
|
@ -61,7 +61,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{1, 3, 5, 7}}
|
array<int, 4>{{1, 3, 5, 7}}
|
||||||
));
|
));
|
||||||
|
@ -75,11 +75,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{1, 3, 5, 7, 9, 0}}
|
array<int, 6>{{1, 3, 5, 7, 9, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 1, 3, 5, 7, 9, 0, 0, 0}}
|
array<int, 10>{{0, 0, 1, 3, 5, 7, 9, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -91,11 +91,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 5>{{1, 3, 5, 7, 9}}
|
array<int, 5>{{1, 3, 5, 7, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 1, 3, 5, 7, 9, 0, 0, 0}}
|
array<int, 10>{{0, 0, 1, 3, 5, 7, 9, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace testspr {
|
||||||
6,
|
6,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 10>{{3, 4, 5, 6, 7, 8, 0, 0, 0, 0}}
|
array<int, 10>{{3, 4, 5, 6, 7, 8, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -32,7 +32,7 @@ namespace testspr {
|
||||||
6,
|
6,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
|
@ -46,7 +46,7 @@ namespace testspr {
|
||||||
6,
|
6,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{3, 4, 5, 6}}
|
array<int, 4>{{3, 4, 5, 6}}
|
||||||
));
|
));
|
||||||
|
@ -57,7 +57,7 @@ namespace testspr {
|
||||||
6,
|
6,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 4>{{3, 4, 5, 6}}
|
array<int, 4>{{3, 4, 5, 6}}
|
||||||
));
|
));
|
||||||
|
@ -70,11 +70,11 @@ namespace testspr {
|
||||||
6,
|
6,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -85,11 +85,11 @@ namespace testspr {
|
||||||
6,
|
6,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
copied,
|
copied,
|
||||||
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
array<int, 6>{{3, 4, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(copied),
|
sprout::get_internal(copied),
|
||||||
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 4, 5, 6, 7, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 10>{{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}
|
array<int, 10>{{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 10>{{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}
|
array<int, 10>{{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 6>{{-1, -1, -1, -1, -1, -1}}
|
array<int, 6>{{-1, -1, -1, -1, -1, -1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(filled),
|
sprout::get_internal(filled),
|
||||||
array<int, 10>{{1, 2, -1, -1, -1, -1, -1, -1, 9, 10}}
|
array<int, 10>{{1, 2, -1, -1, -1, -1, -1, -1, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 6>{{-1, -1, -1, -1, -1, -1}}
|
array<int, 6>{{-1, -1, -1, -1, -1, -1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(filled),
|
sprout::get_internal(filled),
|
||||||
array<int, 10>{{1, 2, -1, -1, -1, -1, -1, -1, 9, 10}}
|
array<int, 10>{{1, 2, -1, -1, -1, -1, -1, -1, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace testspr {
|
||||||
4,
|
4,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 10>{{-1, -1, -1, -1, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{-1, -1, -1, -1, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -31,7 +31,7 @@ namespace testspr {
|
||||||
4,
|
4,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 4>{{-1, -1, -1, -1}}
|
array<int, 4>{{-1, -1, -1, -1}}
|
||||||
));
|
));
|
||||||
|
@ -44,11 +44,11 @@ namespace testspr {
|
||||||
4,
|
4,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 6>{{-1, -1, -1, -1, 7, 8}}
|
array<int, 6>{{-1, -1, -1, -1, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(filled),
|
sprout::get_internal(filled),
|
||||||
array<int, 10>{{1, 2, -1, -1, -1, -1, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, -1, -1, -1, -1, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -59,11 +59,11 @@ namespace testspr {
|
||||||
4,
|
4,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
filled,
|
filled,
|
||||||
array<int, 4>{{-1, -1, -1, -1}}
|
array<int, 4>{{-1, -1, -1, -1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(filled),
|
sprout::get_internal(filled),
|
||||||
array<int, 10>{{1, 2, -1, -1, -1, -1, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, -1, -1, -1, -1, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
2
|
2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 10>{{2, 4, 8, 16, 32, 64, 128, 256, 512, 1024}}
|
array<int, 10>{{2, 4, 8, 16, 32, 64, 128, 256, 512, 1024}}
|
||||||
));
|
));
|
||||||
|
@ -31,7 +31,7 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
2
|
2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 10>{{2, 4, 8, 16, 32, 64, 128, 256, 512, 1024}}
|
array<int, 10>{{2, 4, 8, 16, 32, 64, 128, 256, 512, 1024}}
|
||||||
));
|
));
|
||||||
|
@ -44,11 +44,11 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
2
|
2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 6>{{2, 4, 8, 16, 32, 64}}
|
array<int, 6>{{2, 4, 8, 16, 32, 64}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(generated),
|
sprout::get_internal(generated),
|
||||||
array<int, 10>{{1, 2, 2, 4, 8, 16, 32, 64, 9, 10}}
|
array<int, 10>{{1, 2, 2, 4, 8, 16, 32, 64, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -59,11 +59,11 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
2
|
2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 6>{{2, 4, 8, 16, 32, 64}}
|
array<int, 6>{{2, 4, 8, 16, 32, 64}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(generated),
|
sprout::get_internal(generated),
|
||||||
array<int, 10>{{1, 2, 2, 4, 8, 16, 32, 64, 9, 10}}
|
array<int, 10>{{1, 2, 2, 4, 8, 16, 32, 64, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 10>{{1, 2, 4, 8, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 4, 8, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -33,7 +33,7 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 4>{{1, 2, 4, 8}}
|
array<int, 4>{{1, 2, 4, 8}}
|
||||||
));
|
));
|
||||||
|
@ -47,11 +47,11 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 6>{{1, 2, 4, 8, 7, 8}}
|
array<int, 6>{{1, 2, 4, 8, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(generated),
|
sprout::get_internal(generated),
|
||||||
array<int, 10>{{1, 2, 1, 2, 4, 8, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 1, 2, 4, 8, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -63,11 +63,11 @@ namespace testspr {
|
||||||
testspr::x2<int>(),
|
testspr::x2<int>(),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
generated,
|
generated,
|
||||||
array<int, 4>{{1, 2, 4, 8}}
|
array<int, 4>{{1, 2, 4, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(generated),
|
sprout::get_internal(generated),
|
||||||
array<int, 10>{{1, 2, 1, 2, 4, 8, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 1, 2, 4, 8, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
||||||
));
|
));
|
||||||
|
@ -75,7 +75,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -86,7 +86,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -99,11 +99,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
||||||
));
|
));
|
||||||
|
@ -114,11 +114,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
array<int, 6>{{2, 4, 5, 6, 7, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
array<int, 10>{{1, 3, 2, 4, 5, 6, 7, 9, 8, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::make_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::make_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::make_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::make_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::make_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::make_heap(
|
||||||
sprout::sub(arr1, 2, 10)
|
sprout::sub(arr1, 2, 10)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::make_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::make_heap(
|
||||||
sprout::sub(arr1, 2, 10)
|
sprout::sub(arr1, 2, 10)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -70,7 +70,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -80,7 +80,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 9, 8, 6, 7, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -92,11 +92,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 10),
|
sprout::sub(arr1, 2, 10),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -106,11 +106,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 10),
|
sprout::sub(arr1, 2, 10),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 8>{{9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
array<int, 10>{{10, 7, 9, 6, 8, 2, 5, 3, 4, 1}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{5, 4, 1, 3, 2, 10, 9, 8, 7, 6}}
|
array<int, 10>{{5, 4, 1, 3, 2, 10, 9, 8, 7, 6}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 5>{{5, 4, 1, 3, 2}}
|
array<int, 5>{{5, 4, 1, 3, 2}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 10),
|
sprout::sub(arr1, 2, 10),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{3, 1, 2, 9, 8, 6, 5, 4}}
|
array<int, 8>{{3, 1, 2, 9, 8, 6, 5, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 10),
|
sprout::sub(arr1, 2, 10),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 3>{{3, 1, 2}}
|
array<int, 3>{{3, 1, 2}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
||||||
));
|
));
|
||||||
|
@ -75,7 +75,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{5, 4, 1, 3, 2, 10, 9, 8, 7, 6}}
|
array<int, 10>{{5, 4, 1, 3, 2, 10, 9, 8, 7, 6}}
|
||||||
));
|
));
|
||||||
|
@ -86,7 +86,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 5>{{5, 4, 1, 3, 2}}
|
array<int, 5>{{5, 4, 1, 3, 2}}
|
||||||
));
|
));
|
||||||
|
@ -99,11 +99,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{3, 1, 2, 9, 8, 6, 5, 4}}
|
array<int, 8>{{3, 1, 2, 9, 8, 6, 5, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
||||||
));
|
));
|
||||||
|
@ -114,11 +114,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 3>{{3, 1, 2}}
|
array<int, 3>{{3, 1, 2}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
array<int, 10>{{10, 7, 3, 1, 2, 9, 8, 6, 5, 4}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{2, 3, 4, 5, 6, 7, 8, 9, 0, 0}}
|
array<int, 10>{{2, 3, 4, 5, 6, 7, 8, 9, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -38,7 +38,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 8>{{2, 3, 4, 5, 6, 7, 8, 9}}
|
array<int, 8>{{2, 3, 4, 5, 6, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
|
@ -53,7 +53,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{2, 3, 4, 5}}
|
array<int, 4>{{2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -66,7 +66,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{2, 3, 4, 5}}
|
array<int, 4>{{2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -81,11 +81,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -98,11 +98,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -124,7 +124,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{2, 3, 4, 5, 6, 7, 8, 9, 0, 0}}
|
array<int, 10>{{2, 3, 4, 5, 6, 7, 8, 9, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -138,7 +138,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 8>{{2, 3, 4, 5, 6, 7, 8, 9}}
|
array<int, 8>{{2, 3, 4, 5, 6, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
|
@ -154,7 +154,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{2, 3, 4, 5}}
|
array<int, 4>{{2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -168,7 +168,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{2, 3, 4, 5}}
|
array<int, 4>{{2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -184,11 +184,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -202,11 +202,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
array<int, 6>{{2, 3, 4, 5, 6, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
array<int, 10>{{0, 0, 2, 3, 4, 5, 6, 7, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 4
|
sprout::begin(arr1) + 4
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 10>{{2, 4, 1, 3, 5, 10, 9, 8, 7, 6}}
|
array<int, 10>{{2, 4, 1, 3, 5, 10, 9, 8, 7, 6}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 4
|
sprout::begin(arr1) + 4
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 5>{{2, 4, 1, 3, 5}}
|
array<int, 5>{{2, 4, 1, 3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 4
|
sprout::begin(arr1) + 4
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 6>{{2, 3, 5, 9, 8, 6}}
|
array<int, 6>{{2, 3, 5, 9, 8, 6}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(nth),
|
sprout::get_internal(nth),
|
||||||
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 4
|
sprout::begin(arr1) + 4
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 3>{{2, 3, 5}}
|
array<int, 3>{{2, 3, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(nth),
|
sprout::get_internal(nth),
|
||||||
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -75,7 +75,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 4,
|
sprout::begin(arr1) + 4,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 10>{{2, 4, 1, 3, 5, 10, 9, 8, 7, 6}}
|
array<int, 10>{{2, 4, 1, 3, 5, 10, 9, 8, 7, 6}}
|
||||||
));
|
));
|
||||||
|
@ -86,7 +86,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 4,
|
sprout::begin(arr1) + 4,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 5>{{2, 4, 1, 3, 5}}
|
array<int, 5>{{2, 4, 1, 3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -99,11 +99,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 4,
|
sprout::begin(arr1) + 4,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 6>{{2, 3, 5, 9, 8, 6}}
|
array<int, 6>{{2, 3, 5, 9, 8, 6}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(nth),
|
sprout::get_internal(nth),
|
||||||
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -114,11 +114,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 4,
|
sprout::begin(arr1) + 4,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
nth,
|
nth,
|
||||||
array<int, 3>{{2, 3, 5}}
|
array<int, 3>{{2, 3, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(nth),
|
sprout::get_internal(nth),
|
||||||
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
array<int, 10>{{10, 7, 2, 3, 5, 9, 8, 6, 4, 1}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 9, 8, 7, 10, 6}}
|
array<int, 10>{{1, 2, 3, 4, 5, 9, 8, 7, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 9, 8, 7}}
|
array<int, 6>{{2, 3, 4, 9, 8, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 3>{{2, 3, 4}}
|
array<int, 3>{{2, 3, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -75,7 +75,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 9, 8, 7, 10, 6}}
|
array<int, 10>{{1, 2, 3, 4, 5, 9, 8, 7, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -86,7 +86,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 5>{{1, 2, 3, 4, 5}}
|
array<int, 5>{{1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -99,11 +99,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 9, 8, 7}}
|
array<int, 6>{{2, 3, 4, 9, 8, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -114,11 +114,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 5,
|
sprout::begin(arr1) + 5,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 3>{{2, 3, 4}}
|
array<int, 3>{{2, 3, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 9, 8, 7, 10, 6}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 10>{{9, 7, 5, 3, 1, 2, 4, 6, 8, 10}}
|
array<int, 10>{{9, 7, 5, 3, 1, 2, 4, 6, 8, 10}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 5>{{9, 7, 5, 3, 1}}
|
array<int, 5>{{9, 7, 5, 3, 1}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 6>{{7, 5, 3, 4, 6, 8}}
|
array<int, 6>{{7, 5, 3, 4, 6, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{1, 2, 7, 5, 3, 4, 6, 8, 9, 10}}
|
array<int, 10>{{1, 2, 7, 5, 3, 4, 6, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 3>{{7, 5, 3}}
|
array<int, 3>{{7, 5, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{1, 2, 7, 5, 3, 4, 6, 8, 9, 10}}
|
array<int, 10>{{1, 2, 7, 5, 3, 4, 6, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 10>{{7, 5, 3, 4, 6, 8, 0, 0, 0, 0}}
|
array<int, 10>{{7, 5, 3, 4, 6, 8, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -35,7 +35,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 3>{{7, 5, 3}}
|
array<int, 3>{{7, 5, 3}}
|
||||||
));
|
));
|
||||||
|
@ -49,7 +49,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 4>{{5, 3, 4, 6}}
|
array<int, 4>{{5, 3, 4, 6}}
|
||||||
));
|
));
|
||||||
|
@ -61,7 +61,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 2>{{5, 3}}
|
array<int, 2>{{5, 3}}
|
||||||
));
|
));
|
||||||
|
@ -75,11 +75,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 6>{{7, 5, 3, 4, 6, 8}}
|
array<int, 6>{{7, 5, 3, 4, 6, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{0, 0, 7, 5, 3, 4, 6, 8, 0, 0}}
|
array<int, 10>{{0, 0, 7, 5, 3, 4, 6, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -91,11 +91,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 3>{{7, 5, 3}}
|
array<int, 3>{{7, 5, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{0, 0, 7, 5, 3, 4, 6, 8, 0, 0}}
|
array<int, 10>{{0, 0, 7, 5, 3, 4, 6, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::pop_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::pop_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{9, 8, 5, 6, 7, 4, 3, 1, 2, 10}}
|
array<int, 10>{{9, 8, 5, 6, 7, 4, 3, 1, 2, 10}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::pop_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::pop_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 9>{{9, 8, 5, 6, 7, 4, 3, 1, 2}}
|
array<int, 9>{{9, 8, 5, 6, 7, 4, 3, 1, 2}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::pop_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::pop_heap(
|
||||||
sprout::sub(arr1, 2, 10)
|
sprout::sub(arr1, 2, 10)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{7, 6, 4, 5, 3, 1, 2, 9}}
|
array<int, 8>{{7, 6, 4, 5, 3, 1, 2, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 8, 7, 6, 4, 5, 3, 1, 2, 9}}
|
array<int, 10>{{10, 8, 7, 6, 4, 5, 3, 1, 2, 9}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::pop_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::pop_heap(
|
||||||
sprout::sub(arr1, 2, 10)
|
sprout::sub(arr1, 2, 10)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 7>{{7, 6, 4, 5, 3, 1, 2}}
|
array<int, 7>{{7, 6, 4, 5, 3, 1, 2}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 8, 7, 6, 4, 5, 3, 1, 2, 9}}
|
array<int, 10>{{10, 8, 7, 6, 4, 5, 3, 1, 2, 9}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::push_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::push_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::push_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::push_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::push_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::push_heap(
|
||||||
sprout::sub(arr1, 2, 10)
|
sprout::sub(arr1, 2, 10)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::push_heap(
|
SPROUT_STATIC_CONSTEXPR auto heap = sprout::fit::push_heap(
|
||||||
sprout::sub(arr1, 2, 10)
|
sprout::sub(arr1, 2, 10)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
|
@ -70,7 +70,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
||||||
));
|
));
|
||||||
|
@ -80,7 +80,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
array<int, 10>{{10, 8, 9, 6, 7, 5, 3, 1, 2, 4}}
|
||||||
));
|
));
|
||||||
|
@ -92,11 +92,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 10),
|
sprout::sub(arr1, 2, 10),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
|
@ -106,11 +106,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 10),
|
sprout::sub(arr1, 2, 10),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
heap,
|
heap,
|
||||||
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 8>{{9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(heap),
|
sprout::get_internal(heap),
|
||||||
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
array<int, 10>{{10, 8, 9, 7, 4, 6, 3, 1, 2, 5}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 10>{{1, 3, 5, 7, 9, 0, 7, 0, 9, 0}}
|
array<int, 10>{{1, 3, 5, 7, 9, 0, 7, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 5>{{1, 3, 5, 7, 9}}
|
array<int, 5>{{1, 3, 5, 7, 9}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 6>{{3, 5, 7, 0, 7, 0}}
|
array<int, 6>{{3, 5, 7, 0, 7, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{1, 0, 3, 5, 7, 0, 7, 0, 9, 0}}
|
array<int, 10>{{1, 0, 3, 5, 7, 0, 7, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{1, 0, 3, 5, 7, 0, 7, 0, 9, 0}}
|
array<int, 10>{{1, 0, 3, 5, 7, 0, 7, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 10>{{3, 5, 7, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{3, 5, 7, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -35,7 +35,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
|
@ -49,7 +49,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 2>{{3, 5}}
|
array<int, 2>{{3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -61,7 +61,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 2>{{3, 5}}
|
array<int, 2>{{3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -75,11 +75,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 6>{{3, 5, 7, 0, 0, 0}}
|
array<int, 6>{{3, 5, 7, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -91,11 +91,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 10>{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -35,7 +35,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 3>{{0, 0, 0}}
|
array<int, 3>{{0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -49,7 +49,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 2>{{0, 0}}
|
array<int, 2>{{0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -61,7 +61,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 2>{{0, 0}}
|
array<int, 2>{{0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -75,11 +75,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 6>{{0, 0, 0, 0, 0, 0}}
|
array<int, 6>{{0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -91,11 +91,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 3>{{0, 0, 0}}
|
array<int, 3>{{0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 10>{{0, 0, 0, 0, 0, 0, 7, 0, 9, 0}}
|
array<int, 10>{{0, 0, 0, 0, 0, 0, 7, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 5>{{0, 0, 0, 0, 0}}
|
array<int, 5>{{0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 6>{{0, 0, 0, 0, 7, 0}}
|
array<int, 6>{{0, 0, 0, 0, 7, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{1, 0, 0, 0, 0, 0, 7, 0, 9, 0}}
|
array<int, 10>{{1, 0, 0, 0, 0, 0, 7, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
removed,
|
removed,
|
||||||
array<int, 3>{{0, 0, 0}}
|
array<int, 3>{{0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(removed),
|
sprout::get_internal(removed),
|
||||||
array<int, 10>{{1, 0, 0, 0, 0, 0, 7, 0, 9, 0}}
|
array<int, 10>{{1, 0, 0, 0, 0, 0, 7, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 10>{{1, -1, 3, -1, 5, -1, 7, -1, 9, -1}}
|
array<int, 10>{{1, -1, 3, -1, 5, -1, 7, -1, 9, -1}}
|
||||||
));
|
));
|
||||||
|
@ -31,7 +31,7 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 10>{{1, -1, 3, -1, 5, -1, 7, -1, 9, -1}}
|
array<int, 10>{{1, -1, 3, -1, 5, -1, 7, -1, 9, -1}}
|
||||||
));
|
));
|
||||||
|
@ -44,11 +44,11 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{1, 0, 3, -1, 5, -1, 7, -1, 9, 0}}
|
array<int, 10>{{1, 0, 3, -1, 5, -1, 7, -1, 9, 0}}
|
||||||
));
|
));
|
||||||
|
@ -59,11 +59,11 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{1, 0, 3, -1, 5, -1, 7, -1, 9, 0}}
|
array<int, 10>{{1, 0, 3, -1, 5, -1, 7, -1, 9, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 10>{{3, -1, 5, -1, 7, -1, 0, 0, 0, 0}}
|
array<int, 10>{{3, -1, 5, -1, 7, -1, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -37,7 +37,7 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
||||||
));
|
));
|
||||||
|
@ -52,7 +52,7 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 4>{{3, -1, 5, -1}}
|
array<int, 4>{{3, -1, 5, -1}}
|
||||||
));
|
));
|
||||||
|
@ -65,7 +65,7 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 4>{{3, -1, 5, -1}}
|
array<int, 4>{{3, -1, 5, -1}}
|
||||||
));
|
));
|
||||||
|
@ -80,11 +80,11 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{0, 0, 3, -1, 5, -1, 7, -1, 0, 0}}
|
array<int, 10>{{0, 0, 3, -1, 5, -1, 7, -1, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -97,11 +97,11 @@ namespace testspr {
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
array<int, 6>{{3, -1, 5, -1, 7, -1}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{0, 0, 3, -1, 5, -1, 7, -1, 0, 0}}
|
array<int, 10>{{0, 0, 3, -1, 5, -1, 7, -1, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 10>{{-1, 0, -1, 0, -1, 0, 0, 0, 0, 0}}
|
array<int, 10>{{-1, 0, -1, 0, -1, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -37,7 +37,7 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
|
@ -52,7 +52,7 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 4>{{-1, 0, -1, 0}}
|
array<int, 4>{{-1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
|
@ -65,7 +65,7 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 4>{{-1, 0, -1, 0}}
|
array<int, 4>{{-1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
|
@ -80,11 +80,11 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{0, 0, -1, 0, -1, 0, -1, 0, 0, 0}}
|
array<int, 10>{{0, 0, -1, 0, -1, 0, -1, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -97,11 +97,11 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{0, 0, -1, 0, -1, 0, -1, 0, 0, 0}}
|
array<int, 10>{{0, 0, -1, 0, -1, 0, -1, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 10>{{-1, 0, -1, 0, -1, 0, -1, 0, -1, 0}}
|
array<int, 10>{{-1, 0, -1, 0, -1, 0, -1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
|
@ -31,7 +31,7 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 10>{{-1, 0, -1, 0, -1, 0, -1, 0, -1, 0}}
|
array<int, 10>{{-1, 0, -1, 0, -1, 0, -1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
|
@ -44,11 +44,11 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{1, 0, -1, 0, -1, 0, -1, 0, 9, 0}}
|
array<int, 10>{{1, 0, -1, 0, -1, 0, -1, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
@ -59,11 +59,11 @@ namespace testspr {
|
||||||
is_odd<int>(),
|
is_odd<int>(),
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
replaced,
|
replaced,
|
||||||
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
array<int, 6>{{-1, 0, -1, 0, -1, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(replaced),
|
sprout::get_internal(replaced),
|
||||||
array<int, 10>{{1, 0, -1, 0, -1, 0, -1, 0, 9, 0}}
|
array<int, 10>{{1, 0, -1, 0, -1, 0, -1, 0, 9, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::reverse(
|
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::reverse(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 10>{{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}}
|
array<int, 10>{{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::fit::reverse(
|
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::fit::reverse(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 10>{{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}}
|
array<int, 10>{{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::reverse(
|
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::reverse(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(reversed),
|
sprout::get_internal(reversed),
|
||||||
array<int, 10>{{1, 2, 8, 7, 6, 5, 4, 3, 9, 10}}
|
array<int, 10>{{1, 2, 8, 7, 6, 5, 4, 3, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::fit::reverse(
|
SPROUT_STATIC_CONSTEXPR auto reversed = sprout::fit::reverse(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(reversed),
|
sprout::get_internal(reversed),
|
||||||
array<int, 10>{{1, 2, 8, 7, 6, 5, 4, 3, 9, 10}}
|
array<int, 10>{{1, 2, 8, 7, 6, 5, 4, 3, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 10>{{8, 7, 6, 5, 4, 3, 0, 0, 0, 0}}
|
array<int, 10>{{8, 7, 6, 5, 4, 3, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -33,7 +33,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
||||||
));
|
));
|
||||||
|
@ -46,7 +46,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 4>{{8, 7, 6, 5}}
|
array<int, 4>{{8, 7, 6, 5}}
|
||||||
));
|
));
|
||||||
|
@ -57,7 +57,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 4>{{8, 7, 6, 5}}
|
array<int, 4>{{8, 7, 6, 5}}
|
||||||
));
|
));
|
||||||
|
@ -70,11 +70,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(reversed),
|
sprout::get_internal(reversed),
|
||||||
array<int, 10>{{0, 0, 8, 7, 6, 5, 4, 3, 0, 0}}
|
array<int, 10>{{0, 0, 8, 7, 6, 5, 4, 3, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -85,11 +85,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
reversed,
|
reversed,
|
||||||
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
array<int, 6>{{8, 7, 6, 5, 4, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(reversed),
|
sprout::get_internal(reversed),
|
||||||
array<int, 10>{{0, 0, 8, 7, 6, 5, 4, 3, 0, 0}}
|
array<int, 10>{{0, 0, 8, 7, 6, 5, 4, 3, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 10>{{6, 7, 8, 9, 10, 1, 2, 3, 4, 5}}
|
array<int, 10>{{6, 7, 8, 9, 10, 1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 10>{{6, 7, 8, 9, 10, 1, 2, 3, 4, 5}}
|
array<int, 10>{{6, 7, 8, 9, 10, 1, 2, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(rotated),
|
sprout::get_internal(rotated),
|
||||||
array<int, 10>{{1, 2, 6, 7, 8, 3, 4, 5, 9, 10}}
|
array<int, 10>{{1, 2, 6, 7, 8, 3, 4, 5, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::begin(arr1) + 5
|
sprout::begin(arr1) + 5
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(rotated),
|
sprout::get_internal(rotated),
|
||||||
array<int, 10>{{1, 2, 6, 7, 8, 3, 4, 5, 9, 10}}
|
array<int, 10>{{1, 2, 6, 7, 8, 3, 4, 5, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 10>{{6, 7, 8, 3, 4, 5, 0, 0, 0, 0}}
|
array<int, 10>{{6, 7, 8, 3, 4, 5, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -35,7 +35,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
|
@ -49,7 +49,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 4>{{6, 7, 8, 3}}
|
array<int, 4>{{6, 7, 8, 3}}
|
||||||
));
|
));
|
||||||
|
@ -61,7 +61,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 4>{{6, 7, 8, 3}}
|
array<int, 4>{{6, 7, 8, 3}}
|
||||||
));
|
));
|
||||||
|
@ -75,11 +75,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(rotated),
|
sprout::get_internal(rotated),
|
||||||
array<int, 10>{{0, 0, 6, 7, 8, 3, 4, 5, 0, 0}}
|
array<int, 10>{{0, 0, 6, 7, 8, 3, 4, 5, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -91,11 +91,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
rotated,
|
rotated,
|
||||||
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
array<int, 6>{{6, 7, 8, 3, 4, 5}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(rotated),
|
sprout::get_internal(rotated),
|
||||||
array<int, 10>{{0, 0, 6, 7, 8, 3, 4, 5, 0, 0}}
|
array<int, 10>{{0, 0, 6, 7, 8, 3, 4, 5, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{5, 15, 25, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{5, 15, 25, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -38,7 +38,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{5, 15, 25}}
|
array<int, 3>{{5, 15, 25}}
|
||||||
));
|
));
|
||||||
|
@ -53,7 +53,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{5, 15}}
|
array<int, 2>{{5, 15}}
|
||||||
));
|
));
|
||||||
|
@ -66,7 +66,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{5, 15}}
|
array<int, 2>{{5, 15}}
|
||||||
));
|
));
|
||||||
|
@ -81,11 +81,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 0, 0, 0}}
|
array<int, 6>{{5, 15, 25, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -98,11 +98,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{5, 15, 25}}
|
array<int, 3>{{5, 15, 25}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -124,7 +124,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{5, 15, 25, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{5, 15, 25, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -138,7 +138,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{5, 15, 25}}
|
array<int, 3>{{5, 15, 25}}
|
||||||
));
|
));
|
||||||
|
@ -154,7 +154,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{5, 15}}
|
array<int, 2>{{5, 15}}
|
||||||
));
|
));
|
||||||
|
@ -168,7 +168,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{5, 15}}
|
array<int, 2>{{5, 15}}
|
||||||
));
|
));
|
||||||
|
@ -184,11 +184,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 0, 0, 0}}
|
array<int, 6>{{5, 15, 25, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -202,11 +202,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{5, 15, 25}}
|
array<int, 3>{{5, 15, 25}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{20, 30, 40, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{20, 30, 40, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -38,7 +38,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{20, 30, 40}}
|
array<int, 3>{{20, 30, 40}}
|
||||||
));
|
));
|
||||||
|
@ -53,7 +53,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{20, 30}}
|
array<int, 2>{{20, 30}}
|
||||||
));
|
));
|
||||||
|
@ -66,7 +66,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{20, 30}}
|
array<int, 2>{{20, 30}}
|
||||||
));
|
));
|
||||||
|
@ -81,11 +81,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{20, 30, 40, 0, 0, 0}}
|
array<int, 6>{{20, 30, 40, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -98,11 +98,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{20, 30, 40}}
|
array<int, 3>{{20, 30, 40}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -124,7 +124,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{20, 30, 40, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{20, 30, 40, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -138,7 +138,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{20, 30, 40}}
|
array<int, 3>{{20, 30, 40}}
|
||||||
));
|
));
|
||||||
|
@ -154,7 +154,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{20, 30}}
|
array<int, 2>{{20, 30}}
|
||||||
));
|
));
|
||||||
|
@ -168,7 +168,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 2>{{20, 30}}
|
array<int, 2>{{20, 30}}
|
||||||
));
|
));
|
||||||
|
@ -184,11 +184,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{20, 30, 40, 0, 0, 0}}
|
array<int, 6>{{20, 30, 40, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -202,11 +202,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 3>{{20, 30, 40}}
|
array<int, 3>{{20, 30, 40}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 20, 30, 40, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{5, 15, 25, 30, 40, 50, 0, 0, 0, 0}}
|
array<int, 10>{{5, 15, 25, 30, 40, 50, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -38,7 +38,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
|
@ -53,7 +53,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 15, 25, 30}}
|
array<int, 4>{{5, 15, 25, 30}}
|
||||||
));
|
));
|
||||||
|
@ -66,7 +66,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 15, 25, 30}}
|
array<int, 4>{{5, 15, 25, 30}}
|
||||||
));
|
));
|
||||||
|
@ -81,11 +81,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -98,11 +98,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -124,7 +124,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{5, 15, 25, 30, 40, 50, 0, 0, 0, 0}}
|
array<int, 10>{{5, 15, 25, 30, 40, 50, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -138,7 +138,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
|
@ -154,7 +154,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 15, 25, 30}}
|
array<int, 4>{{5, 15, 25, 30}}
|
||||||
));
|
));
|
||||||
|
@ -168,7 +168,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 15, 25, 30}}
|
array<int, 4>{{5, 15, 25, 30}}
|
||||||
));
|
));
|
||||||
|
@ -184,11 +184,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -202,11 +202,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
array<int, 6>{{5, 15, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
array<int, 10>{{0, 0, 5, 15, 25, 30, 40, 50, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{5, 10, 15, 20, 25, 30, 40, 50, 0, 0}}
|
array<int, 10>{{5, 10, 15, 20, 25, 30, 40, 50, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -38,7 +38,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 8>{{5, 10, 15, 20, 25, 30, 40, 50}}
|
array<int, 8>{{5, 10, 15, 20, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
|
@ -53,7 +53,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 10, 15, 20}}
|
array<int, 4>{{5, 10, 15, 20}}
|
||||||
));
|
));
|
||||||
|
@ -66,7 +66,7 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 10, 15, 20}}
|
array<int, 4>{{5, 10, 15, 20}}
|
||||||
));
|
));
|
||||||
|
@ -81,11 +81,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -98,11 +98,11 @@ namespace testspr {
|
||||||
sprout::end(arr1_2),
|
sprout::end(arr1_2),
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -124,7 +124,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 10>{{5, 10, 15, 20, 25, 30, 40, 50, 0, 0}}
|
array<int, 10>{{5, 10, 15, 20, 25, 30, 40, 50, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -138,7 +138,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 8>{{5, 10, 15, 20, 25, 30, 40, 50}}
|
array<int, 8>{{5, 10, 15, 20, 25, 30, 40, 50}}
|
||||||
));
|
));
|
||||||
|
@ -154,7 +154,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 10, 15, 20}}
|
array<int, 4>{{5, 10, 15, 20}}
|
||||||
));
|
));
|
||||||
|
@ -168,7 +168,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 4>{{5, 10, 15, 20}}
|
array<int, 4>{{5, 10, 15, 20}}
|
||||||
));
|
));
|
||||||
|
@ -184,11 +184,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -202,11 +202,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
merged,
|
merged,
|
||||||
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
array<int, 6>{{5, 10, 15, 20, 25, 30}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(merged),
|
sprout::get_internal(merged),
|
||||||
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
array<int, 10>{{0, 0, 5, 10, 15, 20, 25, 30, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
shuffled,
|
shuffled,
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
@ -31,7 +31,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
shuffled,
|
shuffled,
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
@ -43,11 +43,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
shuffled,
|
shuffled,
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get_internal(shuffled),
|
sprout::get_internal(shuffled),
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
@ -57,11 +57,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
sprout::random::default_random_engine(SPROUT_UNIQUE_SEED)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
shuffled,
|
shuffled,
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get_internal(shuffled),
|
sprout::get_internal(shuffled),
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
@ -30,14 +30,14 @@ namespace testspr {
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto shuffled = sprout::fit::shuffle_result(
|
SPROUT_STATIC_CONSTEXPR auto shuffled = sprout::fit::shuffle_result(
|
||||||
arr1,
|
arr1,
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
@ -45,7 +45,7 @@ namespace testspr {
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
||||||
}
|
}
|
||||||
// シャッフル
|
// シャッフル
|
||||||
// 範囲の切り出し
|
// 範囲の切り出し
|
||||||
|
@ -54,11 +54,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get_internal(sprout::get<0>(shuffled)),
|
sprout::get_internal(sprout::get<0>(shuffled)),
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
@ -66,18 +66,18 @@ namespace testspr {
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto shuffled = sprout::fit::shuffle_result(
|
SPROUT_STATIC_CONSTEXPR auto shuffled = sprout::fit::shuffle_result(
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::is_permutation(
|
TESTSPR_BOTH_ASSERT(testspr::is_permutation(
|
||||||
sprout::get_internal(sprout::get<0>(shuffled)),
|
sprout::get_internal(sprout::get<0>(shuffled)),
|
||||||
arr1
|
arr1
|
||||||
));
|
));
|
||||||
|
@ -85,7 +85,7 @@ namespace testspr {
|
||||||
sprout::get<0>(shuffled),
|
sprout::get<0>(shuffled),
|
||||||
g
|
g
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
TESTSPR_BOTH_ASSERT(sprout::get<1>(shuffled) == sprout::get<1>(shuffled2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -70,7 +70,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -80,7 +80,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -92,11 +92,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -106,11 +106,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort_heap(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort_heap(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort_heap(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort_heap(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::sort_heap(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort_heap(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::sort_heap(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -70,7 +70,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -80,7 +80,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -92,11 +92,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
||||||
));
|
));
|
||||||
|
@ -106,11 +106,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::less<int>()
|
testspr::less<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
array<int, 6>{{2, 3, 5, 6, 7, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
array<int, 10>{{10, 9, 2, 3, 5, 6, 7, 8, 4, 1}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 10>{{1, 3, 5, 7, 9, 2, 4, 6, 8, 10}}
|
array<int, 10>{{1, 3, 5, 7, 9, 2, 4, 6, 8, 10}}
|
||||||
));
|
));
|
||||||
|
@ -29,7 +29,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 5>{{1, 3, 5, 7, 9}}
|
array<int, 5>{{1, 3, 5, 7, 9}}
|
||||||
));
|
));
|
||||||
|
@ -41,11 +41,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 6>{{3, 5, 7, 4, 6, 8}}
|
array<int, 6>{{3, 5, 7, 4, 6, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{1, 2, 3, 5, 7, 4, 6, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 5, 7, 4, 6, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -55,11 +55,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::is_odd<int>()
|
testspr::is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{1, 2, 3, 5, 7, 4, 6, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 5, 7, 4, 6, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 10>{{3, 5, 7, 4, 6, 8, 0, 0, 0, 0}}
|
array<int, 10>{{3, 5, 7, 4, 6, 8, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -35,7 +35,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
|
@ -49,7 +49,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 4>{{3, 5, 7, 4}}
|
array<int, 4>{{3, 5, 7, 4}}
|
||||||
));
|
));
|
||||||
|
@ -61,7 +61,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
|
@ -75,11 +75,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 6>{{3, 5, 7, 4, 6, 8}}
|
array<int, 6>{{3, 5, 7, 4, 6, 8}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 4, 6, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 4, 6, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -91,11 +91,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
is_odd<int>()
|
is_odd<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
partitioned,
|
partitioned,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(partitioned),
|
sprout::get_internal(partitioned),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 4, 6, 8, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 4, 6, 8, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::stable_sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::stable_sort(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::stable_sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::stable_sort(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
array<int, 10>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::stable_sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::stable_sort(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::stable_sort(
|
SPROUT_STATIC_CONSTEXPR auto sorted = sprout::fit::stable_sort(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
array<int, 6>{{2, 3, 4, 7, 8, 9}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
array<int, 10>{{5, 1, 2, 3, 4, 7, 8, 9, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -70,7 +70,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::mod_less<int, 5>()
|
testspr::mod_less<int, 5>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{5, 10, 1, 6, 2, 7, 8, 3, 9, 4}}
|
array<int, 10>{{5, 10, 1, 6, 2, 7, 8, 3, 9, 4}}
|
||||||
));
|
));
|
||||||
|
@ -80,7 +80,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::mod_less<int, 5>()
|
testspr::mod_less<int, 5>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 10>{{5, 10, 1, 6, 2, 7, 8, 3, 9, 4}}
|
array<int, 10>{{5, 10, 1, 6, 2, 7, 8, 3, 9, 4}}
|
||||||
));
|
));
|
||||||
|
@ -92,11 +92,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::mod_less<int, 5>()
|
testspr::mod_less<int, 5>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 7, 8, 3, 9, 4}}
|
array<int, 6>{{2, 7, 8, 3, 9, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 7, 8, 3, 9, 4, 10, 6}}
|
array<int, 10>{{5, 1, 2, 7, 8, 3, 9, 4, 10, 6}}
|
||||||
));
|
));
|
||||||
|
@ -106,11 +106,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::mod_less<int, 5>()
|
testspr::mod_less<int, 5>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sorted,
|
sorted,
|
||||||
array<int, 6>{{2, 7, 8, 3, 9, 4}}
|
array<int, 6>{{2, 7, 8, 3, 9, 4}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(sorted),
|
sprout::get_internal(sorted),
|
||||||
array<int, 10>{{5, 1, 2, 7, 8, 3, 9, 4, 10, 6}}
|
array<int, 10>{{5, 1, 2, 7, 8, 3, 9, 4, 10, 6}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -31,7 +31,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -44,11 +44,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(swapped),
|
sprout::get_internal(swapped),
|
||||||
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
||||||
));
|
));
|
||||||
|
@ -59,11 +59,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(swapped),
|
sprout::get_internal(swapped),
|
||||||
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
array<int, 10>{{1, 2, 8, 4, 5, 6, 7, 3, 9, 10}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 10>{{8, 4, 5, 6, 7, 3, 0, 0, 0, 0}}
|
array<int, 10>{{8, 4, 5, 6, 7, 3, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -37,7 +37,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
||||||
));
|
));
|
||||||
|
@ -52,7 +52,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 4>{{8, 4, 5, 6}}
|
array<int, 4>{{8, 4, 5, 6}}
|
||||||
));
|
));
|
||||||
|
@ -65,7 +65,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 4>{{8, 4, 5, 6}}
|
array<int, 4>{{8, 4, 5, 6}}
|
||||||
));
|
));
|
||||||
|
@ -80,11 +80,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(swapped),
|
sprout::get_internal(swapped),
|
||||||
array<int, 10>{{0, 0, 8, 4, 5, 6, 7, 3, 0, 0}}
|
array<int, 10>{{0, 0, 8, 4, 5, 6, 7, 3, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -97,11 +97,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 2,
|
sprout::begin(arr1) + 2,
|
||||||
sprout::begin(arr1) + 7
|
sprout::begin(arr1) + 7
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
swapped,
|
swapped,
|
||||||
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
array<int, 6>{{8, 4, 5, 6, 7, 3}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(swapped),
|
sprout::get_internal(swapped),
|
||||||
array<int, 10>{{0, 0, 8, 4, 5, 6, 7, 3, 0, 0}}
|
array<int, 10>{{0, 0, 8, 4, 5, 6, 7, 3, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::x2<int>()
|
testspr::x2<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 10>{{6, 8, 10, 12, 14, 16, 0, 0, 0, 0}}
|
array<int, 10>{{6, 8, 10, 12, 14, 16, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -35,7 +35,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::x2<int>()
|
testspr::x2<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
||||||
));
|
));
|
||||||
|
@ -49,7 +49,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::x2<int>()
|
testspr::x2<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 4>{{6, 8, 10, 12}}
|
array<int, 4>{{6, 8, 10, 12}}
|
||||||
));
|
));
|
||||||
|
@ -61,7 +61,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::x2<int>()
|
testspr::x2<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 4>{{6, 8, 10, 12}}
|
array<int, 4>{{6, 8, 10, 12}}
|
||||||
));
|
));
|
||||||
|
@ -75,11 +75,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::x2<int>()
|
testspr::x2<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(transformed),
|
sprout::get_internal(transformed),
|
||||||
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -91,11 +91,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::x2<int>()
|
testspr::x2<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(transformed),
|
sprout::get_internal(transformed),
|
||||||
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -116,7 +116,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::plus<int>()
|
testspr::plus<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 10>{{6, 8, 10, 12, 14, 16, 0, 0, 0, 0}}
|
array<int, 10>{{6, 8, 10, 12, 14, 16, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -129,7 +129,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::plus<int>()
|
testspr::plus<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
||||||
));
|
));
|
||||||
|
@ -144,7 +144,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::plus<int>()
|
testspr::plus<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 4>{{6, 8, 10, 12}}
|
array<int, 4>{{6, 8, 10, 12}}
|
||||||
));
|
));
|
||||||
|
@ -157,7 +157,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::plus<int>()
|
testspr::plus<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 4>{{6, 8, 10, 12}}
|
array<int, 4>{{6, 8, 10, 12}}
|
||||||
));
|
));
|
||||||
|
@ -172,11 +172,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::plus<int>()
|
testspr::plus<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(transformed),
|
sprout::get_internal(transformed),
|
||||||
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -189,11 +189,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::plus<int>()
|
testspr::plus<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
transformed,
|
transformed,
|
||||||
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
array<int, 6>{{6, 8, 10, 12, 14, 16}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(transformed),
|
sprout::get_internal(transformed),
|
||||||
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
array<int, 10>{{0, 0, 6, 8, 10, 12, 14, 16, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::unique(
|
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::unique(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 10>{{1, 3, 5, 7, 9, 5, 7, 7, 9, 9}}
|
array<int, 10>{{1, 3, 5, 7, 9, 5, 7, 7, 9, 9}}
|
||||||
));
|
));
|
||||||
|
@ -27,7 +27,7 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::fit::unique(
|
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::fit::unique(
|
||||||
arr1
|
arr1
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 5>{{1, 3, 5, 7, 9}}
|
array<int, 5>{{1, 3, 5, 7, 9}}
|
||||||
));
|
));
|
||||||
|
@ -38,11 +38,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::unique(
|
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::unique(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 6>{{3, 5, 7, 5, 7, 7}}
|
array<int, 6>{{3, 5, 7, 5, 7, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
||||||
));
|
));
|
||||||
|
@ -51,11 +51,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::fit::unique(
|
SPROUT_STATIC_CONSTEXPR auto uniqued = sprout::fit::unique(
|
||||||
sprout::sub(arr1, 2, 8)
|
sprout::sub(arr1, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
||||||
));
|
));
|
||||||
|
@ -70,7 +70,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 10>{{1, 3, 5, 7, 9, 5, 7, 7, 9, 9}}
|
array<int, 10>{{1, 3, 5, 7, 9, 5, 7, 7, 9, 9}}
|
||||||
));
|
));
|
||||||
|
@ -80,7 +80,7 @@ namespace testspr {
|
||||||
arr1,
|
arr1,
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 5>{{1, 3, 5, 7, 9}}
|
array<int, 5>{{1, 3, 5, 7, 9}}
|
||||||
));
|
));
|
||||||
|
@ -92,11 +92,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 6>{{3, 5, 7, 5, 7, 7}}
|
array<int, 6>{{3, 5, 7, 5, 7, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
||||||
));
|
));
|
||||||
|
@ -106,11 +106,11 @@ namespace testspr {
|
||||||
sprout::sub(arr1, 2, 8),
|
sprout::sub(arr1, 2, 8),
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
array<int, 10>{{1, 1, 3, 5, 7, 5, 7, 7, 9, 9}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 10>{{3, 5, 7, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{3, 5, 7, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -33,7 +33,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr2
|
arr2
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
|
@ -46,7 +46,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 2>{{3, 5}}
|
array<int, 2>{{3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -57,7 +57,7 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
arr3
|
arr3
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 2>{{3, 5}}
|
array<int, 2>{{3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -70,11 +70,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 6>{{3, 5, 7, 0, 0, 0}}
|
array<int, 6>{{3, 5, 7, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -85,11 +85,11 @@ namespace testspr {
|
||||||
sprout::begin(arr1) + 8,
|
sprout::begin(arr1) + 8,
|
||||||
sprout::sub(arr2, 2, 8)
|
sprout::sub(arr2, 2, 8)
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -108,7 +108,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 10>{{3, 5, 7, 0, 0, 0, 0, 0, 0, 0}}
|
array<int, 10>{{3, 5, 7, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -120,7 +120,7 @@ namespace testspr {
|
||||||
arr2,
|
arr2,
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
|
@ -134,7 +134,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 2>{{3, 5}}
|
array<int, 2>{{3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -146,7 +146,7 @@ namespace testspr {
|
||||||
arr3,
|
arr3,
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 2>{{3, 5}}
|
array<int, 2>{{3, 5}}
|
||||||
));
|
));
|
||||||
|
@ -160,11 +160,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 6>{{3, 5, 7, 0, 0, 0}}
|
array<int, 6>{{3, 5, 7, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
@ -176,11 +176,11 @@ namespace testspr {
|
||||||
sprout::sub(arr2, 2, 8),
|
sprout::sub(arr2, 2, 8),
|
||||||
testspr::equal_to<int>()
|
testspr::equal_to<int>()
|
||||||
);
|
);
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
uniqued,
|
uniqued,
|
||||||
array<int, 3>{{3, 5, 7}}
|
array<int, 3>{{3, 5, 7}}
|
||||||
));
|
));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(
|
TESTSPR_BOTH_ASSERT(testspr::equal(
|
||||||
sprout::get_internal(uniqued),
|
sprout::get_internal(uniqued),
|
||||||
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
array<int, 10>{{0, 0, 3, 5, 7, 0, 0, 0, 0, 0}}
|
||||||
));
|
));
|
||||||
|
|
|
@ -14,74 +14,74 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto arr2 = sprout::make_array<int>(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
|
SPROUT_STATIC_CONSTEXPR auto arr2 = sprout::make_array<int>(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
|
||||||
SPROUT_STATIC_CONSTEXPR auto arr3 = sprout::make_common_array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
|
SPROUT_STATIC_CONSTEXPR auto arr3 = sprout::make_common_array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
|
||||||
|
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(carr, arr1));
|
TESTSPR_BOTH_ASSERT(testspr::equal(carr, arr1));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(carr, arr2));
|
TESTSPR_BOTH_ASSERT(testspr::equal(carr, arr2));
|
||||||
TESTSPR_DOUBLE_ASSERT(testspr::equal(carr, arr3));
|
TESTSPR_BOTH_ASSERT(testspr::equal(carr, arr3));
|
||||||
|
|
||||||
// begin
|
// begin
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *arr1.begin());
|
TESTSPR_BOTH_ASSERT(carr[0] == *arr1.begin());
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *arr2.begin());
|
TESTSPR_BOTH_ASSERT(carr[0] == *arr2.begin());
|
||||||
|
|
||||||
// cbegin
|
// cbegin
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *arr1.cbegin());
|
TESTSPR_BOTH_ASSERT(carr[0] == *arr1.cbegin());
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *arr2.cbegin());
|
TESTSPR_BOTH_ASSERT(carr[0] == *arr2.cbegin());
|
||||||
|
|
||||||
// end
|
// end
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *(arr1.end() - 1));
|
TESTSPR_BOTH_ASSERT(carr[9] == *(arr1.end() - 1));
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *(arr2.end() - 1));
|
TESTSPR_BOTH_ASSERT(carr[9] == *(arr2.end() - 1));
|
||||||
|
|
||||||
// cend
|
// cend
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *(arr1.cend() - 1));
|
TESTSPR_BOTH_ASSERT(carr[9] == *(arr1.cend() - 1));
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *(arr2.cend() - 1));
|
TESTSPR_BOTH_ASSERT(carr[9] == *(arr2.cend() - 1));
|
||||||
|
|
||||||
// rbegin
|
// rbegin
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *arr1.rbegin());
|
TESTSPR_BOTH_ASSERT(carr[9] == *arr1.rbegin());
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *arr2.rbegin());
|
TESTSPR_BOTH_ASSERT(carr[9] == *arr2.rbegin());
|
||||||
|
|
||||||
// crbegin
|
// crbegin
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *arr1.crbegin());
|
TESTSPR_BOTH_ASSERT(carr[9] == *arr1.crbegin());
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == *arr2.crbegin());
|
TESTSPR_BOTH_ASSERT(carr[9] == *arr2.crbegin());
|
||||||
|
|
||||||
// rend
|
// rend
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *(arr1.rend() - 1));
|
TESTSPR_BOTH_ASSERT(carr[0] == *(arr1.rend() - 1));
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *(arr2.rend() - 1));
|
TESTSPR_BOTH_ASSERT(carr[0] == *(arr2.rend() - 1));
|
||||||
|
|
||||||
// crend
|
// crend
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *(arr1.crend() - 1));
|
TESTSPR_BOTH_ASSERT(carr[0] == *(arr1.crend() - 1));
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *(arr2.crend() - 1));
|
TESTSPR_BOTH_ASSERT(carr[0] == *(arr2.crend() - 1));
|
||||||
|
|
||||||
// size
|
// size
|
||||||
TESTSPR_DOUBLE_ASSERT(arr1.size() == 10);
|
TESTSPR_BOTH_ASSERT(arr1.size() == 10);
|
||||||
TESTSPR_DOUBLE_ASSERT(arr2.size() == 10);
|
TESTSPR_BOTH_ASSERT(arr2.size() == 10);
|
||||||
|
|
||||||
// empty
|
// empty
|
||||||
TESTSPR_DOUBLE_ASSERT(!arr1.empty());
|
TESTSPR_BOTH_ASSERT(!arr1.empty());
|
||||||
TESTSPR_DOUBLE_ASSERT(!arr2.empty());
|
TESTSPR_BOTH_ASSERT(!arr2.empty());
|
||||||
TESTSPR_DOUBLE_ASSERT((array<int, 0>{{}}.empty()));
|
TESTSPR_BOTH_ASSERT((array<int, 0>{{}}.empty()));
|
||||||
|
|
||||||
// max_size
|
// max_size
|
||||||
TESTSPR_DOUBLE_ASSERT(arr1.max_size() == 10);
|
TESTSPR_BOTH_ASSERT(arr1.max_size() == 10);
|
||||||
TESTSPR_DOUBLE_ASSERT(arr2.max_size() == 10);
|
TESTSPR_BOTH_ASSERT(arr2.max_size() == 10);
|
||||||
|
|
||||||
// operator[]
|
// operator[]
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == arr1[0]);
|
TESTSPR_BOTH_ASSERT(carr[0] == arr1[0]);
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == arr2[0]);
|
TESTSPR_BOTH_ASSERT(carr[0] == arr2[0]);
|
||||||
|
|
||||||
// at
|
// at
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == arr1.at(0));
|
TESTSPR_BOTH_ASSERT(carr[0] == arr1.at(0));
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == arr2.at(0));
|
TESTSPR_BOTH_ASSERT(carr[0] == arr2.at(0));
|
||||||
|
|
||||||
// front
|
// front
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == arr1.front());
|
TESTSPR_BOTH_ASSERT(carr[0] == arr1.front());
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == arr2.front());
|
TESTSPR_BOTH_ASSERT(carr[0] == arr2.front());
|
||||||
|
|
||||||
// back
|
// back
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == arr1.back());
|
TESTSPR_BOTH_ASSERT(carr[9] == arr1.back());
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[9] == arr2.back());
|
TESTSPR_BOTH_ASSERT(carr[9] == arr2.back());
|
||||||
|
|
||||||
// data
|
// data
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *arr1.data());
|
TESTSPR_BOTH_ASSERT(carr[0] == *arr1.data());
|
||||||
TESTSPR_DOUBLE_ASSERT(carr[0] == *arr2.data());
|
TESTSPR_BOTH_ASSERT(carr[0] == *arr2.data());
|
||||||
|
|
||||||
// c_array
|
// c_array
|
||||||
{
|
{
|
||||||
|
@ -119,22 +119,22 @@ namespace testspr {
|
||||||
}
|
}
|
||||||
|
|
||||||
// operator==
|
// operator==
|
||||||
TESTSPR_DOUBLE_ASSERT(arr1 == arr2);
|
TESTSPR_BOTH_ASSERT(arr1 == arr2);
|
||||||
|
|
||||||
// operator!=
|
// operator!=
|
||||||
TESTSPR_DOUBLE_ASSERT(!(arr1 != arr2));
|
TESTSPR_BOTH_ASSERT(!(arr1 != arr2));
|
||||||
|
|
||||||
// operator<
|
// operator<
|
||||||
TESTSPR_DOUBLE_ASSERT(!(arr1 < arr2));
|
TESTSPR_BOTH_ASSERT(!(arr1 < arr2));
|
||||||
|
|
||||||
// operator>
|
// operator>
|
||||||
TESTSPR_DOUBLE_ASSERT(!(arr1 > arr2));
|
TESTSPR_BOTH_ASSERT(!(arr1 > arr2));
|
||||||
|
|
||||||
// operator<=
|
// operator<=
|
||||||
TESTSPR_DOUBLE_ASSERT(arr1 <= arr2);
|
TESTSPR_BOTH_ASSERT(arr1 <= arr2);
|
||||||
|
|
||||||
// operator>=
|
// operator>=
|
||||||
TESTSPR_DOUBLE_ASSERT(arr1 >= arr2);
|
TESTSPR_BOTH_ASSERT(arr1 >= arr2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // namespace testspr
|
} // namespace testspr
|
||||||
|
|
|
@ -19,10 +19,10 @@ namespace testspr {
|
||||||
|
|
||||||
// min
|
// min
|
||||||
// max
|
// max
|
||||||
TESTSPR_DOUBLE_ASSERT(dist1.min() <= dist1.max());
|
TESTSPR_BOTH_ASSERT(dist1.min() <= dist1.max());
|
||||||
|
|
||||||
// param
|
// param
|
||||||
TESTSPR_DOUBLE_ASSERT(parm == dist1.param());
|
TESTSPR_BOTH_ASSERT(parm == dist1.param());
|
||||||
{
|
{
|
||||||
auto dist_temp = Distribution();
|
auto dist_temp = Distribution();
|
||||||
dist_temp.param(parm);
|
dist_temp.param(parm);
|
||||||
|
@ -31,8 +31,8 @@ namespace testspr {
|
||||||
|
|
||||||
// operator==
|
// operator==
|
||||||
// operator!=
|
// operator!=
|
||||||
TESTSPR_DOUBLE_ASSERT(dist1 == dist2);
|
TESTSPR_BOTH_ASSERT(dist1 == dist2);
|
||||||
TESTSPR_DOUBLE_ASSERT(!(dist1 != dist2));
|
TESTSPR_BOTH_ASSERT(!(dist1 != dist2));
|
||||||
|
|
||||||
{
|
{
|
||||||
std::string s;
|
std::string s;
|
||||||
|
@ -65,14 +65,14 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto rnd = dist1(eng);
|
SPROUT_STATIC_CONSTEXPR auto rnd = dist1(eng);
|
||||||
|
|
||||||
// result
|
// result
|
||||||
TESTSPR_DOUBLE_ASSERT(dist1.min() <= rnd.result());
|
TESTSPR_BOTH_ASSERT(dist1.min() <= rnd.result());
|
||||||
TESTSPR_DOUBLE_ASSERT(rnd.result() <= dist1.max());
|
TESTSPR_BOTH_ASSERT(rnd.result() <= dist1.max());
|
||||||
|
|
||||||
// engine
|
// engine
|
||||||
TESTSPR_DOUBLE_ASSERT(rnd.engine().min() <= rnd.engine().max());
|
TESTSPR_BOTH_ASSERT(rnd.engine().min() <= rnd.engine().max());
|
||||||
|
|
||||||
// distribution
|
// distribution
|
||||||
TESTSPR_DOUBLE_ASSERT(rnd.distribution().min() <= rnd.distribution().max());
|
TESTSPR_BOTH_ASSERT(rnd.distribution().min() <= rnd.distribution().max());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,14 +16,14 @@ namespace testspr {
|
||||||
|
|
||||||
// min
|
// min
|
||||||
// max
|
// max
|
||||||
TESTSPR_DOUBLE_ASSERT(eng1.min() <= eng1.max());
|
TESTSPR_BOTH_ASSERT(eng1.min() <= eng1.max());
|
||||||
|
|
||||||
// operator==
|
// operator==
|
||||||
// operator!=
|
// operator!=
|
||||||
// TESTSPR_DOUBLE_ASSERT(eng1 == eng1);
|
// TESTSPR_BOTH_ASSERT(eng1 == eng1);
|
||||||
// TESTSPR_DOUBLE_ASSERT(!(eng1 == eng2));
|
// TESTSPR_BOTH_ASSERT(!(eng1 == eng2));
|
||||||
// TESTSPR_DOUBLE_ASSERT(eng1 != eng2);
|
// TESTSPR_BOTH_ASSERT(eng1 != eng2);
|
||||||
// TESTSPR_DOUBLE_ASSERT(!(eng1 != eng1));
|
// TESTSPR_BOTH_ASSERT(!(eng1 != eng1));
|
||||||
TESTSPR_ASSERT(eng1 == eng1);
|
TESTSPR_ASSERT(eng1 == eng1);
|
||||||
TESTSPR_ASSERT(!(eng1 == eng2));
|
TESTSPR_ASSERT(!(eng1 == eng2));
|
||||||
TESTSPR_ASSERT(eng1 != eng2);
|
TESTSPR_ASSERT(eng1 != eng2);
|
||||||
|
@ -58,11 +58,11 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto rnd = eng1();
|
SPROUT_STATIC_CONSTEXPR auto rnd = eng1();
|
||||||
|
|
||||||
// result
|
// result
|
||||||
TESTSPR_DOUBLE_ASSERT(eng1.min() <= rnd.result());
|
TESTSPR_BOTH_ASSERT(eng1.min() <= rnd.result());
|
||||||
TESTSPR_DOUBLE_ASSERT(rnd.result() <= eng1.max());
|
TESTSPR_BOTH_ASSERT(rnd.result() <= eng1.max());
|
||||||
|
|
||||||
// engine
|
// engine
|
||||||
TESTSPR_DOUBLE_ASSERT(rnd.engine().min() <= rnd.engine().max());
|
TESTSPR_BOTH_ASSERT(rnd.engine().min() <= rnd.engine().max());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,60 +16,60 @@ namespace testspr {
|
||||||
SPROUT_STATIC_CONSTEXPR auto str1 = to_string(cstr);
|
SPROUT_STATIC_CONSTEXPR auto str1 = to_string(cstr);
|
||||||
SPROUT_STATIC_CONSTEXPR auto str2 = to_string("hogehoge");
|
SPROUT_STATIC_CONSTEXPR auto str2 = to_string("hogehoge");
|
||||||
|
|
||||||
TESTSPR_DOUBLE_ASSERT((std::is_same<decltype(str1), sprout::basic_string<char, 10> const>::value));
|
TESTSPR_BOTH_ASSERT((std::is_same<decltype(str1), sprout::basic_string<char, 10> const>::value));
|
||||||
TESTSPR_DOUBLE_ASSERT((std::is_same<decltype(str2), sprout::basic_string<char, 8> const>::value));
|
TESTSPR_BOTH_ASSERT((std::is_same<decltype(str2), sprout::basic_string<char, 8> const>::value));
|
||||||
|
|
||||||
// begin
|
// begin
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == *str1.begin());
|
TESTSPR_BOTH_ASSERT(cstr[0] == *str1.begin());
|
||||||
|
|
||||||
// cbegin
|
// cbegin
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == *str1.cbegin());
|
TESTSPR_BOTH_ASSERT(cstr[0] == *str1.cbegin());
|
||||||
|
|
||||||
// end
|
// end
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[9] == *(str1.end() - 1));
|
TESTSPR_BOTH_ASSERT(cstr[9] == *(str1.end() - 1));
|
||||||
|
|
||||||
// cend
|
// cend
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[9] == *(str1.cend() - 1));
|
TESTSPR_BOTH_ASSERT(cstr[9] == *(str1.cend() - 1));
|
||||||
|
|
||||||
// rbegin
|
// rbegin
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[9] == *str1.rbegin());
|
TESTSPR_BOTH_ASSERT(cstr[9] == *str1.rbegin());
|
||||||
|
|
||||||
// crbegin
|
// crbegin
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[9] == *str1.crbegin());
|
TESTSPR_BOTH_ASSERT(cstr[9] == *str1.crbegin());
|
||||||
|
|
||||||
// rend
|
// rend
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == *(str1.rend() - 1));
|
TESTSPR_BOTH_ASSERT(cstr[0] == *(str1.rend() - 1));
|
||||||
|
|
||||||
// crend
|
// crend
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == *(str1.crend() - 1));
|
TESTSPR_BOTH_ASSERT(cstr[0] == *(str1.crend() - 1));
|
||||||
|
|
||||||
// size
|
// size
|
||||||
TESTSPR_DOUBLE_ASSERT(str1.size() == 10);
|
TESTSPR_BOTH_ASSERT(str1.size() == 10);
|
||||||
|
|
||||||
// empty
|
// empty
|
||||||
TESTSPR_DOUBLE_ASSERT(!str1.empty());
|
TESTSPR_BOTH_ASSERT(!str1.empty());
|
||||||
TESTSPR_DOUBLE_ASSERT((string_t<0>::type().empty()));
|
TESTSPR_BOTH_ASSERT((string_t<0>::type().empty()));
|
||||||
|
|
||||||
// max_size
|
// max_size
|
||||||
TESTSPR_DOUBLE_ASSERT(str1.max_size() == 10);
|
TESTSPR_BOTH_ASSERT(str1.max_size() == 10);
|
||||||
|
|
||||||
// operator[]
|
// operator[]
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == str1[0]);
|
TESTSPR_BOTH_ASSERT(cstr[0] == str1[0]);
|
||||||
|
|
||||||
// at
|
// at
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == str1.at(0));
|
TESTSPR_BOTH_ASSERT(cstr[0] == str1.at(0));
|
||||||
|
|
||||||
// front
|
// front
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == str1.front());
|
TESTSPR_BOTH_ASSERT(cstr[0] == str1.front());
|
||||||
|
|
||||||
// back
|
// back
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[9] == str1.back());
|
TESTSPR_BOTH_ASSERT(cstr[9] == str1.back());
|
||||||
|
|
||||||
// data
|
// data
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == *str1.data());
|
TESTSPR_BOTH_ASSERT(cstr[0] == *str1.data());
|
||||||
|
|
||||||
// c_str
|
// c_str
|
||||||
TESTSPR_DOUBLE_ASSERT(cstr[0] == *str1.c_str());
|
TESTSPR_BOTH_ASSERT(cstr[0] == *str1.c_str());
|
||||||
|
|
||||||
// swap
|
// swap
|
||||||
{
|
{
|
||||||
|
@ -132,52 +132,52 @@ namespace testspr {
|
||||||
}
|
}
|
||||||
|
|
||||||
// compare
|
// compare
|
||||||
TESTSPR_DOUBLE_ASSERT(str1.compare(cstr) == 0);
|
TESTSPR_BOTH_ASSERT(str1.compare(cstr) == 0);
|
||||||
TESTSPR_DOUBLE_ASSERT(str1.compare("zzzz") < 0);
|
TESTSPR_BOTH_ASSERT(str1.compare("zzzz") < 0);
|
||||||
TESTSPR_DOUBLE_ASSERT(str1.compare("aaaa") > 0);
|
TESTSPR_BOTH_ASSERT(str1.compare("aaaa") > 0);
|
||||||
|
|
||||||
// substr
|
// substr
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto str3 = str1.substr();
|
SPROUT_STATIC_CONSTEXPR auto str3 = str1.substr();
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "foobar1234");
|
TESTSPR_BOTH_ASSERT(str3 == "foobar1234");
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto str3 = str1.substr(6);
|
SPROUT_STATIC_CONSTEXPR auto str3 = str1.substr(6);
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "1234");
|
TESTSPR_BOTH_ASSERT(str3 == "1234");
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto str3 = str1.substr(0, 6);
|
SPROUT_STATIC_CONSTEXPR auto str3 = str1.substr(0, 6);
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "foobar");
|
TESTSPR_BOTH_ASSERT(str3 == "foobar");
|
||||||
}
|
}
|
||||||
|
|
||||||
// operator==
|
// operator==
|
||||||
TESTSPR_DOUBLE_ASSERT(!(str1 == str2));
|
TESTSPR_BOTH_ASSERT(!(str1 == str2));
|
||||||
|
|
||||||
// operator!=
|
// operator!=
|
||||||
TESTSPR_DOUBLE_ASSERT(str1 != str2);
|
TESTSPR_BOTH_ASSERT(str1 != str2);
|
||||||
|
|
||||||
// operator<
|
// operator<
|
||||||
TESTSPR_DOUBLE_ASSERT(str1 < str2);
|
TESTSPR_BOTH_ASSERT(str1 < str2);
|
||||||
|
|
||||||
// operator>
|
// operator>
|
||||||
TESTSPR_DOUBLE_ASSERT(!(str1 > str2));
|
TESTSPR_BOTH_ASSERT(!(str1 > str2));
|
||||||
|
|
||||||
// operator<=
|
// operator<=
|
||||||
TESTSPR_DOUBLE_ASSERT(str1 <= str2);
|
TESTSPR_BOTH_ASSERT(str1 <= str2);
|
||||||
|
|
||||||
// operator>=
|
// operator>=
|
||||||
TESTSPR_DOUBLE_ASSERT(!(str1 >= str2));
|
TESTSPR_BOTH_ASSERT(!(str1 >= str2));
|
||||||
|
|
||||||
// operator+
|
// operator+
|
||||||
{
|
{
|
||||||
#ifdef SPROUT_CONFIG_USE_INDEX_ITERATOR_IMPLEMENTATION
|
#ifdef SPROUT_CONFIG_USE_INDEX_ITERATOR_IMPLEMENTATION
|
||||||
// ! Error in GCC4.7
|
// ! Error in GCC4.7
|
||||||
SPROUT_STATIC_CONSTEXPR auto str3 = str1 + to_string("hogehoge");
|
SPROUT_STATIC_CONSTEXPR auto str3 = str1 + to_string("hogehoge");
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "foobar1234hogehoge");
|
TESTSPR_BOTH_ASSERT(str3 == "foobar1234hogehoge");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SPROUT_STATIC_CONSTEXPR auto str4 = str1 + str2;
|
SPROUT_STATIC_CONSTEXPR auto str4 = str1 + str2;
|
||||||
TESTSPR_DOUBLE_ASSERT(str4 == "foobar1234hogehoge");
|
TESTSPR_BOTH_ASSERT(str4 == "foobar1234hogehoge");
|
||||||
}
|
}
|
||||||
|
|
||||||
// operator<<
|
// operator<<
|
||||||
|
@ -198,25 +198,25 @@ namespace testspr {
|
||||||
// string_from_c_str
|
// string_from_c_str
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto str3 = string_from_c_str<10>(cstr);
|
SPROUT_STATIC_CONSTEXPR auto str3 = string_from_c_str<10>(cstr);
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "foobar1234");
|
TESTSPR_BOTH_ASSERT(str3 == "foobar1234");
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto str3 = string_from_c_str<10>(cstr, 6);
|
SPROUT_STATIC_CONSTEXPR auto str3 = string_from_c_str<10>(cstr, 6);
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "foobar");
|
TESTSPR_BOTH_ASSERT(str3 == "foobar");
|
||||||
}
|
}
|
||||||
|
|
||||||
// make_string
|
// make_string
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR auto str3 = make_string('f', 'o', 'o', 'b', 'a', 'r');
|
SPROUT_STATIC_CONSTEXPR auto str3 = make_string('f', 'o', 'o', 'b', 'a', 'r');
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "foobar");
|
TESTSPR_BOTH_ASSERT(str3 == "foobar");
|
||||||
TESTSPR_DOUBLE_ASSERT(str3.size() == 6);
|
TESTSPR_BOTH_ASSERT(str3.size() == 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
// operator basic_string
|
// operator basic_string
|
||||||
{
|
{
|
||||||
SPROUT_STATIC_CONSTEXPR string_t<10>::type str3 = to_string("foobar");
|
SPROUT_STATIC_CONSTEXPR string_t<10>::type str3 = to_string("foobar");
|
||||||
TESTSPR_DOUBLE_ASSERT(str3 == "foobar");
|
TESTSPR_BOTH_ASSERT(str3 == "foobar");
|
||||||
TESTSPR_DOUBLE_ASSERT(str3.size() == 6);
|
TESTSPR_BOTH_ASSERT(str3.size() == 6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,7 +184,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
SPROUT_CONSTEXPR typename sprout::array<T, N>::size_type sprout::array<T, N>::static_size;
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::array<T, N>::size_type sprout::array<T, N>::static_size;
|
||||||
|
|
||||||
//
|
//
|
||||||
// operator==
|
// operator==
|
||||||
|
|
|
@ -19,8 +19,8 @@ namespace sprout {
|
||||||
struct div_t_traits2<INT_T> { \
|
struct div_t_traits2<INT_T> { \
|
||||||
public: \
|
public: \
|
||||||
typedef DIV_T type; \
|
typedef DIV_T type; \
|
||||||
static SPROUT_CONSTEXPR std::size_t offsetof_quot = offsetof(DIV_T, quot); \
|
SPROUT_STATIC_CONSTEXPR std::size_t offsetof_quot = offsetof(DIV_T, quot); \
|
||||||
static SPROUT_CONSTEXPR std::size_t offsetof_rem = offsetof(DIV_T, rem); \
|
SPROUT_STATIC_CONSTEXPR std::size_t offsetof_rem = offsetof(DIV_T, rem); \
|
||||||
}
|
}
|
||||||
|
|
||||||
SPROUT_DETAIL_DIV_T_TRAITS2_IMPL(std::intmax_t, std::imaxdiv_t);
|
SPROUT_DETAIL_DIV_T_TRAITS2_IMPL(std::intmax_t, std::imaxdiv_t);
|
||||||
|
|
|
@ -11,10 +11,16 @@
|
||||||
# define SPROUT_CONSTEXPR constexpr
|
# define SPROUT_CONSTEXPR constexpr
|
||||||
# define SPROUT_CONSTEXPR_OR_CONST constexpr
|
# define SPROUT_CONSTEXPR_OR_CONST constexpr
|
||||||
# define SPROUT_STATIC_CONSTEXPR static constexpr
|
# define SPROUT_STATIC_CONSTEXPR static constexpr
|
||||||
|
#
|
||||||
|
# define SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(EXPR) = EXPR
|
||||||
|
# define SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(EXPR)
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
#else // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
# define SPROUT_CONSTEXPR
|
# define SPROUT_CONSTEXPR
|
||||||
# define SPROUT_CONSTEXPR_OR_CONST const
|
# define SPROUT_CONSTEXPR_OR_CONST const
|
||||||
# define SPROUT_STATIC_CONSTEXPR static const
|
# define SPROUT_STATIC_CONSTEXPR static const
|
||||||
|
#
|
||||||
|
# define SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(EXPR)
|
||||||
|
# define SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(EXPR) = EXPR
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||||
|
|
|
@ -406,6 +406,9 @@ namespace sprout {
|
||||||
return static_size;
|
return static_size;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
template<typename T, std::size_t N>
|
||||||
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::detail::container_traits_default<T[N]>::size_type
|
||||||
|
sprout::detail::container_traits_default<T[N]>::static_size;
|
||||||
|
|
||||||
//
|
//
|
||||||
// container_traits_const_default
|
// container_traits_const_default
|
||||||
|
|
|
@ -19,8 +19,8 @@ namespace sprout {
|
||||||
struct div_t_traits<INT_T> { \
|
struct div_t_traits<INT_T> { \
|
||||||
public: \
|
public: \
|
||||||
typedef DIV_T type; \
|
typedef DIV_T type; \
|
||||||
static SPROUT_CONSTEXPR std::size_t offsetof_quot = offsetof(DIV_T, quot); \
|
SPROUT_STATIC_CONSTEXPR std::size_t offsetof_quot = offsetof(DIV_T, quot); \
|
||||||
static SPROUT_CONSTEXPR std::size_t offsetof_rem = offsetof(DIV_T, rem); \
|
SPROUT_STATIC_CONSTEXPR std::size_t offsetof_rem = offsetof(DIV_T, rem); \
|
||||||
}
|
}
|
||||||
|
|
||||||
SPROUT_DETAIL_DIV_T_TRAITS_IMPL(int, std::div_t);
|
SPROUT_DETAIL_DIV_T_TRAITS_IMPL(int, std::div_t);
|
||||||
|
|
|
@ -88,7 +88,7 @@ namespace sprout {
|
||||||
field_flag(field_flag const&) = default;
|
field_flag(field_flag const&) = default;
|
||||||
};
|
};
|
||||||
template<sprout::io::flags::fmtflags Flag, sprout::io::flags::fmtflags Mask>
|
template<sprout::io::flags::fmtflags Flag, sprout::io::flags::fmtflags Mask>
|
||||||
SPROUT_CONSTEXPR sprout::io::flags::fmtflags sprout::io::flags::field_flag<Flag, Mask>::mask;
|
SPROUT_CONSTEXPR_OR_CONST sprout::io::flags::fmtflags sprout::io::flags::field_flag<Flag, Mask>::mask;
|
||||||
|
|
||||||
//
|
//
|
||||||
// precision_t
|
// precision_t
|
||||||
|
|
|
@ -142,13 +142,13 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
bytes_iterator& operator+=(difference_type n) {
|
bytes_iterator& operator+=(difference_type n) {
|
||||||
bytes_iterator temp(it_, i_ + n, ra_tag());
|
bytes_iterator temp(it_, i_ + n, ra_tag());
|
||||||
temp.swap(this);
|
temp.swap(*this);
|
||||||
return this;
|
return *this;
|
||||||
}
|
}
|
||||||
bytes_iterator& operator-=(difference_type n) {
|
bytes_iterator& operator-=(difference_type n) {
|
||||||
bytes_iterator temp(it_, i_ - n, ra_tag());
|
bytes_iterator temp(it_, i_ - n, ra_tag());
|
||||||
temp.swap(this);
|
temp.swap(*this);
|
||||||
return this;
|
return *this;
|
||||||
}
|
}
|
||||||
SPROUT_CONSTEXPR reference operator[](difference_type n) const {
|
SPROUT_CONSTEXPR reference operator[](difference_type n) const {
|
||||||
return *(*this + n);
|
return *(*this + n);
|
||||||
|
@ -207,6 +207,19 @@ namespace sprout {
|
||||||
return it - n;
|
return it - n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// distance
|
||||||
|
//
|
||||||
|
template<typename Iterator, typename Traits>
|
||||||
|
SPROUT_CONSTEXPR typename std::iterator_traits<sprout::bytes_iterator<Iterator, Traits> >::difference_type
|
||||||
|
distance(
|
||||||
|
sprout::bytes_iterator<Iterator, Traits> first,
|
||||||
|
sprout::bytes_iterator<Iterator, Traits> last
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return last - first;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// make_bytes_iterator
|
// make_bytes_iterator
|
||||||
//
|
//
|
||||||
|
|
|
@ -25,8 +25,7 @@ namespace sprout {
|
||||||
void*
|
void*
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
using std::next;
|
return std::next(sprout::forward<ForwardIterator>(it));
|
||||||
return next(sprout::forward<ForwardIterator>(it));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename RandomAccessIterator>
|
template<typename RandomAccessIterator>
|
||||||
|
@ -48,8 +47,7 @@ namespace sprout {
|
||||||
void*
|
void*
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
using std::next;
|
return std::next(sprout::forward<ForwardIterator>(it), n);
|
||||||
return next(sprout::forward<ForwardIterator>(it), n);
|
|
||||||
}
|
}
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
//
|
//
|
||||||
|
|
|
@ -25,8 +25,7 @@ namespace sprout {
|
||||||
void*
|
void*
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
using std::prev;
|
return std::prev(sprout::forward<BidirectionalIterator>(it));
|
||||||
return prev(sprout::forward<BidirectionalIterator>(it));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename RandomAccessIterator>
|
template<typename RandomAccessIterator>
|
||||||
|
@ -48,8 +47,7 @@ namespace sprout {
|
||||||
void*
|
void*
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
using std::prev;
|
return std::prev(sprout::forward<BidirectionalIterator>(it), n);
|
||||||
return prev(sprout::forward<BidirectionalIterator>(it), n);
|
|
||||||
}
|
}
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
//
|
//
|
||||||
|
|
|
@ -10,6 +10,151 @@
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace math {
|
namespace math {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
# define SPROUT_BERNOULLI_TABLE_DEF_FLOAT \
|
||||||
|
table_type{{ \
|
||||||
|
1.F, \
|
||||||
|
1.F / 6, \
|
||||||
|
-1.F / 30, \
|
||||||
|
1.F / 42, \
|
||||||
|
-1.F / 30, \
|
||||||
|
5.F / 66, \
|
||||||
|
-691.F / 2730, \
|
||||||
|
7.F / 6, \
|
||||||
|
-3617.F / 510, \
|
||||||
|
43867.F / 798, \
|
||||||
|
-174611.F / 330, \
|
||||||
|
854513.F / 138, \
|
||||||
|
-236364091.F / 2730, \
|
||||||
|
8553103.F / 6, \
|
||||||
|
-236364091.F / 870, \
|
||||||
|
8615841276005.F / 14322, \
|
||||||
|
-7709321041217.F / 510, \
|
||||||
|
2577687858367.F / 6, \
|
||||||
|
-26315271553053477373.F / 1919190, \
|
||||||
|
2929993913841559.F / 6, \
|
||||||
|
-261082718496449122051.F / 13530, \
|
||||||
|
1520097643918070802691.F / 1806, \
|
||||||
|
-2.783326957930102423502e22F / 690, \
|
||||||
|
5.96451111593912163278e23F / 282, \
|
||||||
|
-1.20866265222965259346e23F, \
|
||||||
|
7.500866746076964366856e24F, \
|
||||||
|
-5.038778101481068914138e26F, \
|
||||||
|
3.65287764848181233351e28F, \
|
||||||
|
-2.849876930245088222627e30F, \
|
||||||
|
2.386542749968362764465e32F, \
|
||||||
|
-2.139994925722533366581e34F, \
|
||||||
|
2.050097572347809756992e36F, \
|
||||||
|
-2.09380059113463784091e38F \
|
||||||
|
}}
|
||||||
|
# define SPROUT_BERNOULLI_TABLE_DEF_DOUBLE \
|
||||||
|
table_type{{ \
|
||||||
|
1., \
|
||||||
|
1. / 6, \
|
||||||
|
-1. / 30, \
|
||||||
|
1. / 42, \
|
||||||
|
-1. / 30, \
|
||||||
|
5. / 66, \
|
||||||
|
-691. / 2730, \
|
||||||
|
7. / 6, \
|
||||||
|
-3617. / 510, \
|
||||||
|
43867. / 798, \
|
||||||
|
-174611. / 330, \
|
||||||
|
854513. / 138, \
|
||||||
|
-236364091. / 2730, \
|
||||||
|
8553103. / 6, \
|
||||||
|
-236364091. / 870, \
|
||||||
|
8615841276005. / 14322, \
|
||||||
|
-7709321041217. / 510, \
|
||||||
|
2577687858367. / 6, \
|
||||||
|
-26315271553053477373. / 1919190, \
|
||||||
|
2929993913841559. / 6, \
|
||||||
|
-261082718496449122051. / 13530, \
|
||||||
|
1520097643918070802691. / 1806, \
|
||||||
|
-2.783326957930102423502e22 / 690, \
|
||||||
|
5.96451111593912163278e23 / 282, \
|
||||||
|
-1.20866265222965259346e23, \
|
||||||
|
7.500866746076964366856e24, \
|
||||||
|
-5.038778101481068914138e26, \
|
||||||
|
3.65287764848181233351e28, \
|
||||||
|
-2.849876930245088222627e30, \
|
||||||
|
2.386542749968362764465e32, \
|
||||||
|
-2.139994925722533366581e34, \
|
||||||
|
2.050097572347809756992e36, \
|
||||||
|
-2.09380059113463784091e38, \
|
||||||
|
2.275269648846351555965e40, \
|
||||||
|
-2.62577102862395760473e42, \
|
||||||
|
3.21250821027180325182e44, \
|
||||||
|
-4.159827816679471091392e46, \
|
||||||
|
5.692069548203528002388e48, \
|
||||||
|
-8.21836294197845756923e50, \
|
||||||
|
1.250290432716699301673e53, \
|
||||||
|
-2.001558323324837027493e55, \
|
||||||
|
3.36749829153643742334e57, \
|
||||||
|
-5.947097050313544771866e59, \
|
||||||
|
1.101191032362797755956e62, \
|
||||||
|
-2.135525954525350118866e64, \
|
||||||
|
4.332889698664119241962e66, \
|
||||||
|
-9.18855282416693282262e68 , \
|
||||||
|
2.034689677632907449346e71, \
|
||||||
|
-4.70038339580357310786e73, \
|
||||||
|
1.131804344548424927068e76, \
|
||||||
|
-2.838224957069370695926e78 \
|
||||||
|
}}
|
||||||
|
# define SPROUT_BERNOULLI_TABLE_DEF_LONG_DOUBLE \
|
||||||
|
table_type{{ \
|
||||||
|
1.L, \
|
||||||
|
1.L / 6, \
|
||||||
|
-1.L / 30, \
|
||||||
|
1.L / 42, \
|
||||||
|
-1.L / 30, \
|
||||||
|
5.L / 66, \
|
||||||
|
-691.L / 2730, \
|
||||||
|
7.L / 6, \
|
||||||
|
-3617.L / 510, \
|
||||||
|
43867.L / 798, \
|
||||||
|
-174611.L / 330, \
|
||||||
|
854513.L / 138, \
|
||||||
|
-236364091.L / 2730, \
|
||||||
|
8553103.L / 6, \
|
||||||
|
-236364091.L / 870, \
|
||||||
|
8615841276005.L / 14322, \
|
||||||
|
-7709321041217.L / 510, \
|
||||||
|
2577687858367.L / 6, \
|
||||||
|
-26315271553053477373.L / 1919190, \
|
||||||
|
2929993913841559.L / 6, \
|
||||||
|
-261082718496449122051.L / 13530, \
|
||||||
|
1520097643918070802691.L / 1806, \
|
||||||
|
-2.783326957930102423502e22L / 690, \
|
||||||
|
5.96451111593912163278e23L / 282, \
|
||||||
|
-1.20866265222965259346e23L, \
|
||||||
|
7.500866746076964366856e24L, \
|
||||||
|
-5.038778101481068914138e26L, \
|
||||||
|
3.65287764848181233351e28L, \
|
||||||
|
-2.849876930245088222627e30L, \
|
||||||
|
2.386542749968362764465e32L, \
|
||||||
|
-2.139994925722533366581e34L, \
|
||||||
|
2.050097572347809756992e36L, \
|
||||||
|
-2.09380059113463784091e38L, \
|
||||||
|
2.275269648846351555965e40L, \
|
||||||
|
-2.62577102862395760473e42L, \
|
||||||
|
3.21250821027180325182e44L, \
|
||||||
|
-4.159827816679471091392e46L, \
|
||||||
|
5.692069548203528002388e48L, \
|
||||||
|
-8.21836294197845756923e50L, \
|
||||||
|
1.250290432716699301673e53L, \
|
||||||
|
-2.001558323324837027493e55L, \
|
||||||
|
3.36749829153643742334e57L, \
|
||||||
|
-5.947097050313544771866e59L, \
|
||||||
|
1.101191032362797755956e62L, \
|
||||||
|
-2.135525954525350118866e64L, \
|
||||||
|
4.332889698664119241962e66L, \
|
||||||
|
-9.18855282416693282262e68L, \
|
||||||
|
2.034689677632907449346e71L, \
|
||||||
|
-4.70038339580357310786e73L, \
|
||||||
|
1.131804344548424927068e76L, \
|
||||||
|
-2.838224957069370695926e78L \
|
||||||
|
}}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct bernoulli_numbers;
|
struct bernoulli_numbers;
|
||||||
|
|
||||||
|
@ -22,47 +167,15 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
typedef sprout::array<type, limit / 2 + 1> table_type;
|
typedef sprout::array<type, limit / 2 + 1> table_type;
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR table_type table = table_type{{
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
1.F,
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_BERNOULLI_TABLE_DEF_FLOAT)
|
||||||
1.F / 6,
|
;
|
||||||
-1.F / 30,
|
|
||||||
1.F / 42,
|
|
||||||
-1.F / 30,
|
|
||||||
5.F / 66,
|
|
||||||
-691.F / 2730,
|
|
||||||
7.F / 6,
|
|
||||||
-3617.F / 510,
|
|
||||||
43867.F / 798,
|
|
||||||
-174611.F / 330,
|
|
||||||
854513.F / 138,
|
|
||||||
-236364091.F / 2730,
|
|
||||||
8553103.F / 6,
|
|
||||||
-236364091.F / 870,
|
|
||||||
8615841276005.F / 14322,
|
|
||||||
-7709321041217.F / 510,
|
|
||||||
2577687858367.F / 6,
|
|
||||||
-26315271553053477373.F / 1919190,
|
|
||||||
2929993913841559.F / 6,
|
|
||||||
-261082718496449122051.F / 13530,
|
|
||||||
1520097643918070802691.F / 1806,
|
|
||||||
-2.783326957930102423502e22F / 690,
|
|
||||||
5.96451111593912163278e23F / 282,
|
|
||||||
-1.20866265222965259346e23F,
|
|
||||||
7.500866746076964366856e24F,
|
|
||||||
-5.038778101481068914138e26F,
|
|
||||||
3.65287764848181233351e28F,
|
|
||||||
-2.849876930245088222627e30F,
|
|
||||||
2.386542749968362764465e32F,
|
|
||||||
-2.139994925722533366581e34F,
|
|
||||||
2.050097572347809756992e36F,
|
|
||||||
-2.09380059113463784091e38F
|
|
||||||
}};
|
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR typename sprout::math::detail::bernoulli_numbers<
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::math::detail::bernoulli_numbers<
|
||||||
float
|
float
|
||||||
>::table_type sprout::math::detail::bernoulli_numbers<
|
>::table_type sprout::math::detail::bernoulli_numbers<
|
||||||
float
|
float
|
||||||
>::table;
|
>::table SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_BERNOULLI_TABLE_DEF_FLOAT);
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct bernoulli_numbers<double> {
|
struct bernoulli_numbers<double> {
|
||||||
|
@ -73,65 +186,15 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
typedef sprout::array<type, limit / 2 + 1> table_type;
|
typedef sprout::array<type, limit / 2 + 1> table_type;
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR table_type table = table_type{{
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
1.,
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_BERNOULLI_TABLE_DEF_DOUBLE)
|
||||||
1. / 6,
|
;
|
||||||
-1. / 30,
|
|
||||||
1. / 42,
|
|
||||||
-1. / 30,
|
|
||||||
5. / 66,
|
|
||||||
-691. / 2730,
|
|
||||||
7. / 6,
|
|
||||||
-3617. / 510,
|
|
||||||
43867. / 798,
|
|
||||||
-174611. / 330,
|
|
||||||
854513. / 138,
|
|
||||||
-236364091. / 2730,
|
|
||||||
8553103. / 6,
|
|
||||||
-236364091. / 870,
|
|
||||||
8615841276005. / 14322,
|
|
||||||
-7709321041217. / 510,
|
|
||||||
2577687858367. / 6,
|
|
||||||
-26315271553053477373. / 1919190,
|
|
||||||
2929993913841559. / 6,
|
|
||||||
-261082718496449122051. / 13530,
|
|
||||||
1520097643918070802691. / 1806,
|
|
||||||
-2.783326957930102423502e22 / 690,
|
|
||||||
5.96451111593912163278e23 / 282,
|
|
||||||
-1.20866265222965259346e23,
|
|
||||||
7.500866746076964366856e24,
|
|
||||||
-5.038778101481068914138e26,
|
|
||||||
3.65287764848181233351e28,
|
|
||||||
-2.849876930245088222627e30,
|
|
||||||
2.386542749968362764465e32,
|
|
||||||
-2.139994925722533366581e34,
|
|
||||||
2.050097572347809756992e36,
|
|
||||||
-2.09380059113463784091e38,
|
|
||||||
2.275269648846351555965e40,
|
|
||||||
-2.62577102862395760473e42,
|
|
||||||
3.21250821027180325182e44,
|
|
||||||
-4.159827816679471091392e46,
|
|
||||||
5.692069548203528002388e48,
|
|
||||||
-8.21836294197845756923e50,
|
|
||||||
1.250290432716699301673e53,
|
|
||||||
-2.001558323324837027493e55,
|
|
||||||
3.36749829153643742334e57,
|
|
||||||
-5.947097050313544771866e59,
|
|
||||||
1.101191032362797755956e62,
|
|
||||||
-2.135525954525350118866e64,
|
|
||||||
4.332889698664119241962e66,
|
|
||||||
-9.18855282416693282262e68 ,
|
|
||||||
2.034689677632907449346e71,
|
|
||||||
-4.70038339580357310786e73,
|
|
||||||
1.131804344548424927068e76,
|
|
||||||
-2.838224957069370695926e78
|
|
||||||
}};
|
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR typename sprout::math::detail::bernoulli_numbers<
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::math::detail::bernoulli_numbers<
|
||||||
double
|
double
|
||||||
>::table_type sprout::math::detail::bernoulli_numbers<
|
>::table_type sprout::math::detail::bernoulli_numbers<
|
||||||
double
|
double
|
||||||
>::table;
|
>::table SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_BERNOULLI_TABLE_DEF_DOUBLE);
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct bernoulli_numbers<long double> {
|
struct bernoulli_numbers<long double> {
|
||||||
|
@ -142,65 +205,19 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
typedef sprout::array<type, limit / 2 + 1> table_type;
|
typedef sprout::array<type, limit / 2 + 1> table_type;
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR table_type table = table_type{{
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
1.L,
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_BERNOULLI_TABLE_DEF_LONG_DOUBLE)
|
||||||
1.L / 6,
|
;
|
||||||
-1.L / 30,
|
|
||||||
1.L / 42,
|
|
||||||
-1.L / 30,
|
|
||||||
5.L / 66,
|
|
||||||
-691.L / 2730,
|
|
||||||
7.L / 6,
|
|
||||||
-3617.L / 510,
|
|
||||||
43867.L / 798,
|
|
||||||
-174611.L / 330,
|
|
||||||
854513.L / 138,
|
|
||||||
-236364091.L / 2730,
|
|
||||||
8553103.L / 6,
|
|
||||||
-236364091.L / 870,
|
|
||||||
8615841276005.L / 14322,
|
|
||||||
-7709321041217.L / 510,
|
|
||||||
2577687858367.L / 6,
|
|
||||||
-26315271553053477373.L / 1919190,
|
|
||||||
2929993913841559.L / 6,
|
|
||||||
-261082718496449122051.L / 13530,
|
|
||||||
1520097643918070802691.L / 1806,
|
|
||||||
-2.783326957930102423502e22L / 690,
|
|
||||||
5.96451111593912163278e23L / 282,
|
|
||||||
-1.20866265222965259346e23L,
|
|
||||||
7.500866746076964366856e24L,
|
|
||||||
-5.038778101481068914138e26L,
|
|
||||||
3.65287764848181233351e28L,
|
|
||||||
-2.849876930245088222627e30L,
|
|
||||||
2.386542749968362764465e32L,
|
|
||||||
-2.139994925722533366581e34L,
|
|
||||||
2.050097572347809756992e36L,
|
|
||||||
-2.09380059113463784091e38L,
|
|
||||||
2.275269648846351555965e40L,
|
|
||||||
-2.62577102862395760473e42L,
|
|
||||||
3.21250821027180325182e44L,
|
|
||||||
-4.159827816679471091392e46L,
|
|
||||||
5.692069548203528002388e48L,
|
|
||||||
-8.21836294197845756923e50L,
|
|
||||||
1.250290432716699301673e53L,
|
|
||||||
-2.001558323324837027493e55L,
|
|
||||||
3.36749829153643742334e57L,
|
|
||||||
-5.947097050313544771866e59L,
|
|
||||||
1.101191032362797755956e62L,
|
|
||||||
-2.135525954525350118866e64L,
|
|
||||||
4.332889698664119241962e66L,
|
|
||||||
-9.18855282416693282262e68L,
|
|
||||||
2.034689677632907449346e71L,
|
|
||||||
-4.70038339580357310786e73L,
|
|
||||||
1.131804344548424927068e76L,
|
|
||||||
-2.838224957069370695926e78L
|
|
||||||
}};
|
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR typename sprout::math::detail::bernoulli_numbers<
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::math::detail::bernoulli_numbers<
|
||||||
long double
|
long double
|
||||||
>::table_type sprout::math::detail::bernoulli_numbers<
|
>::table_type sprout::math::detail::bernoulli_numbers<
|
||||||
long double
|
long double
|
||||||
>::table;
|
>::table SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_BERNOULLI_TABLE_DEF_LONG_DOUBLE);
|
||||||
|
|
||||||
|
# undef SPROUT_BERNOULLI_TABLE_DEF_FLOAT
|
||||||
|
# undef SPROUT_BERNOULLI_TABLE_DEF_DOUBLE
|
||||||
|
# undef SPROUT_BERNOULLI_TABLE_DEF_LONG_DOUBLE
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
//
|
//
|
||||||
// bernoulli_number_limit
|
// bernoulli_number_limit
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -127,7 +127,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR typename sprout::pit<Container>::size_type sprout::pit<Container>::static_size;
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::pit<Container>::size_type sprout::pit<Container>::static_size;
|
||||||
|
|
||||||
//
|
//
|
||||||
// operator==
|
// operator==
|
||||||
|
|
|
@ -18,24 +18,32 @@
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace random {
|
namespace random {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
# define SPROUT_BINOMIAL_TABLE_DEF \
|
||||||
|
table_type{{ \
|
||||||
|
1, \
|
||||||
|
1, \
|
||||||
|
2, \
|
||||||
|
6, \
|
||||||
|
24, \
|
||||||
|
120 \
|
||||||
|
}}
|
||||||
|
|
||||||
template<typename RealType>
|
template<typename RealType>
|
||||||
struct binomial_table {
|
struct binomial_table {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::array<RealType, 10> table = sprout::array<RealType, 10>{{
|
typedef sprout::array<RealType, 10> table_type;
|
||||||
0.08106146679532726,
|
public:
|
||||||
0.04134069595540929,
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
0.02767792568499834,
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_BINOMIAL_TABLE_DEF)
|
||||||
0.02079067210376509,
|
;
|
||||||
0.01664469118982119,
|
|
||||||
0.01387612882307075,
|
|
||||||
0.01189670994589177,
|
|
||||||
0.01041126526197209,
|
|
||||||
0.009255462182712733,
|
|
||||||
0.008330563433362871
|
|
||||||
}};
|
|
||||||
};
|
};
|
||||||
template<class RealType>
|
template<class RealType>
|
||||||
SPROUT_CONSTEXPR sprout::array<RealType, 10> sprout::random::detail::binomial_table<RealType>::table;
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::random::detail::binomial_table<RealType>::table_type
|
||||||
|
sprout::random::detail::binomial_table<RealType>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_BINOMIAL_TABLE_DEF)
|
||||||
|
;
|
||||||
|
|
||||||
|
# undef SPROUT_BINOMIAL_TABLE_DEF
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
//
|
//
|
||||||
// binomial_distribution
|
// binomial_distribution
|
||||||
|
|
|
@ -111,13 +111,13 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename IntType, IntType a, IntType b, IntType p>
|
template<typename IntType, IntType a, IntType b, IntType p>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::multiplier;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::multiplier;
|
||||||
template<typename IntType, IntType a, IntType b, IntType p>
|
template<typename IntType, IntType a, IntType b, IntType p>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::increment;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::increment;
|
||||||
template<typename IntType, IntType a, IntType b, IntType p>
|
template<typename IntType, IntType a, IntType b, IntType p>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::modulus;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::modulus;
|
||||||
template<typename IntType, IntType a, IntType b, IntType p>
|
template<typename IntType, IntType a, IntType b, IntType p>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::default_seed;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::inversive_congruential_engine<IntType, a, b, p>::default_seed;
|
||||||
|
|
||||||
//
|
//
|
||||||
// hellekalek1995
|
// hellekalek1995
|
||||||
|
|
|
@ -114,13 +114,13 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename IntType, IntType a, IntType c, IntType m>
|
template<typename IntType, IntType a, IntType c, IntType m>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::multiplier;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::multiplier;
|
||||||
template<typename IntType, IntType a, IntType c, IntType m>
|
template<typename IntType, IntType a, IntType c, IntType m>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::increment;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::increment;
|
||||||
template<typename IntType, IntType a, IntType c, IntType m>
|
template<typename IntType, IntType a, IntType c, IntType m>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::modulus;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::modulus;
|
||||||
template<typename IntType, IntType a, IntType c, IntType m>
|
template<typename IntType, IntType a, IntType c, IntType m>
|
||||||
SPROUT_CONSTEXPR IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::default_seed;
|
SPROUT_CONSTEXPR_OR_CONST IntType sprout::random::linear_congruential_engine<IntType, a, c, m>::default_seed;
|
||||||
|
|
||||||
//
|
//
|
||||||
// minstd_rand0
|
// minstd_rand0
|
||||||
|
|
|
@ -97,15 +97,15 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename UIntType, int w, int k, int q, int s>
|
template<typename UIntType, int w, int k, int q, int s>
|
||||||
SPROUT_CONSTEXPR int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::word_size;
|
SPROUT_CONSTEXPR_OR_CONST int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::word_size;
|
||||||
template<typename UIntType, int w, int k, int q, int s>
|
template<typename UIntType, int w, int k, int q, int s>
|
||||||
SPROUT_CONSTEXPR int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent1;
|
SPROUT_CONSTEXPR_OR_CONST int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent1;
|
||||||
template<typename UIntType, int w, int k, int q, int s>
|
template<typename UIntType, int w, int k, int q, int s>
|
||||||
SPROUT_CONSTEXPR int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent2;
|
SPROUT_CONSTEXPR_OR_CONST int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent2;
|
||||||
template<typename UIntType, int w, int k, int q, int s>
|
template<typename UIntType, int w, int k, int q, int s>
|
||||||
SPROUT_CONSTEXPR int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::step_size;
|
SPROUT_CONSTEXPR_OR_CONST int sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::step_size;
|
||||||
template<typename UIntType, int w, int k, int q, int s>
|
template<typename UIntType, int w, int k, int q, int s>
|
||||||
SPROUT_CONSTEXPR UIntType sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::default_seed;
|
SPROUT_CONSTEXPR_OR_CONST UIntType sprout::random::linear_feedback_shift_engine<UIntType, w, k, q, s>::default_seed;
|
||||||
} // namespace random
|
} // namespace random
|
||||||
|
|
||||||
using sprout::random::linear_feedback_shift_engine;
|
using sprout::random::linear_feedback_shift_engine;
|
||||||
|
|
|
@ -372,33 +372,33 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::word_size;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::word_size;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::state_size;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::state_size;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::shift_size;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::shift_size;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::mask_bits;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::mask_bits;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::xor_mask;
|
SPROUT_CONSTEXPR_OR_CONST UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::xor_mask;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_u;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_u;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_d;
|
SPROUT_CONSTEXPR_OR_CONST UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_d;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_s;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_s;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_b;
|
SPROUT_CONSTEXPR_OR_CONST UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_b;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_t;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_t;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_c;
|
SPROUT_CONSTEXPR_OR_CONST UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_c;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_l;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::tempering_l;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::initialization_multiplier;
|
SPROUT_CONSTEXPR_OR_CONST UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::initialization_multiplier;
|
||||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||||
SPROUT_CONSTEXPR UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::default_seed;
|
SPROUT_CONSTEXPR_OR_CONST UIntType sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::default_seed;
|
||||||
|
|
||||||
//
|
//
|
||||||
// mt11213b
|
// mt11213b
|
||||||
|
|
|
@ -164,9 +164,9 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename UniformRandomNumberGenerator, std::size_t k>
|
template<typename UniformRandomNumberGenerator, std::size_t k>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::shuffle_order_engine<UniformRandomNumberGenerator, k>::buffer_size;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::shuffle_order_engine<UniformRandomNumberGenerator, k>::buffer_size;
|
||||||
template<typename UniformRandomNumberGenerator, std::size_t k>
|
template<typename UniformRandomNumberGenerator, std::size_t k>
|
||||||
SPROUT_CONSTEXPR std::size_t sprout::random::shuffle_order_engine<UniformRandomNumberGenerator, k>::table_size;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t sprout::random::shuffle_order_engine<UniformRandomNumberGenerator, k>::table_size;
|
||||||
|
|
||||||
//
|
//
|
||||||
// knuth_b
|
// knuth_b
|
||||||
|
|
|
@ -81,9 +81,9 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename URNG1, int s1, typename URNG2, int s2>
|
template<typename URNG1, int s1, typename URNG2, int s2>
|
||||||
SPROUT_CONSTEXPR int sprout::random::xor_combine_engine<URNG1, s1, URNG2, s2>::shift1;
|
SPROUT_CONSTEXPR_OR_CONST int sprout::random::xor_combine_engine<URNG1, s1, URNG2, s2>::shift1;
|
||||||
template<typename URNG1, int s1, typename URNG2, int s2>
|
template<typename URNG1, int s1, typename URNG2, int s2>
|
||||||
SPROUT_CONSTEXPR int sprout::random::xor_combine_engine<URNG1, s1, URNG2, s2>::shift2;
|
SPROUT_CONSTEXPR_OR_CONST int sprout::random::xor_combine_engine<URNG1, s1, URNG2, s2>::shift2;
|
||||||
} // namespace random
|
} // namespace random
|
||||||
|
|
||||||
using sprout::random::xor_combine_engine;
|
using sprout::random::xor_combine_engine;
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include <sprout/range/adaptor/copied.hpp>
|
#include <sprout/range/adaptor/copied.hpp>
|
||||||
#include <sprout/range/adaptor/transformed.hpp>
|
#include <sprout/range/adaptor/transformed.hpp>
|
||||||
#include <sprout/range/adaptor/counting.hpp>
|
#include <sprout/range/adaptor/counting.hpp>
|
||||||
|
#include <sprout/range/adaptor/sized.hpp>
|
||||||
#include <sprout/range/adaptor/size_enumed.hpp>
|
#include <sprout/range/adaptor/size_enumed.hpp>
|
||||||
#include <sprout/range/adaptor/sinusoidal.hpp>
|
#include <sprout/range/adaptor/sinusoidal.hpp>
|
||||||
|
|
||||||
|
|
152
sprout/range/adaptor/sized.hpp
Normal file
152
sprout/range/adaptor/sized.hpp
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
#ifndef SPROUT_RANGE_ADAPTOR_SIZED_HPP
|
||||||
|
#define SPROUT_RANGE_ADAPTOR_SIZED_HPP
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
|
#include <type_traits>
|
||||||
|
#include <sprout/config.hpp>
|
||||||
|
#include <sprout/pit.hpp>
|
||||||
|
#include <sprout/container/traits.hpp>
|
||||||
|
#include <sprout/container/functions.hpp>
|
||||||
|
#include <sprout/range/range_container.hpp>
|
||||||
|
#include <sprout/range/algorithm/copy.hpp>
|
||||||
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
|
#include <sprout/utility/forward.hpp>
|
||||||
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
|
|
||||||
|
namespace sprout {
|
||||||
|
namespace adaptors {
|
||||||
|
namespace detail {
|
||||||
|
template<typename Range, typename sprout::container_traits<Range>::size_type Size, typename = void>
|
||||||
|
class sized_impl;
|
||||||
|
|
||||||
|
template<typename Range, typename sprout::container_traits<Range>::size_type Size>
|
||||||
|
class sized_impl<
|
||||||
|
Range, Size,
|
||||||
|
typename std::enable_if<sprout::detail::has_static_size<sprout::container_traits<Range> >::value>::type
|
||||||
|
> {
|
||||||
|
public:
|
||||||
|
SPROUT_STATIC_CONSTEXPR typename sprout::container_traits<Range>::size_type
|
||||||
|
static_size = Size < sprout::container_traits<Range>::static_size ? Size
|
||||||
|
: sprout::container_traits<Range>::static_size
|
||||||
|
;
|
||||||
|
static SPROUT_CONSTEXPR typename sprout::container_traits<Range>::size_type fixed_size() {
|
||||||
|
return static_size;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
template<typename Range, typename sprout::container_traits<Range>::size_type Size>
|
||||||
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::container_traits<Range>::size_type sized_impl<
|
||||||
|
Range, Size,
|
||||||
|
typename std::enable_if<sprout::detail::has_static_size<sprout::container_traits<Range> >::value>::type
|
||||||
|
>::static_size;
|
||||||
|
|
||||||
|
template<typename Range, typename sprout::container_traits<Range>::size_type Size>
|
||||||
|
class sized_impl<
|
||||||
|
Range, Size,
|
||||||
|
typename std::enable_if<!sprout::detail::has_static_size<sprout::container_traits<Range> >::value>::type
|
||||||
|
> {
|
||||||
|
public:
|
||||||
|
SPROUT_STATIC_CONSTEXPR typename sprout::container_traits<Range>::size_type static_size = Size;
|
||||||
|
static SPROUT_CONSTEXPR typename sprout::container_traits<Range>::size_type fixed_size() {
|
||||||
|
return static_size;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
template<typename Range, typename sprout::container_traits<Range>::size_type Size>
|
||||||
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::container_traits<Range>::size_type sized_impl<
|
||||||
|
Range, Size,
|
||||||
|
typename std::enable_if<!sprout::detail::has_static_size<sprout::container_traits<Range> >::value>::type
|
||||||
|
>::static_size;
|
||||||
|
} // namespace detail
|
||||||
|
|
||||||
|
//
|
||||||
|
// sized_range
|
||||||
|
//
|
||||||
|
template<typename Range, typename sprout::container_traits<Range>::size_type Size>
|
||||||
|
class sized_range
|
||||||
|
: public sprout::range::range_container<
|
||||||
|
typename sprout::container_traits<Range>::iterator
|
||||||
|
>
|
||||||
|
, public sprout::adaptors::detail::sized_impl<Range, Size>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
typedef Range range_type;
|
||||||
|
typedef sprout::range::range_container<
|
||||||
|
typename sprout::container_traits<Range>::iterator
|
||||||
|
> base_type;
|
||||||
|
private:
|
||||||
|
typedef sprout::adaptors::detail::sized_impl<Range, Size> sized_impl_type;
|
||||||
|
public:
|
||||||
|
sized_range() = default;
|
||||||
|
sized_range(sized_range const&) = default;
|
||||||
|
explicit SPROUT_CONSTEXPR sized_range(range_type& range)
|
||||||
|
: base_type(
|
||||||
|
sprout::begin(range),
|
||||||
|
sized_impl_type::static_size < sprout::size(range)
|
||||||
|
? sprout::next(sprout::begin(range), sized_impl_type::static_size)
|
||||||
|
: sprout::end(range)
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
// size_holder
|
||||||
|
//
|
||||||
|
template<std::size_t Size>
|
||||||
|
class size_holder
|
||||||
|
: public std::integral_constant<std::size_t, Size>
|
||||||
|
{};
|
||||||
|
|
||||||
|
//
|
||||||
|
// sized
|
||||||
|
//
|
||||||
|
template<std::size_t Size>
|
||||||
|
inline SPROUT_CONSTEXPR sprout::adaptors::size_holder<Size> sized() {
|
||||||
|
return sprout::adaptors::size_holder<Size>();
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// operator|
|
||||||
|
//
|
||||||
|
template<typename Range, std::size_t Size>
|
||||||
|
inline SPROUT_CONSTEXPR sprout::adaptors::sized_range<
|
||||||
|
typename std::remove_reference<typename sprout::lvalue_reference<Range>::type>::type,
|
||||||
|
Size
|
||||||
|
>
|
||||||
|
operator|(Range&& lhs, sprout::adaptors::size_holder<Size> const& rhs) {
|
||||||
|
return sprout::adaptors::sized_range<
|
||||||
|
typename std::remove_reference<typename sprout::lvalue_reference<Range>::type>::type,
|
||||||
|
Size
|
||||||
|
>(
|
||||||
|
sprout::lvalue_forward<Range>(lhs)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} // namespace adaptors
|
||||||
|
|
||||||
|
//
|
||||||
|
// container_construct_traits
|
||||||
|
//
|
||||||
|
template<typename Range, typename sprout::container_traits<Range>::size_type Size>
|
||||||
|
struct container_construct_traits<sprout::adaptors::sized_range<Range, Size> > {
|
||||||
|
public:
|
||||||
|
typedef typename sprout::container_construct_traits<Range>::copied_type copied_type;
|
||||||
|
public:
|
||||||
|
template<typename Cont>
|
||||||
|
static SPROUT_CONSTEXPR copied_type deep_copy(Cont&& cont) {
|
||||||
|
return sprout::range::fixed::copy(sprout::forward<Cont>(cont), sprout::pit<copied_type>());
|
||||||
|
}
|
||||||
|
template<typename... Args>
|
||||||
|
static SPROUT_CONSTEXPR copied_type make(Args&&... args) {
|
||||||
|
return sprout::make<copied_type>(sprout::forward<Args>(args)...);
|
||||||
|
}
|
||||||
|
template<typename Cont, typename... Args>
|
||||||
|
static SPROUT_CONSTEXPR copied_type remake(
|
||||||
|
Cont&& cont,
|
||||||
|
typename sprout::container_traits<sprout::adaptors::sized_range<Range, Size> >::difference_type size,
|
||||||
|
Args&&... args
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return sprout::remake<copied_type>(sprout::forward<Cont>(cont), size, sprout::forward<Args>(args)...);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace sprout
|
||||||
|
|
||||||
|
#endif // #ifndef SPROUT_RANGE_ADAPTOR_SIZED_HPP
|
|
@ -430,9 +430,9 @@ namespace sprout {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
template<typename T, std::size_t N, typename Traits>
|
template<typename T, std::size_t N, typename Traits>
|
||||||
SPROUT_CONSTEXPR typename sprout::basic_string<T, N, Traits>::size_type sprout::basic_string<T, N, Traits>::npos;
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::basic_string<T, N, Traits>::size_type sprout::basic_string<T, N, Traits>::npos;
|
||||||
template<typename T, std::size_t N, typename Traits>
|
template<typename T, std::size_t N, typename Traits>
|
||||||
SPROUT_CONSTEXPR typename sprout::basic_string<T, N, Traits>::size_type sprout::basic_string<T, N, Traits>::static_size;
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::basic_string<T, N, Traits>::size_type sprout::basic_string<T, N, Traits>::static_size;
|
||||||
|
|
||||||
//
|
//
|
||||||
// swap
|
// swap
|
||||||
|
|
|
@ -356,7 +356,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR typename sprout::sub_array<Container>::size_type sprout::sub_array<Container>::static_size;
|
SPROUT_CONSTEXPR_OR_CONST typename sprout::sub_array<Container>::size_type sprout::sub_array<Container>::static_size;
|
||||||
|
|
||||||
//
|
//
|
||||||
// swap
|
// swap
|
||||||
|
|
|
@ -378,7 +378,7 @@ namespace sprout {
|
||||||
//
|
//
|
||||||
// ignore
|
// ignore
|
||||||
//
|
//
|
||||||
static SPROUT_CONSTEXPR ignore_t ignore{};
|
SPROUT_STATIC_CONSTEXPR ignore_t ignore{};
|
||||||
|
|
||||||
//
|
//
|
||||||
// make_tuple
|
// make_tuple
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
SPROUT_STATIC_CONSTEXPR typename std::decay<decltype(T::CONSTANT)>::type ALIAS = T::CONSTANT; \
|
SPROUT_STATIC_CONSTEXPR typename std::decay<decltype(T::CONSTANT)>::type ALIAS = T::CONSTANT; \
|
||||||
}; \
|
}; \
|
||||||
template<typename T> \
|
template<typename T> \
|
||||||
SPROUT_CONSTEXPR typename std::decay<decltype(T::CONSTANT)>::type NAME< \
|
SPROUT_CONSTEXPR_OR_CONST typename std::decay<decltype(T::CONSTANT)>::type NAME< \
|
||||||
T, \
|
T, \
|
||||||
typename std::enable_if<SPROUT_PP_CAT(SPROUT_PP_CAT(sprout_inherit_if_xxx_constant_def_impl_has_, CONSTANT), __LINE__)<T>::value>::type \
|
typename std::enable_if<SPROUT_PP_CAT(SPROUT_PP_CAT(sprout_inherit_if_xxx_constant_def_impl_has_, CONSTANT), __LINE__)<T>::value>::type \
|
||||||
>::ALIAS
|
>::ALIAS
|
||||||
|
|
|
@ -15,48 +15,76 @@ namespace sprout {
|
||||||
template<>
|
template<>
|
||||||
struct digits<char> {
|
struct digits<char> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 22> table = sprout::to_string("0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string("0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
SPROUT_STATIC_CONSTEXPR char dash = '-';
|
SPROUT_STATIC_CONSTEXPR char dash = '-';
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char, 22> sprout::uuids::detail::digits<char>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char, 22> sprout::uuids::detail::digits<char>::table
|
||||||
SPROUT_CONSTEXPR char sprout::uuids::detail::digits<char>::dash;
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string("0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
SPROUT_CONSTEXPR_OR_CONST char sprout::uuids::detail::digits<char>::dash;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct digits<wchar_t> {
|
struct digits<wchar_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 22> table = sprout::to_string(L"0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(L"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
SPROUT_STATIC_CONSTEXPR wchar_t dash = L'-';
|
SPROUT_STATIC_CONSTEXPR wchar_t dash = L'-';
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<wchar_t, 22> sprout::uuids::detail::digits<wchar_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<wchar_t, 22> sprout::uuids::detail::digits<wchar_t>::table
|
||||||
SPROUT_CONSTEXPR wchar_t sprout::uuids::detail::digits<wchar_t>::dash;
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(L"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
SPROUT_CONSTEXPR_OR_CONST wchar_t sprout::uuids::detail::digits<wchar_t>::dash;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct digits<char16_t> {
|
struct digits<char16_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 22> table = sprout::to_string(u"0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(u"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
SPROUT_STATIC_CONSTEXPR char16_t dash = u'-';
|
SPROUT_STATIC_CONSTEXPR char16_t dash = u'-';
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char16_t, 22> sprout::uuids::detail::digits<char16_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char16_t, 22> sprout::uuids::detail::digits<char16_t>::table
|
||||||
SPROUT_CONSTEXPR char16_t sprout::uuids::detail::digits<char16_t>::dash;
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(u"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
SPROUT_CONSTEXPR_OR_CONST char16_t sprout::uuids::detail::digits<char16_t>::dash;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct digits<char32_t> {
|
struct digits<char32_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 22> table = sprout::to_string(U"0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(U"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
SPROUT_STATIC_CONSTEXPR char32_t dash = U'-';
|
SPROUT_STATIC_CONSTEXPR char32_t dash = U'-';
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char32_t, 22> sprout::uuids::detail::digits<char32_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char32_t, 22> sprout::uuids::detail::digits<char32_t>::table
|
||||||
SPROUT_CONSTEXPR char32_t sprout::uuids::detail::digits<char32_t>::dash;
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(U"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
SPROUT_CONSTEXPR_OR_CONST char32_t sprout::uuids::detail::digits<char32_t>::dash;
|
||||||
|
|
||||||
template<typename Dummy>
|
template<typename Dummy>
|
||||||
struct values;
|
struct values;
|
||||||
|
|
||||||
|
# define SPROUT_UUID_TABLE_DEF \
|
||||||
|
table_type{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 10, 11, 12, 13, 14, 15}}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct values<void> {
|
struct values<void> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::array<std::uint8_t, 22> table = sprout::array<std::uint8_t, 22>{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 10, 11, 12, 13, 14, 15}};
|
typedef sprout::array<std::uint8_t, 22> table_type;
|
||||||
|
public:
|
||||||
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_UUID_TABLE_DEF)
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::array<std::uint8_t, 22> sprout::uuids::detail::values<void>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::uuids::detail::values<void>::table_type
|
||||||
|
sprout::uuids::detail::values<void>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_UUID_TABLE_DEF)
|
||||||
|
;
|
||||||
|
|
||||||
|
# undef SPROUT_UUID_TABLE_DEF
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace uuids
|
} // namespace uuids
|
||||||
} // namespace sprout
|
} // namespace sprout
|
||||||
|
|
|
@ -18,42 +18,68 @@ namespace sprout {
|
||||||
template<>
|
template<>
|
||||||
struct bdigits<char> {
|
struct bdigits<char> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 2> table = sprout::to_string("01");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 2> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string("01"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char, 2> sprout::weed::detail::bdigits<char>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char, 2> sprout::weed::detail::bdigits<char>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string("01"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct bdigits<wchar_t> {
|
struct bdigits<wchar_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 2> table = sprout::to_string(L"01");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 2> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(L"01"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<wchar_t, 2> sprout::weed::detail::bdigits<wchar_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<wchar_t, 2> sprout::weed::detail::bdigits<wchar_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(L"01"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct bdigits<char16_t> {
|
struct bdigits<char16_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 2> table = sprout::to_string(u"01");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 2> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(u"01"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char16_t, 2> sprout::weed::detail::bdigits<char16_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char16_t, 2> sprout::weed::detail::bdigits<char16_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(u"01"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct bdigits<char32_t> {
|
struct bdigits<char32_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 2> table = sprout::to_string(U"01");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 2> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(U"01"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char32_t, 2> sprout::weed::detail::bdigits<char32_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char32_t, 2> sprout::weed::detail::bdigits<char32_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(U"01"))
|
||||||
|
;
|
||||||
|
|
||||||
template<typename Dummy>
|
template<typename Dummy>
|
||||||
struct bvalues;
|
struct bvalues;
|
||||||
|
|
||||||
|
# define SPROUT_WEED_BDIGITS_TABLE_DEF \
|
||||||
|
table_type{{0, 1}}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct bvalues<void> {
|
struct bvalues<void> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::array<std::uint8_t, 2> table = sprout::array<std::uint8_t, 2>{
|
typedef sprout::array<std::uint8_t, 2> table_type;
|
||||||
{0, 1}
|
public:
|
||||||
};
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_WEED_BDIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::array<std::uint8_t, 2> sprout::weed::detail::bvalues<void>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::weed::detail::bvalues<void>::table_type
|
||||||
|
sprout::weed::detail::bvalues<void>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_WEED_BDIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
|
|
||||||
|
# undef SPROUT_WEED_BDIGITS_TABLE_DEF
|
||||||
|
|
||||||
template<typename IntType>
|
template<typename IntType>
|
||||||
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> bvalue_at(std::size_t i) {
|
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> bvalue_at(std::size_t i) {
|
||||||
|
|
|
@ -18,42 +18,68 @@ namespace sprout {
|
||||||
template<>
|
template<>
|
||||||
struct digits<char> {
|
struct digits<char> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 10> table = sprout::to_string("0123456789");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 10> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string("0123456789"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char, 10> sprout::weed::detail::digits<char>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char, 10> sprout::weed::detail::digits<char>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string("0123456789"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct digits<wchar_t> {
|
struct digits<wchar_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 10> table = sprout::to_string(L"0123456789");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 10> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(L"0123456789"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<wchar_t, 10> sprout::weed::detail::digits<wchar_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<wchar_t, 10> sprout::weed::detail::digits<wchar_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(L"0123456789"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct digits<char16_t> {
|
struct digits<char16_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 10> table = sprout::to_string(u"0123456789");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 10> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(u"0123456789"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char16_t, 10> sprout::weed::detail::digits<char16_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char16_t, 10> sprout::weed::detail::digits<char16_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(u"0123456789"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct digits<char32_t> {
|
struct digits<char32_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 10> table = sprout::to_string(U"0123456789");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 10> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(U"0123456789"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char32_t, 10> sprout::weed::detail::digits<char32_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char32_t, 10> sprout::weed::detail::digits<char32_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(U"0123456789"))
|
||||||
|
;
|
||||||
|
|
||||||
template<typename Dummy>
|
template<typename Dummy>
|
||||||
struct values;
|
struct values;
|
||||||
|
|
||||||
|
# define SPROUT_WEED_DIGITS_TABLE_DEF \
|
||||||
|
table_type{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct values<void> {
|
struct values<void> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::array<std::uint8_t, 10> table = sprout::array<std::uint8_t, 10>{
|
typedef sprout::array<std::uint8_t, 10> table_type;
|
||||||
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
|
public:
|
||||||
};
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_WEED_DIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::array<std::uint8_t, 10> sprout::weed::detail::values<void>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::weed::detail::values<void>::table_type
|
||||||
|
sprout::weed::detail::values<void>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_WEED_DIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
|
|
||||||
|
# undef SPROUT_WEED_DIGITS_TABLE_DEF
|
||||||
|
|
||||||
template<typename IntType>
|
template<typename IntType>
|
||||||
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> value_at(std::size_t i) {
|
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> value_at(std::size_t i) {
|
||||||
|
|
|
@ -18,42 +18,68 @@ namespace sprout {
|
||||||
template<>
|
template<>
|
||||||
struct odigits<char> {
|
struct odigits<char> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 8> table = sprout::to_string("01234567");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 8> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string("01234567"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char, 8> sprout::weed::detail::odigits<char>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char, 8> sprout::weed::detail::odigits<char>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string("01234567"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct odigits<wchar_t> {
|
struct odigits<wchar_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 8> table = sprout::to_string(L"01234567");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 8> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(L"01234567"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<wchar_t, 8> sprout::weed::detail::odigits<wchar_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<wchar_t, 8> sprout::weed::detail::odigits<wchar_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(L"01234567"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct odigits<char16_t> {
|
struct odigits<char16_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 8> table = sprout::to_string(u"01234567");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 8> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(u"01234567"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char16_t, 8> sprout::weed::detail::odigits<char16_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char16_t, 8> sprout::weed::detail::odigits<char16_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(u"01234567"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct odigits<char32_t> {
|
struct odigits<char32_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 8> table = sprout::to_string(U"01234567");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 8> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(U"01234567"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char32_t, 8> sprout::weed::detail::odigits<char32_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char32_t, 8> sprout::weed::detail::odigits<char32_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(U"01234567"))
|
||||||
|
;
|
||||||
|
|
||||||
template<typename Dummy>
|
template<typename Dummy>
|
||||||
struct ovalues;
|
struct ovalues;
|
||||||
|
|
||||||
|
# define SPROUT_WEED_ODIGITS_TABLE_DEF \
|
||||||
|
table_type{{0, 1, 2, 3, 4, 5, 6, 7}}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct ovalues<void> {
|
struct ovalues<void> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::array<std::uint8_t, 8> table = sprout::array<std::uint8_t, 8>{
|
typedef sprout::array<std::uint8_t, 8> table_type;
|
||||||
{0, 1, 2, 3, 4, 5, 6, 7}
|
public:
|
||||||
};
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_WEED_ODIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::array<std::uint8_t, 8> sprout::weed::detail::ovalues<void>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::weed::detail::ovalues<void>::table_type
|
||||||
|
sprout::weed::detail::ovalues<void>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_WEED_ODIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
|
|
||||||
|
# undef SPROUT_WEED_ODIGITS_TABLE_DEF
|
||||||
|
|
||||||
template<typename IntType>
|
template<typename IntType>
|
||||||
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> ovalue_at(std::size_t i) {
|
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> ovalue_at(std::size_t i) {
|
||||||
|
|
|
@ -18,42 +18,68 @@ namespace sprout {
|
||||||
template<>
|
template<>
|
||||||
struct xdigits<char> {
|
struct xdigits<char> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 22> table = sprout::to_string("0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string("0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char, 22> sprout::weed::detail::xdigits<char>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char, 22> sprout::weed::detail::xdigits<char>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string("0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct xdigits<wchar_t> {
|
struct xdigits<wchar_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 22> table = sprout::to_string(L"0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<wchar_t, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(L"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<wchar_t, 22> sprout::weed::detail::xdigits<wchar_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<wchar_t, 22> sprout::weed::detail::xdigits<wchar_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(L"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct xdigits<char16_t> {
|
struct xdigits<char16_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 22> table = sprout::to_string(u"0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char16_t, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(u"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char16_t, 22> sprout::weed::detail::xdigits<char16_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char16_t, 22> sprout::weed::detail::xdigits<char16_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(u"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct xdigits<char32_t> {
|
struct xdigits<char32_t> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 22> table = sprout::to_string(U"0123456789abcdefABCDEF");
|
SPROUT_STATIC_CONSTEXPR sprout::basic_string<char32_t, 22> table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(sprout::to_string(U"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::basic_string<char32_t, 22> sprout::weed::detail::xdigits<char32_t>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::basic_string<char32_t, 22> sprout::weed::detail::xdigits<char32_t>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(sprout::to_string(U"0123456789abcdefABCDEF"))
|
||||||
|
;
|
||||||
|
|
||||||
template<typename Dummy>
|
template<typename Dummy>
|
||||||
struct xvalues;
|
struct xvalues;
|
||||||
|
|
||||||
|
# define SPROUT_WEED_XDIGITS_TABLE_DEF \
|
||||||
|
table_type{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 10, 11, 12, 13, 14, 15}}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct xvalues<void> {
|
struct xvalues<void> {
|
||||||
public:
|
public:
|
||||||
SPROUT_STATIC_CONSTEXPR sprout::array<std::uint8_t, 22> table = sprout::array<std::uint8_t, 22>{
|
typedef sprout::array<std::uint8_t, 22> table_type;
|
||||||
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 10, 11, 12, 13, 14, 15}
|
public:
|
||||||
};
|
SPROUT_STATIC_CONSTEXPR table_type table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER(SPROUT_WEED_XDIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
};
|
};
|
||||||
SPROUT_CONSTEXPR sprout::array<std::uint8_t, 22> sprout::weed::detail::xvalues<void>::table;
|
SPROUT_CONSTEXPR_OR_CONST sprout::weed::detail::xvalues<void>::table_type
|
||||||
|
sprout::weed::detail::xvalues<void>::table
|
||||||
|
SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(SPROUT_WEED_XDIGITS_TABLE_DEF)
|
||||||
|
;
|
||||||
|
|
||||||
|
# undef SPROUT_WEED_XDIGITS_TABLE_DEF
|
||||||
|
|
||||||
template<typename IntType>
|
template<typename IntType>
|
||||||
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> xvalue_at(std::size_t i) {
|
SPROUT_CONSTEXPR sprout::tuples::tuple<IntType, bool> xvalue_at(std::size_t i) {
|
||||||
|
|
|
@ -62,7 +62,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
template<typename Parser, std::size_t Limit>
|
template<typename Parser, std::size_t Limit>
|
||||||
SPROUT_CONSTEXPR std::size_t limit_p<Parser, Limit>::limit;
|
SPROUT_CONSTEXPR_OR_CONST std::size_t limit_p<Parser, Limit>::limit;
|
||||||
|
|
||||||
//
|
//
|
||||||
// lim
|
// lim
|
||||||
|
|
|
@ -12,11 +12,15 @@
|
||||||
//
|
//
|
||||||
// TESTSPR_STATIC_ASSERT
|
// TESTSPR_STATIC_ASSERT
|
||||||
// TESTSPR_ASSERT
|
// TESTSPR_ASSERT
|
||||||
// TESTSPR_DOUBLE_ASSERT
|
// TESTSPR_BOTH_ASSERT
|
||||||
//
|
//
|
||||||
#define TESTSPR_STATIC_ASSERT(expr) static_assert(expr, #expr)
|
#define TESTSPR_STATIC_ASSERT(expr) static_assert(expr, #expr)
|
||||||
#define TESTSPR_ASSERT(expr) assert(expr)
|
#define TESTSPR_ASSERT(expr) assert(expr)
|
||||||
#define TESTSPR_DOUBLE_ASSERT(expr) TESTSPR_STATIC_ASSERT(expr); TESTSPR_ASSERT(expr)
|
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
# define TESTSPR_BOTH_ASSERT(expr) TESTSPR_STATIC_ASSERT(expr); TESTSPR_ASSERT(expr)
|
||||||
|
#else // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
# define TESTSPR_BOTH_ASSERT(expr) TESTSPR_ASSERT(expr)
|
||||||
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
|
||||||
//
|
//
|
||||||
// TESTSPR_STATIC_WARNING
|
// TESTSPR_STATIC_WARNING
|
||||||
|
@ -30,11 +34,15 @@
|
||||||
//
|
//
|
||||||
// TESTSPR_STATIC_UNCHECKED
|
// TESTSPR_STATIC_UNCHECKED
|
||||||
// TESTSPR_UNCHECKED
|
// TESTSPR_UNCHECKED
|
||||||
// TESTSPR_DOUBLE_UNCHECKED
|
// TESTSPR_BOTH_UNCHECKED
|
||||||
//
|
//
|
||||||
#define TESTSPR_STATIC_UNCHECKED(expr) TESTSPR_STATIC_WARNING(expr)
|
#define TESTSPR_STATIC_UNCHECKED(expr) TESTSPR_STATIC_WARNING(expr)
|
||||||
#define TESTSPR_UNCHECKED(expr) (expr)
|
#define TESTSPR_UNCHECKED(expr) (expr)
|
||||||
#define TESTSPR_DOUBLE_UNCHECKED(expr) TESTSPR_STATIC_UNCHECKED(expr); TESTSPR_UNCHECKED(expr)
|
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
# define TESTSPR_BOTH_UNCHECKED(expr) TESTSPR_STATIC_UNCHECKED(expr); TESTSPR_UNCHECKED(expr)
|
||||||
|
#else // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
# define TESTSPR_BOTH_UNCHECKED(expr) TESTSPR_UNCHECKED(expr)
|
||||||
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
|
||||||
namespace testspr {
|
namespace testspr {
|
||||||
//
|
//
|
||||||
|
|
Loading…
Add table
Reference in a new issue