test(Iter(ia), Iter(ia + i), 0, pRes, pRes + i);
}
-int triangle(int n) { return n*(n+1)/2; }
+size_t triangle(size_t n) { return n*(n+1)/2; }
// Basic sanity
void basic_tests()
{
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::fill(v.begin(), v.end(), 3);
- std::exclusive_scan(v.begin(), v.end(), v.begin(), 50);
+ std::exclusive_scan(v.begin(), v.end(), v.begin(), size_t{50});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 50 + (int) i * 3);
+ assert(v[i] == 50 + i * 3);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 0);
- std::exclusive_scan(v.begin(), v.end(), v.begin(), 30);
+ std::exclusive_scan(v.begin(), v.end(), v.begin(), size_t{30});
for (size_t i = 0; i < v.size(); ++i)
assert(v[i] == 30 + triangle(i-1));
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 1);
- std::exclusive_scan(v.begin(), v.end(), v.begin(), 40);
+ std::exclusive_scan(v.begin(), v.end(), v.begin(), size_t{40});
for (size_t i = 0; i < v.size(); ++i)
assert(v[i] == 40 + triangle(i));
}
{
std::vector<unsigned char> v(10);
std::iota(v.begin(), v.end(), static_cast<unsigned char>(1));
- std::vector<int> res;
+ std::vector<size_t> res;
std::exclusive_scan(v.begin(), v.end(), std::back_inserter(res), 1, std::multiplies<>());
assert(res.size() == 10);
- int j = 1;
+ size_t j = 1;
assert(res[0] == 1);
for (size_t i = 1; i < v.size(); ++i)
{
test(Iter(ia), Iter(ia + i), pRes, pRes + i);
}
-int triangle(int n) { return n*(n+1)/2; }
+size_t triangle(size_t n) { return n*(n+1)/2; }
// Basic sanity
void basic_tests()
{
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::fill(v.begin(), v.end(), 3);
std::inclusive_scan(v.begin(), v.end(), v.begin());
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == (int)(i+1) * 3);
+ assert(v[i] == (i+1) * 3);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 0);
std::inclusive_scan(v.begin(), v.end(), v.begin());
for (size_t i = 0; i < v.size(); ++i)
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 1);
std::inclusive_scan(v.begin(), v.end(), v.begin());
for (size_t i = 0; i < v.size(); ++i)
}
{
- std::vector<int> v, res;
+ std::vector<size_t> v, res;
std::inclusive_scan(v.begin(), v.end(), std::back_inserter(res));
assert(res.empty());
}
}
}
-int triangle(int n) { return n*(n+1)/2; }
+size_t triangle(size_t n) { return n*(n+1)/2; }
// Basic sanity
void basic_tests()
{
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::fill(v.begin(), v.end(), 3);
std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>());
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == (int)(i+1) * 3);
+ assert(v[i] == (i+1) * 3);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 0);
std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>());
for (size_t i = 0; i < v.size(); ++i)
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 1);
std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>());
for (size_t i = 0; i < v.size(); ++i)
}
{
- std::vector<int> v, res;
+ std::vector<size_t> v, res;
std::inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::plus<>());
assert(res.empty());
}
}
}
-int triangle(int n) { return n*(n+1)/2; }
+size_t triangle(size_t n) { return n*(n+1)/2; }
// Basic sanity
void basic_tests()
{
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::fill(v.begin(), v.end(), 3);
- std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), 50);
+ std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), size_t{50});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 50 + (int)(i+1) * 3);
+ assert(v[i] == 50 + (i+1) * 3);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 0);
- std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), 40);
+ std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), size_t{40});
for (size_t i = 0; i < v.size(); ++i)
assert(v[i] == 40 + triangle(i));
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 1);
- std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), 30);
+ std::inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), size_t{30});
for (size_t i = 0; i < v.size(); ++i)
assert(v[i] == 30 + triangle(i + 1));
}
{
- std::vector<int> v, res;
- std::inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::plus<>(), 40);
+ std::vector<size_t> v, res;
+ std::inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::plus<>(), size_t{40});
assert(res.empty());
}
{
std::vector<unsigned char> v(10);
std::iota(v.begin(), v.end(), static_cast<unsigned char>(1));
- std::vector<int> res;
- std::inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::multiplies<>(), 1);
+ std::vector<size_t> res;
+ std::inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::multiplies<>(), size_t{1});
assert(res.size() == 10);
- int j = 1;
+ size_t j = 1;
assert(res[0] == 1);
for (size_t i = 1; i < v.size(); ++i)
{
}
}
-int triangle(int n) { return n*(n+1)/2; }
+size_t triangle(size_t n) { return n*(n+1)/2; }
// Basic sanity
void basic_tests()
{
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::fill(v.begin(), v.end(), 3);
- std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), 50, std::plus<>(), add_one{});
+ std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), size_t{50}, std::plus<>(), add_one{});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 50 + (int) i * 4);
+ assert(v[i] == 50 + i * 4);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 0);
- std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), 30, std::plus<>(), add_one{});
+ std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), size_t{30}, std::plus<>(), add_one{});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 30 + triangle(i - 1) + (int) i);
+ assert(v[i] == 30 + triangle(i - 1) + i);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 1);
- std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), 40, std::plus<>(), add_one{});
+ std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), size_t{40}, std::plus<>(), add_one{});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 40 + triangle(i) + (int) i);
+ assert(v[i] == 40 + triangle(i) + i);
}
{
- std::vector<int> v, res;
- std::transform_exclusive_scan(v.begin(), v.end(), std::back_inserter(res), 40, std::plus<>(), add_one{});
+ std::vector<size_t> v, res;
+ std::transform_exclusive_scan(v.begin(), v.end(), std::back_inserter(res), size_t{40}, std::plus<>(), add_one{});
assert(res.empty());
}
{
std::vector<unsigned char> v(10);
std::iota(v.begin(), v.end(), static_cast<unsigned char>(1));
- std::vector<int> res;
- std::transform_exclusive_scan(v.begin(), v.end(), std::back_inserter(res), 1, std::multiplies<>(), add_one{});
+ std::vector<size_t> res;
+ std::transform_exclusive_scan(v.begin(), v.end(), std::back_inserter(res), size_t{1}, std::multiplies<>(), add_one{});
assert(res.size() == 10);
- int j = 1;
+ size_t j = 1;
assert(res[0] == 1);
for (size_t i = 1; i < res.size(); ++i)
{
}
}
-int triangle(int n) { return n*(n+1)/2; }
+size_t triangle(size_t n) { return n*(n+1)/2; }
// Basic sanity
void basic_tests()
{
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::fill(v.begin(), v.end(), 3);
std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{});
- std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
+ std::copy(v.begin(), v.end(), std::ostream_iterator<size_t>(std::cout, " "));
std::cout << std::endl;
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == (int)(i+1) * 4);
+ assert(v[i] == (i+1) * 4);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 0);
std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == triangle(i) + (int)(i + 1));
+ assert(v[i] == triangle(i) + i + 1);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 1);
std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == triangle(i + 1) + (int)(i + 1));
+ assert(v[i] == triangle(i + 1) + i + 1);
}
{
- std::vector<int> v, res;
+ std::vector<size_t> v, res;
std::transform_inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::plus<>(), add_one{});
assert(res.empty());
}
}
}
-int triangle(int n) { return n*(n+1)/2; }
+size_t triangle(size_t n) { return n*(n+1)/2; }
// Basic sanity
void basic_tests()
{
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::fill(v.begin(), v.end(), 3);
- std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{}, 50);
+ std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{}, size_t{50});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 50 + (int) (i + 1) * 4);
+ assert(v[i] == 50 + (i + 1) * 4);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 0);
- std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{}, 30);
+ std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{}, size_t{30});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 30 + triangle(i) + (int) (i + 1));
+ assert(v[i] == 30 + triangle(i) + i + 1);
}
{
- std::vector<int> v(10);
+ std::vector<size_t> v(10);
std::iota(v.begin(), v.end(), 1);
- std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{}, 40);
+ std::transform_inclusive_scan(v.begin(), v.end(), v.begin(), std::plus<>(), add_one{}, size_t{40});
for (size_t i = 0; i < v.size(); ++i)
- assert(v[i] == 40 + triangle(i + 1) + (int) (i + 1));
+ assert(v[i] == 40 + triangle(i + 1) + i + 1);
}
{
- std::vector<int> v, res;
- std::transform_inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::plus<>(), add_one{}, 1);
+ std::vector<size_t> v, res;
+ std::transform_inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::plus<>(), add_one{}, size_t{1});
assert(res.empty());
}
{
std::vector<unsigned char> v(10);
std::iota(v.begin(), v.end(), static_cast<unsigned char>(1));
- std::vector<int> res;
- std::transform_inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::multiplies<>(), add_one{}, 1);
+ std::vector<size_t> res;
+ std::transform_inclusive_scan(v.begin(), v.end(), std::back_inserter(res), std::multiplies<>(), add_one{}, size_t{1});
assert(res.size() == 10);
- int j = 2;
+ size_t j = 2;
assert(res[0] == 2);
for (size_t i = 1; i < res.size(); ++i)
{
{
// https://bugs.llvm.org/show_bug.cgi?id=31454
std::basic_string<veryLarge> s;
- veryLarge vl;
+ veryLarge vl = {};
s.push_back(vl);
s.push_back(vl);
s.push_back(vl);
#include <tuple>
#include <string>
+#include <cassert>
#include "test_macros.h"
#if TEST_HAS_BUILTIN_IDENTIFIER(__reference_binds_to_temporary)