+ size_t w = 0;
+#define SIZE_TEST(N, T, NEG) \
+ for (size_t s = 0; s <= N; ++s) { \
+ w += s; \
+ }
+ EACH_UNSIGNED_SIZE(SIZE_TEST, false)
+ EACH_SIGNED_SIZE(SIZE_TEST, false)
+ EACH_SIGNED_SIZE(SIZE_TEST, true)
+#undef SIZE_TEST
+ bufSize = w;
+ }
+ // bits->bytes, rounding up
+ bufSize = (bufSize + 7) / 8;
+ // round up to next multiple of 8
+ bufSize = (bufSize + 7) / 8 * 8;
+ std::vector<uint8_t> buffer(bufSize);
+ uint8_t *buf = buffer.data();
+ {
+ size_t w = 0;