Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
composable_kernel
Commits
863e069b
Commit
863e069b
authored
Aug 18, 2020
by
Chao Liu
Browse files
refactor print array
parent
0ab47e06
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
179 additions
and
177 deletions
+179
-177
composable_kernel/include/utility/print.hpp
composable_kernel/include/utility/print.hpp
+179
-177
No files found.
composable_kernel/include/utility/print.hpp
View file @
863e069b
...
@@ -12,186 +12,188 @@ __host__ __device__ void print_array(const char* s, T a)
...
@@ -12,186 +12,188 @@ __host__ __device__ void print_array(const char* s, T a)
using
data_type
=
typename
decltype
(
a
)
::
data_type
;
using
data_type
=
typename
decltype
(
a
)
::
data_type
;
constexpr
index_t
nsize
=
a
.
Size
();
constexpr
index_t
nsize
=
a
.
Size
();
static_assert
(
nsize
>
0
&&
nsize
<=
10
,
"wrong!"
);
static_assert
(
nsize
>
=
0
&&
nsize
<=
10
,
"wrong!"
);
if
if
constexpr
(
is_same
<
data_type
,
uint32_t
>
{})
constexpr
(
is_same
<
data_type
,
uint32_t
>
{})
{
if
constexpr
(
nsize
==
0
)
{
{
static_if
<
nsize
==
1
>
{}([
&
](
auto
)
{
printf
(
"%s size %u
, {%u}
\n
"
,
s
,
nsize
,
a
[
0
]);
}
);
printf
(
"%s size %u
\n
"
,
s
,
nsize
);
}
static_if
<
nsize
==
2
>
{}(
else
if
constexpr
(
nsize
==
1
)
[
&
](
auto
)
{
printf
(
"%s size %u, {%u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
]);
});
{
printf
(
"%s size %u, {%u}
\n
"
,
s
,
nsize
,
a
[
0
]);
static_if
<
nsize
==
3
>
{}(
}
[
&
](
auto
)
{
printf
(
"%s size %u, {%u %u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
]);
});
else
if
constexpr
(
nsize
==
2
)
{
static_if
<
nsize
==
4
>
{}([
&
](
auto
)
{
printf
(
"%s size %u, {%u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
]);
printf
(
"%s size %u, {%u %u %u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
]);
}
});
else
if
constexpr
(
nsize
==
3
)
{
static_if
<
nsize
==
5
>
{}([
&
](
auto
)
{
printf
(
"%s size %u, {%u %u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
]);
printf
(
"%s size %u, {%u %u %u %u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
],
a
[
4
]);
}
});
else
if
constexpr
(
nsize
==
4
)
{
static_if
<
nsize
==
6
>
{}([
&
](
auto
)
{
printf
(
"%s size %u, {%u %u %u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
]);
printf
(
"%s size %u, {%u %u %u %u %u %u}
\n
"
,
}
s
,
else
if
constexpr
(
nsize
==
5
)
nsize
,
{
a
[
0
],
printf
(
"%s size %u, {%u %u %u %u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
],
a
[
4
]);
a
[
1
],
}
a
[
2
],
else
if
constexpr
(
nsize
==
6
)
a
[
3
],
{
a
[
4
],
printf
(
a
[
5
]);
"%s size %u, {%u %u %u %u %u %u}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
],
a
[
4
],
a
[
5
]);
});
}
else
if
constexpr
(
nsize
==
7
)
static_if
<
nsize
==
7
>
{}([
&
](
auto
)
{
{
printf
(
"%s size %u, {%u %u %u %u %u %u %u}
\n
"
,
printf
(
"%s size %u, {%u %u %u %u %u %u %u}
\n
"
,
s
,
s
,
nsize
,
nsize
,
a
[
0
],
a
[
0
],
a
[
1
],
a
[
1
],
a
[
2
],
a
[
2
],
a
[
3
],
a
[
3
],
a
[
4
],
a
[
4
],
a
[
5
],
a
[
5
],
a
[
6
]);
a
[
6
]);
});
}
else
if
constexpr
(
nsize
==
8
)
static_if
<
nsize
==
8
>
{}([
&
](
auto
)
{
{
printf
(
"%s size %u, {%u %u %u %u %u %u %u %u}
\n
"
,
printf
(
"%s size %u, {%u %u %u %u %u %u %u %u}
\n
"
,
s
,
s
,
nsize
,
nsize
,
a
[
0
],
a
[
0
],
a
[
1
],
a
[
1
],
a
[
2
],
a
[
2
],
a
[
3
],
a
[
3
],
a
[
4
],
a
[
4
],
a
[
5
],
a
[
5
],
a
[
6
],
a
[
6
],
a
[
7
]);
a
[
7
]);
});
}
else
if
constexpr
(
nsize
==
9
)
static_if
<
nsize
==
9
>
{}([
&
](
auto
)
{
{
printf
(
"%s size %u, {%u %u %u %u %u %u %u %u %u}
\n
"
,
printf
(
"%s size %u, {%u %u %u %u %u %u %u %u %u}
\n
"
,
s
,
s
,
nsize
,
nsize
,
a
[
0
],
a
[
0
],
a
[
1
],
a
[
1
],
a
[
2
],
a
[
2
],
a
[
3
],
a
[
3
],
a
[
4
],
a
[
4
],
a
[
5
],
a
[
5
],
a
[
6
],
a
[
6
],
a
[
7
],
a
[
7
],
a
[
8
]);
a
[
8
]);
});
}
else
if
constexpr
(
nsize
==
10
)
static_if
<
nsize
==
10
>
{}([
&
](
auto
)
{
{
printf
(
"%s size %u, {%u %u %u %u %u %u %u %u %u %u}
\n
"
,
printf
(
"%s size %u, {%u %u %u %u %u %u %u %u %u %u}
\n
"
,
s
,
s
,
nsize
,
nsize
,
a
[
0
],
a
[
0
],
a
[
1
],
a
[
1
],
a
[
2
],
a
[
2
],
a
[
3
],
a
[
3
],
a
[
4
],
a
[
4
],
a
[
5
],
a
[
5
],
a
[
6
],
a
[
6
],
a
[
7
],
a
[
7
],
a
[
8
],
a
[
8
],
a
[
9
]);
a
[
9
]);
});
}
}
}
else
if
else
if
constexpr
(
is_same
<
data_type
,
int32_t
>
{})
constexpr
(
is_same
<
data_type
,
int32_t
>
{})
{
{
if
constexpr
(
nsize
==
0
)
static_if
<
nsize
==
1
>
{}([
&
](
auto
)
{
printf
(
"%s size %d, {%d}
\n
"
,
s
,
nsize
,
a
[
0
]);
});
{
printf
(
"%s size %d
\n
"
,
s
,
nsize
);
static_if
<
nsize
==
2
>
{}(
}
[
&
](
auto
)
{
printf
(
"%s size %d, {%d %d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
]);
});
else
if
constexpr
(
nsize
==
1
)
{
static_if
<
nsize
==
3
>
{}(
printf
(
"%s size %d, {%d}
\n
"
,
s
,
nsize
,
a
[
0
]);
[
&
](
auto
)
{
printf
(
"%s size %d, {%d %d %d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
]);
});
}
else
if
constexpr
(
nsize
==
2
)
static_if
<
nsize
==
4
>
{}([
&
](
auto
)
{
{
printf
(
"%s size %d, {%d
%d %d
%d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
]
,
a
[
2
],
a
[
3
]
);
printf
(
"%s size %d, {%d %d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
]);
});
}
else
if
constexpr
(
nsize
==
3
)
static_if
<
nsize
==
5
>
{}([
&
](
auto
)
{
{
printf
(
"%s size %d, {%d %d
%d %d
%d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
]
,
a
[
3
],
a
[
4
]
);
printf
(
"%s size %d, {%d %d %d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
]);
});
}
else
if
constexpr
(
nsize
==
4
)
static_if
<
nsize
==
6
>
{}([
&
](
auto
)
{
{
printf
(
"%s size %d, {%d %d %d %d
%d %d}
\n
"
,
printf
(
"%s size %d, {%d %d %d %d
}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
]);
s
,
}
nsize
,
else
if
constexpr
(
nsize
==
5
)
a
[
0
],
{
a
[
1
],
printf
(
"%s size %d, {%d %d %d %d %d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
],
a
[
4
]);
a
[
2
],
}
a
[
3
],
else
if
constexpr
(
nsize
==
6
)
a
[
4
],
{
a
[
5
]);
printf
(
}
);
"%s size %d, {%d %d %d %d %d %d}
\n
"
,
s
,
nsize
,
a
[
0
],
a
[
1
],
a
[
2
],
a
[
3
],
a
[
4
],
a
[
5
]
);
}
static_if
<
nsize
==
7
>
{}([
&
](
auto
)
{
else
if
constexpr
(
nsize
==
7
)
printf
(
"%s size %d, {%d %d %d %d %d %d %d}
\n
"
,
{
s
,
printf
(
"%s size %d, {%d %d %d %d %d %d %d}
\n
"
,
nsize
,
s
,
a
[
0
]
,
nsize
,
a
[
1
],
a
[
0
],
a
[
2
],
a
[
1
],
a
[
3
],
a
[
2
],
a
[
4
],
a
[
3
],
a
[
5
],
a
[
4
],
a
[
6
]);
a
[
5
],
}
);
a
[
6
]
);
}
static_if
<
nsize
==
8
>
{}([
&
](
auto
)
{
else
if
constexpr
(
nsize
==
8
)
printf
(
"%s size %d, {%d %d %d %d %d %d %d %d}
\n
"
,
{
s
,
printf
(
"%s size %d, {%d %d %d %d %d %d %d %d}
\n
"
,
nsize
,
s
,
a
[
0
]
,
nsize
,
a
[
1
],
a
[
0
],
a
[
2
],
a
[
1
],
a
[
3
],
a
[
2
],
a
[
4
],
a
[
3
],
a
[
5
],
a
[
4
],
a
[
6
],
a
[
5
],
a
[
7
]);
a
[
6
],
}
);
a
[
7
]
);
}
static_if
<
nsize
==
9
>
{}([
&
](
auto
)
{
else
if
constexpr
(
nsize
==
9
)
printf
(
"%s size %d, {%d %d %d %d %d %d %d %d %d}
\n
"
,
{
s
,
printf
(
"%s size %d, {%d %d %d %d %d %d %d %d %d}
\n
"
,
nsize
,
s
,
a
[
0
]
,
nsize
,
a
[
1
],
a
[
0
],
a
[
2
],
a
[
1
],
a
[
3
],
a
[
2
],
a
[
4
],
a
[
3
],
a
[
5
],
a
[
4
],
a
[
6
],
a
[
5
],
a
[
7
],
a
[
6
],
a
[
8
]);
a
[
7
],
}
);
a
[
8
]
);
}
static_if
<
nsize
==
10
>
{}([
&
](
auto
)
{
else
if
constexpr
(
nsize
==
10
)
printf
(
"%s size %d, {%d %d %d %d %d %d %d %d %d %d}
\n
"
,
{
s
,
printf
(
"%s size %d, {%d %d %d %d %d %d %d %d %d %d}
\n
"
,
nsize
,
s
,
a
[
0
]
,
nsize
,
a
[
1
],
a
[
0
],
a
[
2
],
a
[
1
],
a
[
3
],
a
[
2
],
a
[
4
],
a
[
3
],
a
[
5
],
a
[
4
],
a
[
6
],
a
[
5
],
a
[
7
],
a
[
6
],
a
[
8
],
a
[
7
],
a
[
9
]);
a
[
8
],
}
);
a
[
9
]
);
}
}
}
}
}
}
// namespace ck
}
// namespace ck
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment