22#include <initializer_list>
34 int get()
const {
return fN; }
134#define kSEARCH_COUNT 91
152 int index = SkTSearch<int>(array,
kSEARCH_COUNT, array[
i],
sizeof(
int));
158 for (
i = 0;
i < 10000;
i++) {
189 int A[] = {1, 2, 3, 4};
193 for (
auto [
i, v] : enumeration) {
209 std::vector<int> vec = {1, 2, 3, 4};
226 for (
auto[
i, v] :
e) {
234 for (
auto[
i, v] :
e) {
242 for (
auto[
i, v] :
e) {
251 I(
const I&) =
default;
263 for (
size_t i = 0;
i <
s.size();
i++) {
270 std::unique_ptr<int> is[10];
271 std::unique_ptr<int> os[10];
274 v = std::make_unique<int>(
i);
281 for (
size_t i = 0;
i <
s.size();
i++) {
288 std::unique_ptr<int> is[10];
289 std::unique_ptr<int> os[10];
292 v = std::make_unique<int>(
i);
299 for (
size_t i = 0;
i <
s.size();
i++) {
307 uint16_t
A[] = {1, 2, 3, 4};
308 const float B[] = {10.f, 20.f, 30.f, 40.f};
309 std::vector<int>
C = {{20, 30, 40, 50}};
310 std::array<int, 4>
D = {{100, 200, 300, 400}};
315 z{4, &
A[0], &
B[0],
C.data(),
D.data(),
S.data()};
340 for (
auto [
a,
b, c,
d,
s] : z) {
355 for (
auto [
a,
b, c,
d,
s] : z.first(2)) {
370 for (
auto t : z.last(2)) {
371 uint16_t
a;
float b;
int c;
int d;
int s;
372 std::tie(
a,
b, c,
d,
s) = t;
387 for (
auto t : z.subspan(1, 2)) {
388 uint16_t
a;
float b;
int c;
int d;
int s;
389 std::tie(
a,
b, c,
d,
s) = t;
405 for (
auto [
a,
b, c,
d,
s] : zz) {
421 for (
auto [
a,
b, c,
d,
s] : cz) {
435 auto ptrs = z.data();
437 ptrs == std::make_tuple(&
A[0], &
B[0],
C.data(),
D.data(),
S.data()));
442 auto span = z.get<1>();
449 auto [
a,
b, c,
d,
e] = z[1];
480 uint16_t
A[] = {1, 2, 3, 4};
481 const float B[] = {10.f, 20.f, 30.f, 40.f};
482 const std::vector<int>
C = {{20, 30, 40, 50}};
483 std::array<int, 4>
D = {{100, 200, 300, 400}};
491 for (
auto [
a,
b, c,
d,
s,
p] : zz) {
606 constexpr static uint16_t cA[] = {1, 2, 3, 4};
609 constexpr static const uint16_t* cP = &cA[0];
620 const uint32_t kBitPatterns[] = {
629 for (uint32_t srcBits : kBitPatterns) {
631 float floatVal = sk_unaligned_load<float>(&srcBits);
632 uint32_t dstBits = sk_unaligned_load<uint32_t>(&floatVal);
644 REPORTER_ASSERT(r, sk_bit_cast<uint32_t>(sk_bit_cast<float>(srcBits)) == srcBits);
#define check(reporter, ref, unref, make, kill)
constexpr SkEnumerate< Iter > SkMakeEnumerate(C &c)
SkSpan(Container &&) -> SkSpan< std::remove_pointer_t< decltype(std::data(std::declval< Container >()))> >
static SK_ALWAYS_INLINE void SK_FP_SAFE_ABI sk_unaligned_store(P *ptr, T val)
constexpr auto SkMakeZip(Ts &&... ts)
#define REPORTER_ASSERT(r, cond,...)
static void test_autounref(skiatest::Reporter *reporter)
static void test_autostarray(skiatest::Reporter *reporter)
static void test_search(skiatest::Reporter *reporter)
DEF_TEST(Utils, reporter)
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
const myers::Point & get< 1 >(const myers::Segment &s)
const myers::Point & get< 0 >(const myers::Segment &s)