From 95b1777c748c59a289c404ddad8c5381277ecce2 Mon Sep 17 00:00:00 2001 From: Nana Sakisaka <1901813+saki7@users.noreply.github.com> Date: Mon, 24 Aug 2026 12:17:11 +0900 Subject: [PATCH 1/4] Add `ZZ_` prefix to all private macros --- cpp.hint | 4 +- include/iris/alloy/adapt.hpp | 4 +- include/iris/alloy/traits.hpp | 2 +- include/iris/alloy/tuple.hpp | 4 +- include/iris/bits/is_function_object.hpp | 4 +- include/iris/bits/specialization_of.hpp | 4 +- include/iris/exception.hpp | 28 +- include/iris/pp/add.hpp | 14 +- include/iris/pp/bool.hpp | 68 +- include/iris/pp/cat.hpp | 4 +- include/iris/pp/comma.hpp | 4 +- include/iris/pp/decrement.hpp | 70 +- include/iris/pp/for.hpp | 198 +-- include/iris/pp/if.hpp | 6 +- include/iris/pp/increment.hpp | 68 +- include/iris/pp/not_equal.hpp | 136 +- include/iris/pp/rec.hpp | 22 +- include/iris/pp/repeat.hpp | 588 ++++----- include/iris/pp/seq.hpp | 250 ++-- include/iris/pp/stringize.hpp | 4 +- include/iris/pp/sub.hpp | 14 +- include/iris/pp/tuple.hpp | 1134 ++++++++--------- include/iris/pp/while.hpp | 132 +- include/iris/rvariant/detail/rvariant_fwd.hpp | 10 - include/iris/rvariant/detail/visit.hpp | 12 +- include/iris/rvariant/rvariant.hpp | 4 +- include/iris/type_traits.hpp | 4 +- test/CMakeLists.txt | 1 + test/library_config.cpp | 82 ++ 29 files changed, 1473 insertions(+), 1402 deletions(-) create mode 100644 test/library_config.cpp diff --git a/cpp.hint b/cpp.hint index 238b569..869fc81 100644 --- a/cpp.hint +++ b/cpp.hint @@ -4,8 +4,6 @@ // such as names of functions and macros. // For more information see https://go.microsoft.com/fwlink/?linkid=865984 -#define IRIS_RVARIANT_VISIT_NOEXCEPT - #define IRIS_RVARIANT_ALWAYS_THROWING_UNREACHABLE_BEGIN #define IRIS_RVARIANT_ALWAYS_THROWING_UNREACHABLE_END @@ -18,5 +16,5 @@ #define IRIS_FORCEINLINE #define IRIS_LIFETIMEBOUND -#define IRIS_THROW_NORETURN [[noreturn]] +#define IRIS_CONFIG_THROW_NORETURN [[noreturn]] diff --git a/include/iris/alloy/adapt.hpp b/include/iris/alloy/adapt.hpp index e6133c4..f4f7031 100644 --- a/include/iris/alloy/adapt.hpp +++ b/include/iris/alloy/adapt.hpp @@ -18,7 +18,7 @@ struct adaptor; } // iris::alloy -#define IRIS_ALLOY_ADAPT_STRUCT_I(index, data_member, class_name) \ +#define IRIS_ZZ_ALLOY_ADAPT_STRUCT_I(index, data_member, class_name) \ IRIS_PP_COMMA_IF(index) & class_name::data_member #define IRIS_ALLOY_ADAPT_STRUCT(class_name, ...) \ @@ -28,7 +28,7 @@ struct adaptor; using getters_list = iris::constant_list< \ IRIS_PP_SEQ_FOR_EACH_WITH_INDEX( \ IRIS_PP_TUPLE_TO_SEQ((__VA_ARGS__)), \ - IRIS_ALLOY_ADAPT_STRUCT_I, \ + IRIS_ZZ_ALLOY_ADAPT_STRUCT_I, \ class_name \ ) \ >; \ diff --git a/include/iris/alloy/traits.hpp b/include/iris/alloy/traits.hpp index edc5858..3e66e42 100644 --- a/include/iris/alloy/traits.hpp +++ b/include/iris/alloy/traits.hpp @@ -75,7 +75,7 @@ struct tuple_element {}; template struct tuple_element> { - using type = IRIS_CORE_PACK_INDEXING(I, Ts...); + using type = IRIS_PACK_INDEXING(I, Ts...); }; template diff --git a/include/iris/alloy/tuple.hpp b/include/iris/alloy/tuple.hpp index 0dbdf00..aeb8490 100644 --- a/include/iris/alloy/tuple.hpp +++ b/include/iris/alloy/tuple.hpp @@ -49,7 +49,7 @@ struct tuple_traits : tuple_traits_impl, UTuple, template struct tuple_one_element_is_constructible_from_tuple : std::bool_constant<(sizeof...(Ts) == 1) && - (std::is_convertible_v || std::is_constructible_v)> + (std::is_convertible_v || std::is_constructible_v)> {}; template @@ -67,7 +67,7 @@ class tuple : public detail::tuple_impl template static constexpr bool disambiguating_constraint = []() { if constexpr (sizeof...(Ts) == 1) { - return !std::is_same_v, tuple>; + return !std::is_same_v, tuple>; } else { return true; } diff --git a/include/iris/bits/is_function_object.hpp b/include/iris/bits/is_function_object.hpp index 59c2788..c8a6319 100644 --- a/include/iris/bits/is_function_object.hpp +++ b/include/iris/bits/is_function_object.hpp @@ -1,5 +1,5 @@ -#ifndef IRIS_BITS_IS_FUNCTION_OBJECT -#define IRIS_BITS_IS_FUNCTION_OBJECT +#ifndef IRIS_ZZ_BITS_IS_FUNCTION_OBJECT_HPP +#define IRIS_ZZ_BITS_IS_FUNCTION_OBJECT_HPP // SPDX-License-Identifier: MIT diff --git a/include/iris/bits/specialization_of.hpp b/include/iris/bits/specialization_of.hpp index b9a771c..a3a2ff4 100644 --- a/include/iris/bits/specialization_of.hpp +++ b/include/iris/bits/specialization_of.hpp @@ -1,5 +1,5 @@ -#ifndef IRIS_BITS_SPECIALIZATION_OF -#define IRIS_BITS_SPECIALIZATION_OF +#ifndef IRIS_ZZ_BITS_SPECIALIZATION_OF_HPP +#define IRIS_ZZ_BITS_SPECIALIZATION_OF_HPP // SPDX-License-Identifier: MIT diff --git a/include/iris/exception.hpp b/include/iris/exception.hpp index 25e3967..866a493 100644 --- a/include/iris/exception.hpp +++ b/include/iris/exception.hpp @@ -11,12 +11,12 @@ #include #include -#ifndef IRIS_THROW_IMPL -# define IRIS_THROW_IMPL(...) throw __VA_ARGS__ +#ifndef IRIS_CONFIG_THROW_IMPL +# define IRIS_CONFIG_THROW_IMPL(...) throw __VA_ARGS__ #endif -#ifndef IRIS_THROW_NORETURN -# define IRIS_THROW_NORETURN [[noreturn]] +#ifndef IRIS_CONFIG_THROW_NORETURN +# define IRIS_CONFIG_THROW_NORETURN [[noreturn]] #endif namespace iris { @@ -34,44 +34,44 @@ concept constructible_from_string_like_types = inline namespace error_functions { template -IRIS_THROW_NORETURN void throwf() +IRIS_CONFIG_THROW_NORETURN void throwf() { static_assert(std::is_base_of_v); static_assert(std::is_constructible_v); - IRIS_THROW_IMPL(E{}); + IRIS_CONFIG_THROW_IMPL(E{}); } template requires std::is_constructible_v -IRIS_THROW_NORETURN void throwf(Arg&& arg, Rest&&... rest) +IRIS_CONFIG_THROW_NORETURN void throwf(Arg&& arg, Rest&&... rest) { static_assert(std::is_base_of_v); static_assert(!std::is_base_of_v>, "don't copy/move construct exception types directly"); - IRIS_THROW_IMPL(E{std::forward(arg), std::forward(rest)...}); + IRIS_CONFIG_THROW_IMPL(E{std::forward(arg), std::forward(rest)...}); } template requires detail::constructible_from_string_like_types -IRIS_THROW_NORETURN void throwf(std::format_string fmt, Args&&... args) +IRIS_CONFIG_THROW_NORETURN void throwf(std::format_string fmt, Args&&... args) { static_assert(std::is_base_of_v); - IRIS_THROW_IMPL(E{std::format(std::move(fmt), std::forward(args)...)}); + IRIS_CONFIG_THROW_IMPL(E{std::format(std::move(fmt), std::forward(args)...)}); } template requires detail::constructible_from_string_like_types -IRIS_THROW_NORETURN void throwf(Arg0&& arg0, std::format_string fmt, Args&&... args) +IRIS_CONFIG_THROW_NORETURN void throwf(Arg0&& arg0, std::format_string fmt, Args&&... args) { static_assert(std::is_base_of_v); - IRIS_THROW_IMPL(E{std::forward(arg0), std::format(std::move(fmt), std::forward(args)...)}); + IRIS_CONFIG_THROW_IMPL(E{std::forward(arg0), std::format(std::move(fmt), std::forward(args)...)}); } template requires detail::constructible_from_string_like_types -IRIS_THROW_NORETURN void throwf(Arg0&& arg0, Arg1&& arg1, std::format_string fmt, Args&&... args) +IRIS_CONFIG_THROW_NORETURN void throwf(Arg0&& arg0, Arg1&& arg1, std::format_string fmt, Args&&... args) { static_assert(std::is_base_of_v); - IRIS_THROW_IMPL( + IRIS_CONFIG_THROW_IMPL( E{ std::forward(arg0), std::forward(arg1), std::format(std::move(fmt), std::forward(args)...) diff --git a/include/iris/pp/add.hpp b/include/iris/pp/add.hpp index 2e78efa..10d5716 100644 --- a/include/iris/pp/add.hpp +++ b/include/iris/pp/add.hpp @@ -8,15 +8,15 @@ #include #include -#define IRIS_PP_ADD(a, b) IRIS_PP_ADD_I_FIRST(IRIS_PP_WHILE((a, b), IRIS_PP_ADD_I_PRED, IRIS_PP_ADD_I_UPDATE)) +#define IRIS_PP_ADD(a, b) IRIS_ZZ_PP_ADD_I_FIRST(IRIS_PP_WHILE((a, b), IRIS_ZZ_PP_ADD_I_PRED, IRIS_ZZ_PP_ADD_I_UPDATE)) -#define IRIS_PP_ADD_I_FIRST(state) IRIS_PP_ADD_I_FIRST_I state -#define IRIS_PP_ADD_I_FIRST_I(a, b) a +#define IRIS_ZZ_PP_ADD_I_FIRST(state) IRIS_ZZ_PP_ADD_I_FIRST_I state +#define IRIS_ZZ_PP_ADD_I_FIRST_I(a, b) a -#define IRIS_PP_ADD_I_PRED(state) IRIS_PP_ADD_I_PRED_I state -#define IRIS_PP_ADD_I_PRED_I(a, b) b +#define IRIS_ZZ_PP_ADD_I_PRED(state) IRIS_ZZ_PP_ADD_I_PRED_I state +#define IRIS_ZZ_PP_ADD_I_PRED_I(a, b) b -#define IRIS_PP_ADD_I_UPDATE(state) IRIS_PP_ADD_I_UPDATE_I state -#define IRIS_PP_ADD_I_UPDATE_I(a, b) (IRIS_PP_INCREMENT(a), IRIS_PP_DECREMENT(b)) +#define IRIS_ZZ_PP_ADD_I_UPDATE(state) IRIS_ZZ_PP_ADD_I_UPDATE_I state +#define IRIS_ZZ_PP_ADD_I_UPDATE_I(a, b) (IRIS_PP_INCREMENT(a), IRIS_PP_DECREMENT(b)) #endif diff --git a/include/iris/pp/bool.hpp b/include/iris/pp/bool.hpp index c2e5b54..1017fb7 100644 --- a/include/iris/pp/bool.hpp +++ b/include/iris/pp/bool.hpp @@ -5,40 +5,40 @@ #include -#define IRIS_PP_BOOL(expr) IRIS_PP_CAT(IRIS_PP_BOOL_I_, expr) +#define IRIS_PP_BOOL(expr) IRIS_PP_CAT(IRIS_ZZ_PP_BOOL_I_, expr) -#define IRIS_PP_BOOL_I_0 0 -#define IRIS_PP_BOOL_I_1 1 -#define IRIS_PP_BOOL_I_2 1 -#define IRIS_PP_BOOL_I_3 1 -#define IRIS_PP_BOOL_I_4 1 -#define IRIS_PP_BOOL_I_5 1 -#define IRIS_PP_BOOL_I_6 1 -#define IRIS_PP_BOOL_I_7 1 -#define IRIS_PP_BOOL_I_8 1 -#define IRIS_PP_BOOL_I_9 1 -#define IRIS_PP_BOOL_I_10 1 -#define IRIS_PP_BOOL_I_11 1 -#define IRIS_PP_BOOL_I_12 1 -#define IRIS_PP_BOOL_I_13 1 -#define IRIS_PP_BOOL_I_14 1 -#define IRIS_PP_BOOL_I_15 1 -#define IRIS_PP_BOOL_I_16 1 -#define IRIS_PP_BOOL_I_17 1 -#define IRIS_PP_BOOL_I_18 1 -#define IRIS_PP_BOOL_I_19 1 -#define IRIS_PP_BOOL_I_20 1 -#define IRIS_PP_BOOL_I_21 1 -#define IRIS_PP_BOOL_I_22 1 -#define IRIS_PP_BOOL_I_23 1 -#define IRIS_PP_BOOL_I_24 1 -#define IRIS_PP_BOOL_I_25 1 -#define IRIS_PP_BOOL_I_26 1 -#define IRIS_PP_BOOL_I_27 1 -#define IRIS_PP_BOOL_I_28 1 -#define IRIS_PP_BOOL_I_29 1 -#define IRIS_PP_BOOL_I_30 1 -#define IRIS_PP_BOOL_I_31 1 -#define IRIS_PP_BOOL_I_32 1 +#define IRIS_ZZ_PP_BOOL_I_0 0 +#define IRIS_ZZ_PP_BOOL_I_1 1 +#define IRIS_ZZ_PP_BOOL_I_2 1 +#define IRIS_ZZ_PP_BOOL_I_3 1 +#define IRIS_ZZ_PP_BOOL_I_4 1 +#define IRIS_ZZ_PP_BOOL_I_5 1 +#define IRIS_ZZ_PP_BOOL_I_6 1 +#define IRIS_ZZ_PP_BOOL_I_7 1 +#define IRIS_ZZ_PP_BOOL_I_8 1 +#define IRIS_ZZ_PP_BOOL_I_9 1 +#define IRIS_ZZ_PP_BOOL_I_10 1 +#define IRIS_ZZ_PP_BOOL_I_11 1 +#define IRIS_ZZ_PP_BOOL_I_12 1 +#define IRIS_ZZ_PP_BOOL_I_13 1 +#define IRIS_ZZ_PP_BOOL_I_14 1 +#define IRIS_ZZ_PP_BOOL_I_15 1 +#define IRIS_ZZ_PP_BOOL_I_16 1 +#define IRIS_ZZ_PP_BOOL_I_17 1 +#define IRIS_ZZ_PP_BOOL_I_18 1 +#define IRIS_ZZ_PP_BOOL_I_19 1 +#define IRIS_ZZ_PP_BOOL_I_20 1 +#define IRIS_ZZ_PP_BOOL_I_21 1 +#define IRIS_ZZ_PP_BOOL_I_22 1 +#define IRIS_ZZ_PP_BOOL_I_23 1 +#define IRIS_ZZ_PP_BOOL_I_24 1 +#define IRIS_ZZ_PP_BOOL_I_25 1 +#define IRIS_ZZ_PP_BOOL_I_26 1 +#define IRIS_ZZ_PP_BOOL_I_27 1 +#define IRIS_ZZ_PP_BOOL_I_28 1 +#define IRIS_ZZ_PP_BOOL_I_29 1 +#define IRIS_ZZ_PP_BOOL_I_30 1 +#define IRIS_ZZ_PP_BOOL_I_31 1 +#define IRIS_ZZ_PP_BOOL_I_32 1 #endif diff --git a/include/iris/pp/cat.hpp b/include/iris/pp/cat.hpp index 065af85..8ccbbc7 100644 --- a/include/iris/pp/cat.hpp +++ b/include/iris/pp/cat.hpp @@ -3,7 +3,7 @@ // SPDX-License-Identifier: MIT -#define IRIS_PP_CAT_I(a, b) a##b -#define IRIS_PP_CAT(a, b) IRIS_PP_CAT_I(a, b) +#define IRIS_ZZ_PP_CAT_I(a, b) a##b +#define IRIS_PP_CAT(a, b) IRIS_ZZ_PP_CAT_I(a, b) #endif diff --git a/include/iris/pp/comma.hpp b/include/iris/pp/comma.hpp index da7c502..124895d 100644 --- a/include/iris/pp/comma.hpp +++ b/include/iris/pp/comma.hpp @@ -4,8 +4,8 @@ #include #define IRIS_PP_COMMA() , -#define IRIS_PP_COMMA_I_EMPTY() +#define IRIS_ZZ_PP_COMMA_I_EMPTY() -#define IRIS_PP_COMMA_IF(cond) IRIS_PP_IF(cond, IRIS_PP_COMMA, IRIS_PP_COMMA_I_EMPTY)() +#define IRIS_PP_COMMA_IF(cond) IRIS_PP_IF(cond, IRIS_PP_COMMA, IRIS_ZZ_PP_COMMA_I_EMPTY)() #endif diff --git a/include/iris/pp/decrement.hpp b/include/iris/pp/decrement.hpp index 46a0358..217214f 100644 --- a/include/iris/pp/decrement.hpp +++ b/include/iris/pp/decrement.hpp @@ -5,41 +5,41 @@ #include -#define IRIS_PP_DECREMENT(expr) IRIS_PP_DECREMENT_I(expr) -#define IRIS_PP_DECREMENT_I(expr) IRIS_PP_CAT(IRIS_PP_DECREMENT_I_, expr) +#define IRIS_PP_DECREMENT(expr) IRIS_ZZ_PP_DECREMENT_I(expr) +#define IRIS_ZZ_PP_DECREMENT_I(expr) IRIS_PP_CAT(IRIS_ZZ_PP_DECREMENT_I_, expr) -#define IRIS_PP_DECREMENT_I_0 0 -#define IRIS_PP_DECREMENT_I_1 0 -#define IRIS_PP_DECREMENT_I_2 1 -#define IRIS_PP_DECREMENT_I_3 2 -#define IRIS_PP_DECREMENT_I_4 3 -#define IRIS_PP_DECREMENT_I_5 4 -#define IRIS_PP_DECREMENT_I_6 5 -#define IRIS_PP_DECREMENT_I_7 6 -#define IRIS_PP_DECREMENT_I_8 7 -#define IRIS_PP_DECREMENT_I_9 8 -#define IRIS_PP_DECREMENT_I_10 9 -#define IRIS_PP_DECREMENT_I_11 10 -#define IRIS_PP_DECREMENT_I_12 11 -#define IRIS_PP_DECREMENT_I_13 12 -#define IRIS_PP_DECREMENT_I_14 13 -#define IRIS_PP_DECREMENT_I_15 14 -#define IRIS_PP_DECREMENT_I_16 15 -#define IRIS_PP_DECREMENT_I_17 16 -#define IRIS_PP_DECREMENT_I_18 17 -#define IRIS_PP_DECREMENT_I_19 18 -#define IRIS_PP_DECREMENT_I_20 19 -#define IRIS_PP_DECREMENT_I_21 20 -#define IRIS_PP_DECREMENT_I_22 21 -#define IRIS_PP_DECREMENT_I_23 22 -#define IRIS_PP_DECREMENT_I_24 23 -#define IRIS_PP_DECREMENT_I_25 24 -#define IRIS_PP_DECREMENT_I_26 25 -#define IRIS_PP_DECREMENT_I_27 26 -#define IRIS_PP_DECREMENT_I_28 27 -#define IRIS_PP_DECREMENT_I_29 28 -#define IRIS_PP_DECREMENT_I_30 29 -#define IRIS_PP_DECREMENT_I_31 30 -#define IRIS_PP_DECREMENT_I_32 31 +#define IRIS_ZZ_PP_DECREMENT_I_0 0 +#define IRIS_ZZ_PP_DECREMENT_I_1 0 +#define IRIS_ZZ_PP_DECREMENT_I_2 1 +#define IRIS_ZZ_PP_DECREMENT_I_3 2 +#define IRIS_ZZ_PP_DECREMENT_I_4 3 +#define IRIS_ZZ_PP_DECREMENT_I_5 4 +#define IRIS_ZZ_PP_DECREMENT_I_6 5 +#define IRIS_ZZ_PP_DECREMENT_I_7 6 +#define IRIS_ZZ_PP_DECREMENT_I_8 7 +#define IRIS_ZZ_PP_DECREMENT_I_9 8 +#define IRIS_ZZ_PP_DECREMENT_I_10 9 +#define IRIS_ZZ_PP_DECREMENT_I_11 10 +#define IRIS_ZZ_PP_DECREMENT_I_12 11 +#define IRIS_ZZ_PP_DECREMENT_I_13 12 +#define IRIS_ZZ_PP_DECREMENT_I_14 13 +#define IRIS_ZZ_PP_DECREMENT_I_15 14 +#define IRIS_ZZ_PP_DECREMENT_I_16 15 +#define IRIS_ZZ_PP_DECREMENT_I_17 16 +#define IRIS_ZZ_PP_DECREMENT_I_18 17 +#define IRIS_ZZ_PP_DECREMENT_I_19 18 +#define IRIS_ZZ_PP_DECREMENT_I_20 19 +#define IRIS_ZZ_PP_DECREMENT_I_21 20 +#define IRIS_ZZ_PP_DECREMENT_I_22 21 +#define IRIS_ZZ_PP_DECREMENT_I_23 22 +#define IRIS_ZZ_PP_DECREMENT_I_24 23 +#define IRIS_ZZ_PP_DECREMENT_I_25 24 +#define IRIS_ZZ_PP_DECREMENT_I_26 25 +#define IRIS_ZZ_PP_DECREMENT_I_27 26 +#define IRIS_ZZ_PP_DECREMENT_I_28 27 +#define IRIS_ZZ_PP_DECREMENT_I_29 28 +#define IRIS_ZZ_PP_DECREMENT_I_30 29 +#define IRIS_ZZ_PP_DECREMENT_I_31 30 +#define IRIS_ZZ_PP_DECREMENT_I_32 31 #endif diff --git a/include/iris/pp/for.hpp b/include/iris/pp/for.hpp index 12d7aa6..5d4001e 100644 --- a/include/iris/pp/for.hpp +++ b/include/iris/pp/for.hpp @@ -5,107 +5,107 @@ #include -#define IRIS_PP_FOR(state, pred, update, macro) IRIS_PP_FOR_I_0(state, pred, update, macro) +#define IRIS_PP_FOR(state, pred, update, macro) IRIS_ZZ_PP_FOR_I_0(state, pred, update, macro) -#define IRIS_PP_FOR_I_0(state, pred, op, macro) IRIS_PP_FOR_I_I_0(state, pred, op, macro) -#define IRIS_PP_FOR_I_1(state, pred, op, macro) IRIS_PP_FOR_I_I_1(state, pred, op, macro) -#define IRIS_PP_FOR_I_2(state, pred, op, macro) IRIS_PP_FOR_I_I_2(state, pred, op, macro) -#define IRIS_PP_FOR_I_3(state, pred, op, macro) IRIS_PP_FOR_I_I_3(state, pred, op, macro) -#define IRIS_PP_FOR_I_4(state, pred, op, macro) IRIS_PP_FOR_I_I_4(state, pred, op, macro) -#define IRIS_PP_FOR_I_5(state, pred, op, macro) IRIS_PP_FOR_I_I_5(state, pred, op, macro) -#define IRIS_PP_FOR_I_6(state, pred, op, macro) IRIS_PP_FOR_I_I_6(state, pred, op, macro) -#define IRIS_PP_FOR_I_7(state, pred, op, macro) IRIS_PP_FOR_I_I_7(state, pred, op, macro) -#define IRIS_PP_FOR_I_8(state, pred, op, macro) IRIS_PP_FOR_I_I_8(state, pred, op, macro) -#define IRIS_PP_FOR_I_9(state, pred, op, macro) IRIS_PP_FOR_I_I_9(state, pred, op, macro) -#define IRIS_PP_FOR_I_10(state, pred, op, macro) IRIS_PP_FOR_I_I_10(state, pred, op, macro) -#define IRIS_PP_FOR_I_11(state, pred, op, macro) IRIS_PP_FOR_I_I_11(state, pred, op, macro) -#define IRIS_PP_FOR_I_12(state, pred, op, macro) IRIS_PP_FOR_I_I_12(state, pred, op, macro) -#define IRIS_PP_FOR_I_13(state, pred, op, macro) IRIS_PP_FOR_I_I_13(state, pred, op, macro) -#define IRIS_PP_FOR_I_14(state, pred, op, macro) IRIS_PP_FOR_I_I_14(state, pred, op, macro) -#define IRIS_PP_FOR_I_15(state, pred, op, macro) IRIS_PP_FOR_I_I_15(state, pred, op, macro) -#define IRIS_PP_FOR_I_16(state, pred, op, macro) IRIS_PP_FOR_I_I_16(state, pred, op, macro) -#define IRIS_PP_FOR_I_17(state, pred, op, macro) IRIS_PP_FOR_I_I_17(state, pred, op, macro) -#define IRIS_PP_FOR_I_18(state, pred, op, macro) IRIS_PP_FOR_I_I_18(state, pred, op, macro) -#define IRIS_PP_FOR_I_19(state, pred, op, macro) IRIS_PP_FOR_I_I_19(state, pred, op, macro) -#define IRIS_PP_FOR_I_20(state, pred, op, macro) IRIS_PP_FOR_I_I_20(state, pred, op, macro) -#define IRIS_PP_FOR_I_21(state, pred, op, macro) IRIS_PP_FOR_I_I_21(state, pred, op, macro) -#define IRIS_PP_FOR_I_22(state, pred, op, macro) IRIS_PP_FOR_I_I_22(state, pred, op, macro) -#define IRIS_PP_FOR_I_23(state, pred, op, macro) IRIS_PP_FOR_I_I_23(state, pred, op, macro) -#define IRIS_PP_FOR_I_24(state, pred, op, macro) IRIS_PP_FOR_I_I_24(state, pred, op, macro) -#define IRIS_PP_FOR_I_25(state, pred, op, macro) IRIS_PP_FOR_I_I_25(state, pred, op, macro) -#define IRIS_PP_FOR_I_26(state, pred, op, macro) IRIS_PP_FOR_I_I_26(state, pred, op, macro) -#define IRIS_PP_FOR_I_27(state, pred, op, macro) IRIS_PP_FOR_I_I_27(state, pred, op, macro) -#define IRIS_PP_FOR_I_28(state, pred, op, macro) IRIS_PP_FOR_I_I_28(state, pred, op, macro) -#define IRIS_PP_FOR_I_29(state, pred, op, macro) IRIS_PP_FOR_I_I_29(state, pred, op, macro) -#define IRIS_PP_FOR_I_30(state, pred, op, macro) IRIS_PP_FOR_I_I_30(state, pred, op, macro) -#define IRIS_PP_FOR_I_31(state, pred, op, macro) IRIS_PP_FOR_I_I_31(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_0(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_0(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_1(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_1(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_2(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_2(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_3(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_3(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_4(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_4(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_5(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_5(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_6(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_6(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_7(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_7(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_8(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_8(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_9(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_9(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_10(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_10(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_11(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_11(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_12(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_12(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_13(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_13(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_14(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_14(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_15(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_15(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_16(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_16(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_17(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_17(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_18(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_18(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_19(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_19(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_20(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_20(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_21(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_21(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_22(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_22(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_23(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_23(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_24(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_24(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_25(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_25(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_26(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_26(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_27(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_27(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_28(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_28(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_29(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_29(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_30(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_30(state, pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_31(state, pred, op, macro) IRIS_ZZ_PP_FOR_I_I_31(state, pred, op, macro) -#define IRIS_PP_FOR_I_EAT_1(a1) -#define IRIS_PP_FOR_I_EAT_4(a1, a2, a3, a4) +#define IRIS_ZZ_PP_FOR_I_EAT_1(a1) +#define IRIS_ZZ_PP_FOR_I_EAT_4(a1, a2, a3, a4) -#define IRIS_PP_FOR_I_I_0(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_1, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_1(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_2, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_2(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_3, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_3(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_4, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_4(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_5, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_5(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_6, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_6(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_7, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_7(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_8, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_8(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_9, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_9(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_10, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_10(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_11, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_11(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_12, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_12(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_13, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_13(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_14, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_14(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_15, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_15(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_16, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_16(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_17, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_17(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_18, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_18(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_19, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_19(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_20, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_20(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_21, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_21(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_22, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_22(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_23, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_23(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_24, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_24(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_25, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_25(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_26, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_26(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_27, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_27(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_28, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_28(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_29, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_29(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_30, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_30(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_31, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) -#define IRIS_PP_FOR_I_I_31(state, pred, op, macro) \ - IRIS_PP_IF(pred(state), macro, IRIS_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_PP_FOR_I_32, IRIS_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_0(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_1, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_1(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_2, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_2(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_3, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_3(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_4, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_4(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_5, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_5(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_6, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_6(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_7, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_7(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_8, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_8(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_9, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_9(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_10, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_10(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_11, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_11(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_12, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_12(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_13, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_13(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_14, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_14(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_15, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_15(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_16, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_16(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_17, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_17(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_18, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_18(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_19, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_19(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_20, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_20(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_21, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_21(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_22, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_22(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_23, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_23(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_24, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_24(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_25, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_25(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_26, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_26(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_27, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_27(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_28, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_28(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_29, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_29(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_30, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_30(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_31, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) +#define IRIS_ZZ_PP_FOR_I_I_31(state, pred, op, macro) \ + IRIS_PP_IF(pred(state), macro, IRIS_ZZ_PP_FOR_I_EAT_1)(state) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_FOR_I_32, IRIS_ZZ_PP_FOR_I_EAT_4)(op(state), pred, op, macro) #endif diff --git a/include/iris/pp/if.hpp b/include/iris/pp/if.hpp index e919813..1ee41ac 100644 --- a/include/iris/pp/if.hpp +++ b/include/iris/pp/if.hpp @@ -7,9 +7,9 @@ #include #define IRIS_PP_IF(expr, true_expr, false_expr) IRIS_PP_IIF(IRIS_PP_BOOL(expr), true_expr, false_expr) -#define IRIS_PP_IIF(zero_or_one, one_expr, zero_expr) IRIS_PP_CAT(IRIS_PP_IIF_I_, zero_or_one)(one_expr, zero_expr) +#define IRIS_PP_IIF(zero_or_one, one_expr, zero_expr) IRIS_PP_CAT(IRIS_ZZ_PP_IIF_I_, zero_or_one)(one_expr, zero_expr) -#define IRIS_PP_IIF_I_0(one_expr, zero_expr) zero_expr -#define IRIS_PP_IIF_I_1(one_expr, zero_expr) one_expr +#define IRIS_ZZ_PP_IIF_I_0(one_expr, zero_expr) zero_expr +#define IRIS_ZZ_PP_IIF_I_1(one_expr, zero_expr) one_expr #endif diff --git a/include/iris/pp/increment.hpp b/include/iris/pp/increment.hpp index 4c6c50c..2e6c6b8 100644 --- a/include/iris/pp/increment.hpp +++ b/include/iris/pp/increment.hpp @@ -5,40 +5,40 @@ #include -#define IRIS_PP_INCREMENT(expr) IRIS_PP_CAT(IRIS_PP_INCREMENT_I_, expr) +#define IRIS_PP_INCREMENT(expr) IRIS_PP_CAT(IRIS_ZZ_PP_INCREMENT_I_, expr) -#define IRIS_PP_INCREMENT_I_0 1 -#define IRIS_PP_INCREMENT_I_1 2 -#define IRIS_PP_INCREMENT_I_2 3 -#define IRIS_PP_INCREMENT_I_3 4 -#define IRIS_PP_INCREMENT_I_4 5 -#define IRIS_PP_INCREMENT_I_5 6 -#define IRIS_PP_INCREMENT_I_6 7 -#define IRIS_PP_INCREMENT_I_7 8 -#define IRIS_PP_INCREMENT_I_8 9 -#define IRIS_PP_INCREMENT_I_9 10 -#define IRIS_PP_INCREMENT_I_10 11 -#define IRIS_PP_INCREMENT_I_11 12 -#define IRIS_PP_INCREMENT_I_12 13 -#define IRIS_PP_INCREMENT_I_13 14 -#define IRIS_PP_INCREMENT_I_14 15 -#define IRIS_PP_INCREMENT_I_15 16 -#define IRIS_PP_INCREMENT_I_16 17 -#define IRIS_PP_INCREMENT_I_17 18 -#define IRIS_PP_INCREMENT_I_18 19 -#define IRIS_PP_INCREMENT_I_19 20 -#define IRIS_PP_INCREMENT_I_20 21 -#define IRIS_PP_INCREMENT_I_21 22 -#define IRIS_PP_INCREMENT_I_22 23 -#define IRIS_PP_INCREMENT_I_23 24 -#define IRIS_PP_INCREMENT_I_24 25 -#define IRIS_PP_INCREMENT_I_25 26 -#define IRIS_PP_INCREMENT_I_26 27 -#define IRIS_PP_INCREMENT_I_27 28 -#define IRIS_PP_INCREMENT_I_28 29 -#define IRIS_PP_INCREMENT_I_29 30 -#define IRIS_PP_INCREMENT_I_30 31 -#define IRIS_PP_INCREMENT_I_31 32 -#define IRIS_PP_INCREMENT_I_32 32 +#define IRIS_ZZ_PP_INCREMENT_I_0 1 +#define IRIS_ZZ_PP_INCREMENT_I_1 2 +#define IRIS_ZZ_PP_INCREMENT_I_2 3 +#define IRIS_ZZ_PP_INCREMENT_I_3 4 +#define IRIS_ZZ_PP_INCREMENT_I_4 5 +#define IRIS_ZZ_PP_INCREMENT_I_5 6 +#define IRIS_ZZ_PP_INCREMENT_I_6 7 +#define IRIS_ZZ_PP_INCREMENT_I_7 8 +#define IRIS_ZZ_PP_INCREMENT_I_8 9 +#define IRIS_ZZ_PP_INCREMENT_I_9 10 +#define IRIS_ZZ_PP_INCREMENT_I_10 11 +#define IRIS_ZZ_PP_INCREMENT_I_11 12 +#define IRIS_ZZ_PP_INCREMENT_I_12 13 +#define IRIS_ZZ_PP_INCREMENT_I_13 14 +#define IRIS_ZZ_PP_INCREMENT_I_14 15 +#define IRIS_ZZ_PP_INCREMENT_I_15 16 +#define IRIS_ZZ_PP_INCREMENT_I_16 17 +#define IRIS_ZZ_PP_INCREMENT_I_17 18 +#define IRIS_ZZ_PP_INCREMENT_I_18 19 +#define IRIS_ZZ_PP_INCREMENT_I_19 20 +#define IRIS_ZZ_PP_INCREMENT_I_20 21 +#define IRIS_ZZ_PP_INCREMENT_I_21 22 +#define IRIS_ZZ_PP_INCREMENT_I_22 23 +#define IRIS_ZZ_PP_INCREMENT_I_23 24 +#define IRIS_ZZ_PP_INCREMENT_I_24 25 +#define IRIS_ZZ_PP_INCREMENT_I_25 26 +#define IRIS_ZZ_PP_INCREMENT_I_26 27 +#define IRIS_ZZ_PP_INCREMENT_I_27 28 +#define IRIS_ZZ_PP_INCREMENT_I_28 29 +#define IRIS_ZZ_PP_INCREMENT_I_29 30 +#define IRIS_ZZ_PP_INCREMENT_I_30 31 +#define IRIS_ZZ_PP_INCREMENT_I_31 32 +#define IRIS_ZZ_PP_INCREMENT_I_32 32 #endif diff --git a/include/iris/pp/not_equal.hpp b/include/iris/pp/not_equal.hpp index f819b36..8dbd432 100644 --- a/include/iris/pp/not_equal.hpp +++ b/include/iris/pp/not_equal.hpp @@ -5,76 +5,76 @@ #include -#define IRIS_PP_NOT_EQUAL(a, b) IRIS_PP_CAT(IRIS_PP_NOT_EQUAL_I_CHECK_, IRIS_PP_CAT(IRIS_PP_NOT_EQUAL_I_, a)(IRIS_PP_CAT(IRIS_PP_NOT_EQUAL_I_, b))) +#define IRIS_PP_NOT_EQUAL(a, b) IRIS_PP_CAT(IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_, IRIS_PP_CAT(IRIS_ZZ_PP_NOT_EQUAL_I_, a)(IRIS_PP_CAT(IRIS_ZZ_PP_NOT_EQUAL_I_, b))) -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_NIL(nil) 1 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_NIL(nil) 1 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_0(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_1(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_2(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_3(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_4(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_5(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_6(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_7(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_8(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_9(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_10(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_11(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_12(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_13(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_14(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_15(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_16(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_17(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_18(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_19(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_20(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_21(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_22(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_23(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_24(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_25(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_26(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_27(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_28(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_29(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_30(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_31(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_CHECK_IRIS_PP_NOT_EQUAL_I_32(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_0(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_1(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_2(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_3(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_4(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_5(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_6(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_7(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_8(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_9(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_10(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_11(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_12(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_13(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_14(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_15(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_16(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_17(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_18(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_19(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_20(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_21(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_22(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_23(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_24(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_25(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_26(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_27(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_28(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_29(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_30(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_31(nil) 0 +#define IRIS_ZZ_PP_NOT_EQUAL_I_CHECK_IRIS_ZZ_PP_NOT_EQUAL_I_32(nil) 0 -#define IRIS_PP_NOT_EQUAL_I_0(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_1(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_2(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_3(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_4(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_5(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_6(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_7(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_8(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_9(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_10(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_11(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_12(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_13(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_14(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_15(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_16(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_17(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_18(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_19(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_20(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_21(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_22(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_23(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_24(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_25(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_26(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_27(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_28(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_29(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_30(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_31(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) -#define IRIS_PP_NOT_EQUAL_I_32(possibly_self) possibly_self(IRIS_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_0(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_1(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_2(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_3(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_4(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_5(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_6(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_7(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_8(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_9(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_10(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_11(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_12(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_13(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_14(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_15(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_16(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_17(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_18(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_19(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_20(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_21(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_22(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_23(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_24(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_25(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_26(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_27(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_28(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_29(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_30(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_31(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) +#define IRIS_ZZ_PP_NOT_EQUAL_I_32(possibly_self) possibly_self(IRIS_ZZ_PP_NOT_EQUAL_I_NIL) #endif diff --git a/include/iris/pp/rec.hpp b/include/iris/pp/rec.hpp index bad9493..00f65a5 100644 --- a/include/iris/pp/rec.hpp +++ b/include/iris/pp/rec.hpp @@ -3,22 +3,22 @@ #include -#define IRIS_PP_REC(pred, n) IRIS_PP_CAT(IRIS_PP_REC_I_NODE_ENTRY_, n)(pred) +#define IRIS_PP_REC(pred, n) IRIS_PP_CAT(IRIS_ZZ_PP_REC_I_NODE_ENTRY_, n)(pred) -#define IRIS_PP_REC_I_NODE_ENTRY_8(pred) IRIS_PP_REC_I_NODE_4(pred)(pred)(pred) -#define IRIS_PP_REC_I_NODE_ENTRY_4(pred) IRIS_PP_REC_I_NODE_2(pred)(pred) -#define IRIS_PP_REC_I_NODE_ENTRY_2(pred) IRIS_PP_REC_I_NODE_1(pred) +#define IRIS_ZZ_PP_REC_I_NODE_ENTRY_8(pred) IRIS_ZZ_PP_REC_I_NODE_4(pred)(pred)(pred) +#define IRIS_ZZ_PP_REC_I_NODE_ENTRY_4(pred) IRIS_ZZ_PP_REC_I_NODE_2(pred)(pred) +#define IRIS_ZZ_PP_REC_I_NODE_ENTRY_2(pred) IRIS_ZZ_PP_REC_I_NODE_1(pred) -#define IRIS_PP_REC_I_NODE_4(pred) IRIS_PP_IF(pred(4), IRIS_PP_REC_I_NODE_2, IRIS_PP_REC_I_NODE_6) +#define IRIS_ZZ_PP_REC_I_NODE_4(pred) IRIS_PP_IF(pred(4), IRIS_ZZ_PP_REC_I_NODE_2, IRIS_ZZ_PP_REC_I_NODE_6) -#define IRIS_PP_REC_I_NODE_2(pred) IRIS_PP_IF(pred(2), IRIS_PP_REC_I_NODE_1, IRIS_PP_REC_I_NODE_3) +#define IRIS_ZZ_PP_REC_I_NODE_2(pred) IRIS_PP_IF(pred(2), IRIS_ZZ_PP_REC_I_NODE_1, IRIS_ZZ_PP_REC_I_NODE_3) -#define IRIS_PP_REC_I_NODE_1(pred) IRIS_PP_IF(pred(1), 1, 2) -#define IRIS_PP_REC_I_NODE_3(pred) IRIS_PP_IF(pred(3), 3, 4) +#define IRIS_ZZ_PP_REC_I_NODE_1(pred) IRIS_PP_IF(pred(1), 1, 2) +#define IRIS_ZZ_PP_REC_I_NODE_3(pred) IRIS_PP_IF(pred(3), 3, 4) -#define IRIS_PP_REC_I_NODE_6(pred) IRIS_PP_IF(pred(6), IRIS_PP_REC_I_NODE_5, IRIS_PP_REC_I_NODE_7) +#define IRIS_ZZ_PP_REC_I_NODE_6(pred) IRIS_PP_IF(pred(6), IRIS_ZZ_PP_REC_I_NODE_5, IRIS_ZZ_PP_REC_I_NODE_7) -#define IRIS_PP_REC_I_NODE_5(pred) IRIS_PP_IF(pred(5), 5, 6) -#define IRIS_PP_REC_I_NODE_7(pred) IRIS_PP_IF(pred(5), 7, 8) +#define IRIS_ZZ_PP_REC_I_NODE_5(pred) IRIS_PP_IF(pred(5), 5, 6) +#define IRIS_ZZ_PP_REC_I_NODE_7(pred) IRIS_PP_IF(pred(5), 7, 8) #endif diff --git a/include/iris/pp/repeat.hpp b/include/iris/pp/repeat.hpp index 76c9902..c2fe7e9 100644 --- a/include/iris/pp/repeat.hpp +++ b/include/iris/pp/repeat.hpp @@ -8,315 +8,315 @@ #include #include -#define IRIS_PP_REPEAT IRIS_PP_CAT(IRIS_PP_REPEAT_, IRIS_PP_REC(IRIS_PP_REPEAT_I_PRED, 8)) +#define IRIS_PP_REPEAT IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_, IRIS_PP_REC(IRIS_ZZ_PP_REPEAT_I_PRED, 8)) -#define IRIS_PP_REPEAT_I_EAT_2(a, b) -#define IRIS_PP_REPEAT_I_PRED(n) \ - IRIS_PP_CAT(IRIS_PP_REPEAT_I_CHECK_, IRIS_PP_CAT(IRIS_PP_REPEAT_, n)(1, IRIS_PP_REPEAT_I_NIL IRIS_PP_REPEAT_I_EAT_2, IRIS_PP_REPEAT_I_NIL)) +#define IRIS_ZZ_PP_REPEAT_I_EAT_2(a, b) +#define IRIS_ZZ_PP_REPEAT_I_PRED(n) \ + IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_I_CHECK_, IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_, n)(1, IRIS_ZZ_PP_REPEAT_I_NIL IRIS_ZZ_PP_REPEAT_I_EAT_2, IRIS_ZZ_PP_REPEAT_I_NIL)) -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_I_NIL 1 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_1(count, macro, data) 0 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_2(count, macro, data) 0 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_3(count, macro, data) 0 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_4(count, macro, data) 0 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_5(count, macro, data) 0 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_6(count, macro, data) 0 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_7(count, macro, data) 0 -#define IRIS_PP_REPEAT_I_CHECK_IRIS_PP_REPEAT_8(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_I_NIL 1 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_1(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_2(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_3(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_4(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_5(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_6(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_7(count, macro, data) 0 +#define IRIS_ZZ_PP_REPEAT_I_CHECK_IRIS_ZZ_PP_REPEAT_8(count, macro, data) 0 -#define IRIS_PP_REPEAT_1(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_1_I_, count)(macro, data) -#define IRIS_PP_REPEAT_2(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_2_I_, count)(macro, data) -#define IRIS_PP_REPEAT_3(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_3_I_, count)(macro, data) -#define IRIS_PP_REPEAT_4(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_4_I_, count)(macro, data) -#define IRIS_PP_REPEAT_5(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_5_I_, count)(macro, data) -#define IRIS_PP_REPEAT_6(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_6_I_, count)(macro, data) -#define IRIS_PP_REPEAT_7(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_7_I_, count)(macro, data) -#define IRIS_PP_REPEAT_8(count, macro, data) IRIS_PP_CAT(IRIS_PP_REPEAT_8_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_1(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_1_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_2(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_2_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_3(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_3_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_4(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_4_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_5(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_5_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_6(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_6_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_7(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_7_I_, count)(macro, data) +#define IRIS_ZZ_PP_REPEAT_8(count, macro, data) IRIS_PP_CAT(IRIS_ZZ_PP_REPEAT_8_I_, count)(macro, data) -#define IRIS_PP_REPEAT_FROM_TO(from, to, macro, data) IRIS_PP_REPEAT(IRIS_PP_SUB(to, from), IRIS_PP_REPEAT_FROM_TO_I, (macro, from, data)) +#define IRIS_PP_REPEAT_FROM_TO(from, to, macro, data) IRIS_PP_REPEAT(IRIS_PP_SUB(to, from), IRIS_ZZ_PP_REPEAT_FROM_TO_I, (macro, from, data)) -#define IRIS_PP_REPEAT_FROM_TO_I_MACRO(state) IRIS_PP_REPEAT_FROM_TO_I_MACRO_I state -#define IRIS_PP_REPEAT_FROM_TO_I_MACRO_I(macro, from, data) macro +#define IRIS_ZZ_PP_REPEAT_FROM_TO_I_MACRO(state) IRIS_ZZ_PP_REPEAT_FROM_TO_I_MACRO_I state +#define IRIS_ZZ_PP_REPEAT_FROM_TO_I_MACRO_I(macro, from, data) macro -#define IRIS_PP_REPEAT_FROM_TO_I_FROM(state) IRIS_PP_REPEAT_FROM_TO_I_FROM_I state -#define IRIS_PP_REPEAT_FROM_TO_I_FROM_I(macro, from, data) from +#define IRIS_ZZ_PP_REPEAT_FROM_TO_I_FROM(state) IRIS_ZZ_PP_REPEAT_FROM_TO_I_FROM_I state +#define IRIS_ZZ_PP_REPEAT_FROM_TO_I_FROM_I(macro, from, data) from -#define IRIS_PP_REPEAT_FROM_TO_I_DATA(state) IRIS_PP_REPEAT_FROM_TO_I_DATA_I state -#define IRIS_PP_REPEAT_FROM_TO_I_DATA_I(macro, from, data) data +#define IRIS_ZZ_PP_REPEAT_FROM_TO_I_DATA(state) IRIS_ZZ_PP_REPEAT_FROM_TO_I_DATA_I state +#define IRIS_ZZ_PP_REPEAT_FROM_TO_I_DATA_I(macro, from, data) data -#define IRIS_PP_REPEAT_FROM_TO_I(index, state) \ - IRIS_PP_REPEAT_FROM_TO_I_MACRO(state)(IRIS_PP_ADD(index, IRIS_PP_REPEAT_FROM_TO_I_FROM(state)), IRIS_PP_REPEAT_FROM_TO_I_DATA(state)) +#define IRIS_ZZ_PP_REPEAT_FROM_TO_I(index, state) \ + IRIS_ZZ_PP_REPEAT_FROM_TO_I_MACRO(state)(IRIS_PP_ADD(index, IRIS_ZZ_PP_REPEAT_FROM_TO_I_FROM(state)), IRIS_ZZ_PP_REPEAT_FROM_TO_I_DATA(state)) -#define IRIS_PP_REPEAT_1_I_0(macro, data) -#define IRIS_PP_REPEAT_1_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_1_I_2(macro, data) IRIS_PP_REPEAT_1_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_1_I_3(macro, data) IRIS_PP_REPEAT_1_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_1_I_4(macro, data) IRIS_PP_REPEAT_1_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_1_I_5(macro, data) IRIS_PP_REPEAT_1_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_1_I_6(macro, data) IRIS_PP_REPEAT_1_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_1_I_7(macro, data) IRIS_PP_REPEAT_1_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_1_I_8(macro, data) IRIS_PP_REPEAT_1_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_1_I_9(macro, data) IRIS_PP_REPEAT_1_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_1_I_10(macro, data) IRIS_PP_REPEAT_1_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_1_I_11(macro, data) IRIS_PP_REPEAT_1_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_1_I_12(macro, data) IRIS_PP_REPEAT_1_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_1_I_13(macro, data) IRIS_PP_REPEAT_1_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_1_I_14(macro, data) IRIS_PP_REPEAT_1_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_1_I_15(macro, data) IRIS_PP_REPEAT_1_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_1_I_16(macro, data) IRIS_PP_REPEAT_1_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_1_I_17(macro, data) IRIS_PP_REPEAT_1_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_1_I_18(macro, data) IRIS_PP_REPEAT_1_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_1_I_19(macro, data) IRIS_PP_REPEAT_1_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_1_I_20(macro, data) IRIS_PP_REPEAT_1_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_1_I_21(macro, data) IRIS_PP_REPEAT_1_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_1_I_22(macro, data) IRIS_PP_REPEAT_1_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_1_I_23(macro, data) IRIS_PP_REPEAT_1_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_1_I_24(macro, data) IRIS_PP_REPEAT_1_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_1_I_25(macro, data) IRIS_PP_REPEAT_1_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_1_I_26(macro, data) IRIS_PP_REPEAT_1_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_1_I_27(macro, data) IRIS_PP_REPEAT_1_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_1_I_28(macro, data) IRIS_PP_REPEAT_1_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_1_I_29(macro, data) IRIS_PP_REPEAT_1_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_1_I_30(macro, data) IRIS_PP_REPEAT_1_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_1_I_31(macro, data) IRIS_PP_REPEAT_1_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_1_I_32(macro, data) IRIS_PP_REPEAT_1_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_1_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_1_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_1_I_2(macro, data) IRIS_ZZ_PP_REPEAT_1_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_1_I_3(macro, data) IRIS_ZZ_PP_REPEAT_1_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_1_I_4(macro, data) IRIS_ZZ_PP_REPEAT_1_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_1_I_5(macro, data) IRIS_ZZ_PP_REPEAT_1_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_1_I_6(macro, data) IRIS_ZZ_PP_REPEAT_1_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_1_I_7(macro, data) IRIS_ZZ_PP_REPEAT_1_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_1_I_8(macro, data) IRIS_ZZ_PP_REPEAT_1_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_1_I_9(macro, data) IRIS_ZZ_PP_REPEAT_1_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_1_I_10(macro, data) IRIS_ZZ_PP_REPEAT_1_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_1_I_11(macro, data) IRIS_ZZ_PP_REPEAT_1_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_1_I_12(macro, data) IRIS_ZZ_PP_REPEAT_1_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_1_I_13(macro, data) IRIS_ZZ_PP_REPEAT_1_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_1_I_14(macro, data) IRIS_ZZ_PP_REPEAT_1_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_1_I_15(macro, data) IRIS_ZZ_PP_REPEAT_1_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_1_I_16(macro, data) IRIS_ZZ_PP_REPEAT_1_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_1_I_17(macro, data) IRIS_ZZ_PP_REPEAT_1_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_1_I_18(macro, data) IRIS_ZZ_PP_REPEAT_1_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_1_I_19(macro, data) IRIS_ZZ_PP_REPEAT_1_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_1_I_20(macro, data) IRIS_ZZ_PP_REPEAT_1_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_1_I_21(macro, data) IRIS_ZZ_PP_REPEAT_1_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_1_I_22(macro, data) IRIS_ZZ_PP_REPEAT_1_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_1_I_23(macro, data) IRIS_ZZ_PP_REPEAT_1_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_1_I_24(macro, data) IRIS_ZZ_PP_REPEAT_1_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_1_I_25(macro, data) IRIS_ZZ_PP_REPEAT_1_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_1_I_26(macro, data) IRIS_ZZ_PP_REPEAT_1_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_1_I_27(macro, data) IRIS_ZZ_PP_REPEAT_1_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_1_I_28(macro, data) IRIS_ZZ_PP_REPEAT_1_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_1_I_29(macro, data) IRIS_ZZ_PP_REPEAT_1_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_1_I_30(macro, data) IRIS_ZZ_PP_REPEAT_1_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_1_I_31(macro, data) IRIS_ZZ_PP_REPEAT_1_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_1_I_32(macro, data) IRIS_ZZ_PP_REPEAT_1_I_31(macro, data) macro(31, data) -#define IRIS_PP_REPEAT_2_I_0(macro, data) -#define IRIS_PP_REPEAT_2_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_2_I_2(macro, data) IRIS_PP_REPEAT_2_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_2_I_3(macro, data) IRIS_PP_REPEAT_2_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_2_I_4(macro, data) IRIS_PP_REPEAT_2_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_2_I_5(macro, data) IRIS_PP_REPEAT_2_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_2_I_6(macro, data) IRIS_PP_REPEAT_2_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_2_I_7(macro, data) IRIS_PP_REPEAT_2_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_2_I_8(macro, data) IRIS_PP_REPEAT_2_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_2_I_9(macro, data) IRIS_PP_REPEAT_2_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_2_I_10(macro, data) IRIS_PP_REPEAT_2_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_2_I_11(macro, data) IRIS_PP_REPEAT_2_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_2_I_12(macro, data) IRIS_PP_REPEAT_2_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_2_I_13(macro, data) IRIS_PP_REPEAT_2_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_2_I_14(macro, data) IRIS_PP_REPEAT_2_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_2_I_15(macro, data) IRIS_PP_REPEAT_2_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_2_I_16(macro, data) IRIS_PP_REPEAT_2_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_2_I_17(macro, data) IRIS_PP_REPEAT_2_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_2_I_18(macro, data) IRIS_PP_REPEAT_2_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_2_I_19(macro, data) IRIS_PP_REPEAT_2_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_2_I_20(macro, data) IRIS_PP_REPEAT_2_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_2_I_21(macro, data) IRIS_PP_REPEAT_2_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_2_I_22(macro, data) IRIS_PP_REPEAT_2_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_2_I_23(macro, data) IRIS_PP_REPEAT_2_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_2_I_24(macro, data) IRIS_PP_REPEAT_2_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_2_I_25(macro, data) IRIS_PP_REPEAT_2_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_2_I_26(macro, data) IRIS_PP_REPEAT_2_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_2_I_27(macro, data) IRIS_PP_REPEAT_2_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_2_I_28(macro, data) IRIS_PP_REPEAT_2_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_2_I_29(macro, data) IRIS_PP_REPEAT_2_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_2_I_30(macro, data) IRIS_PP_REPEAT_2_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_2_I_31(macro, data) IRIS_PP_REPEAT_2_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_2_I_32(macro, data) IRIS_PP_REPEAT_2_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_2_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_2_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_2_I_2(macro, data) IRIS_ZZ_PP_REPEAT_2_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_2_I_3(macro, data) IRIS_ZZ_PP_REPEAT_2_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_2_I_4(macro, data) IRIS_ZZ_PP_REPEAT_2_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_2_I_5(macro, data) IRIS_ZZ_PP_REPEAT_2_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_2_I_6(macro, data) IRIS_ZZ_PP_REPEAT_2_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_2_I_7(macro, data) IRIS_ZZ_PP_REPEAT_2_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_2_I_8(macro, data) IRIS_ZZ_PP_REPEAT_2_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_2_I_9(macro, data) IRIS_ZZ_PP_REPEAT_2_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_2_I_10(macro, data) IRIS_ZZ_PP_REPEAT_2_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_2_I_11(macro, data) IRIS_ZZ_PP_REPEAT_2_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_2_I_12(macro, data) IRIS_ZZ_PP_REPEAT_2_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_2_I_13(macro, data) IRIS_ZZ_PP_REPEAT_2_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_2_I_14(macro, data) IRIS_ZZ_PP_REPEAT_2_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_2_I_15(macro, data) IRIS_ZZ_PP_REPEAT_2_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_2_I_16(macro, data) IRIS_ZZ_PP_REPEAT_2_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_2_I_17(macro, data) IRIS_ZZ_PP_REPEAT_2_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_2_I_18(macro, data) IRIS_ZZ_PP_REPEAT_2_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_2_I_19(macro, data) IRIS_ZZ_PP_REPEAT_2_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_2_I_20(macro, data) IRIS_ZZ_PP_REPEAT_2_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_2_I_21(macro, data) IRIS_ZZ_PP_REPEAT_2_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_2_I_22(macro, data) IRIS_ZZ_PP_REPEAT_2_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_2_I_23(macro, data) IRIS_ZZ_PP_REPEAT_2_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_2_I_24(macro, data) IRIS_ZZ_PP_REPEAT_2_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_2_I_25(macro, data) IRIS_ZZ_PP_REPEAT_2_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_2_I_26(macro, data) IRIS_ZZ_PP_REPEAT_2_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_2_I_27(macro, data) IRIS_ZZ_PP_REPEAT_2_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_2_I_28(macro, data) IRIS_ZZ_PP_REPEAT_2_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_2_I_29(macro, data) IRIS_ZZ_PP_REPEAT_2_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_2_I_30(macro, data) IRIS_ZZ_PP_REPEAT_2_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_2_I_31(macro, data) IRIS_ZZ_PP_REPEAT_2_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_2_I_32(macro, data) IRIS_ZZ_PP_REPEAT_2_I_31(macro, data) macro(31, data) -#define IRIS_PP_REPEAT_3_I_0(macro, data) -#define IRIS_PP_REPEAT_3_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_3_I_2(macro, data) IRIS_PP_REPEAT_3_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_3_I_3(macro, data) IRIS_PP_REPEAT_3_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_3_I_4(macro, data) IRIS_PP_REPEAT_3_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_3_I_5(macro, data) IRIS_PP_REPEAT_3_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_3_I_6(macro, data) IRIS_PP_REPEAT_3_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_3_I_7(macro, data) IRIS_PP_REPEAT_3_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_3_I_8(macro, data) IRIS_PP_REPEAT_3_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_3_I_9(macro, data) IRIS_PP_REPEAT_3_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_3_I_10(macro, data) IRIS_PP_REPEAT_3_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_3_I_11(macro, data) IRIS_PP_REPEAT_3_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_3_I_12(macro, data) IRIS_PP_REPEAT_3_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_3_I_13(macro, data) IRIS_PP_REPEAT_3_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_3_I_14(macro, data) IRIS_PP_REPEAT_3_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_3_I_15(macro, data) IRIS_PP_REPEAT_3_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_3_I_16(macro, data) IRIS_PP_REPEAT_3_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_3_I_17(macro, data) IRIS_PP_REPEAT_3_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_3_I_18(macro, data) IRIS_PP_REPEAT_3_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_3_I_19(macro, data) IRIS_PP_REPEAT_3_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_3_I_20(macro, data) IRIS_PP_REPEAT_3_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_3_I_21(macro, data) IRIS_PP_REPEAT_3_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_3_I_22(macro, data) IRIS_PP_REPEAT_3_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_3_I_23(macro, data) IRIS_PP_REPEAT_3_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_3_I_24(macro, data) IRIS_PP_REPEAT_3_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_3_I_25(macro, data) IRIS_PP_REPEAT_3_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_3_I_26(macro, data) IRIS_PP_REPEAT_3_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_3_I_27(macro, data) IRIS_PP_REPEAT_3_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_3_I_28(macro, data) IRIS_PP_REPEAT_3_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_3_I_29(macro, data) IRIS_PP_REPEAT_3_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_3_I_30(macro, data) IRIS_PP_REPEAT_3_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_3_I_31(macro, data) IRIS_PP_REPEAT_3_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_3_I_32(macro, data) IRIS_PP_REPEAT_3_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_3_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_3_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_3_I_2(macro, data) IRIS_ZZ_PP_REPEAT_3_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_3_I_3(macro, data) IRIS_ZZ_PP_REPEAT_3_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_3_I_4(macro, data) IRIS_ZZ_PP_REPEAT_3_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_3_I_5(macro, data) IRIS_ZZ_PP_REPEAT_3_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_3_I_6(macro, data) IRIS_ZZ_PP_REPEAT_3_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_3_I_7(macro, data) IRIS_ZZ_PP_REPEAT_3_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_3_I_8(macro, data) IRIS_ZZ_PP_REPEAT_3_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_3_I_9(macro, data) IRIS_ZZ_PP_REPEAT_3_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_3_I_10(macro, data) IRIS_ZZ_PP_REPEAT_3_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_3_I_11(macro, data) IRIS_ZZ_PP_REPEAT_3_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_3_I_12(macro, data) IRIS_ZZ_PP_REPEAT_3_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_3_I_13(macro, data) IRIS_ZZ_PP_REPEAT_3_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_3_I_14(macro, data) IRIS_ZZ_PP_REPEAT_3_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_3_I_15(macro, data) IRIS_ZZ_PP_REPEAT_3_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_3_I_16(macro, data) IRIS_ZZ_PP_REPEAT_3_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_3_I_17(macro, data) IRIS_ZZ_PP_REPEAT_3_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_3_I_18(macro, data) IRIS_ZZ_PP_REPEAT_3_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_3_I_19(macro, data) IRIS_ZZ_PP_REPEAT_3_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_3_I_20(macro, data) IRIS_ZZ_PP_REPEAT_3_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_3_I_21(macro, data) IRIS_ZZ_PP_REPEAT_3_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_3_I_22(macro, data) IRIS_ZZ_PP_REPEAT_3_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_3_I_23(macro, data) IRIS_ZZ_PP_REPEAT_3_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_3_I_24(macro, data) IRIS_ZZ_PP_REPEAT_3_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_3_I_25(macro, data) IRIS_ZZ_PP_REPEAT_3_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_3_I_26(macro, data) IRIS_ZZ_PP_REPEAT_3_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_3_I_27(macro, data) IRIS_ZZ_PP_REPEAT_3_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_3_I_28(macro, data) IRIS_ZZ_PP_REPEAT_3_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_3_I_29(macro, data) IRIS_ZZ_PP_REPEAT_3_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_3_I_30(macro, data) IRIS_ZZ_PP_REPEAT_3_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_3_I_31(macro, data) IRIS_ZZ_PP_REPEAT_3_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_3_I_32(macro, data) IRIS_ZZ_PP_REPEAT_3_I_31(macro, data) macro(31, data) -#define IRIS_PP_REPEAT_4_I_0(macro, data) -#define IRIS_PP_REPEAT_4_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_4_I_2(macro, data) IRIS_PP_REPEAT_4_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_4_I_3(macro, data) IRIS_PP_REPEAT_4_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_4_I_4(macro, data) IRIS_PP_REPEAT_4_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_4_I_5(macro, data) IRIS_PP_REPEAT_4_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_4_I_6(macro, data) IRIS_PP_REPEAT_4_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_4_I_7(macro, data) IRIS_PP_REPEAT_4_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_4_I_8(macro, data) IRIS_PP_REPEAT_4_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_4_I_9(macro, data) IRIS_PP_REPEAT_4_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_4_I_10(macro, data) IRIS_PP_REPEAT_4_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_4_I_11(macro, data) IRIS_PP_REPEAT_4_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_4_I_12(macro, data) IRIS_PP_REPEAT_4_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_4_I_13(macro, data) IRIS_PP_REPEAT_4_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_4_I_14(macro, data) IRIS_PP_REPEAT_4_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_4_I_15(macro, data) IRIS_PP_REPEAT_4_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_4_I_16(macro, data) IRIS_PP_REPEAT_4_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_4_I_17(macro, data) IRIS_PP_REPEAT_4_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_4_I_18(macro, data) IRIS_PP_REPEAT_4_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_4_I_19(macro, data) IRIS_PP_REPEAT_4_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_4_I_20(macro, data) IRIS_PP_REPEAT_4_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_4_I_21(macro, data) IRIS_PP_REPEAT_4_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_4_I_22(macro, data) IRIS_PP_REPEAT_4_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_4_I_23(macro, data) IRIS_PP_REPEAT_4_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_4_I_24(macro, data) IRIS_PP_REPEAT_4_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_4_I_25(macro, data) IRIS_PP_REPEAT_4_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_4_I_26(macro, data) IRIS_PP_REPEAT_4_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_4_I_27(macro, data) IRIS_PP_REPEAT_4_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_4_I_28(macro, data) IRIS_PP_REPEAT_4_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_4_I_29(macro, data) IRIS_PP_REPEAT_4_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_4_I_30(macro, data) IRIS_PP_REPEAT_4_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_4_I_31(macro, data) IRIS_PP_REPEAT_4_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_4_I_32(macro, data) IRIS_PP_REPEAT_4_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_4_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_4_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_4_I_2(macro, data) IRIS_ZZ_PP_REPEAT_4_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_4_I_3(macro, data) IRIS_ZZ_PP_REPEAT_4_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_4_I_4(macro, data) IRIS_ZZ_PP_REPEAT_4_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_4_I_5(macro, data) IRIS_ZZ_PP_REPEAT_4_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_4_I_6(macro, data) IRIS_ZZ_PP_REPEAT_4_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_4_I_7(macro, data) IRIS_ZZ_PP_REPEAT_4_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_4_I_8(macro, data) IRIS_ZZ_PP_REPEAT_4_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_4_I_9(macro, data) IRIS_ZZ_PP_REPEAT_4_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_4_I_10(macro, data) IRIS_ZZ_PP_REPEAT_4_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_4_I_11(macro, data) IRIS_ZZ_PP_REPEAT_4_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_4_I_12(macro, data) IRIS_ZZ_PP_REPEAT_4_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_4_I_13(macro, data) IRIS_ZZ_PP_REPEAT_4_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_4_I_14(macro, data) IRIS_ZZ_PP_REPEAT_4_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_4_I_15(macro, data) IRIS_ZZ_PP_REPEAT_4_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_4_I_16(macro, data) IRIS_ZZ_PP_REPEAT_4_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_4_I_17(macro, data) IRIS_ZZ_PP_REPEAT_4_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_4_I_18(macro, data) IRIS_ZZ_PP_REPEAT_4_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_4_I_19(macro, data) IRIS_ZZ_PP_REPEAT_4_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_4_I_20(macro, data) IRIS_ZZ_PP_REPEAT_4_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_4_I_21(macro, data) IRIS_ZZ_PP_REPEAT_4_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_4_I_22(macro, data) IRIS_ZZ_PP_REPEAT_4_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_4_I_23(macro, data) IRIS_ZZ_PP_REPEAT_4_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_4_I_24(macro, data) IRIS_ZZ_PP_REPEAT_4_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_4_I_25(macro, data) IRIS_ZZ_PP_REPEAT_4_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_4_I_26(macro, data) IRIS_ZZ_PP_REPEAT_4_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_4_I_27(macro, data) IRIS_ZZ_PP_REPEAT_4_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_4_I_28(macro, data) IRIS_ZZ_PP_REPEAT_4_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_4_I_29(macro, data) IRIS_ZZ_PP_REPEAT_4_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_4_I_30(macro, data) IRIS_ZZ_PP_REPEAT_4_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_4_I_31(macro, data) IRIS_ZZ_PP_REPEAT_4_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_4_I_32(macro, data) IRIS_ZZ_PP_REPEAT_4_I_31(macro, data) macro(31, data) -#define IRIS_PP_REPEAT_5_I_0(macro, data) -#define IRIS_PP_REPEAT_5_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_5_I_2(macro, data) IRIS_PP_REPEAT_5_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_5_I_3(macro, data) IRIS_PP_REPEAT_5_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_5_I_4(macro, data) IRIS_PP_REPEAT_5_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_5_I_5(macro, data) IRIS_PP_REPEAT_5_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_5_I_6(macro, data) IRIS_PP_REPEAT_5_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_5_I_7(macro, data) IRIS_PP_REPEAT_5_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_5_I_8(macro, data) IRIS_PP_REPEAT_5_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_5_I_9(macro, data) IRIS_PP_REPEAT_5_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_5_I_10(macro, data) IRIS_PP_REPEAT_5_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_5_I_11(macro, data) IRIS_PP_REPEAT_5_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_5_I_12(macro, data) IRIS_PP_REPEAT_5_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_5_I_13(macro, data) IRIS_PP_REPEAT_5_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_5_I_14(macro, data) IRIS_PP_REPEAT_5_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_5_I_15(macro, data) IRIS_PP_REPEAT_5_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_5_I_16(macro, data) IRIS_PP_REPEAT_5_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_5_I_17(macro, data) IRIS_PP_REPEAT_5_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_5_I_18(macro, data) IRIS_PP_REPEAT_5_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_5_I_19(macro, data) IRIS_PP_REPEAT_5_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_5_I_20(macro, data) IRIS_PP_REPEAT_5_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_5_I_21(macro, data) IRIS_PP_REPEAT_5_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_5_I_22(macro, data) IRIS_PP_REPEAT_5_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_5_I_23(macro, data) IRIS_PP_REPEAT_5_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_5_I_24(macro, data) IRIS_PP_REPEAT_5_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_5_I_25(macro, data) IRIS_PP_REPEAT_5_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_5_I_26(macro, data) IRIS_PP_REPEAT_5_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_5_I_27(macro, data) IRIS_PP_REPEAT_5_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_5_I_28(macro, data) IRIS_PP_REPEAT_5_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_5_I_29(macro, data) IRIS_PP_REPEAT_5_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_5_I_30(macro, data) IRIS_PP_REPEAT_5_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_5_I_31(macro, data) IRIS_PP_REPEAT_5_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_5_I_32(macro, data) IRIS_PP_REPEAT_5_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_5_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_5_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_5_I_2(macro, data) IRIS_ZZ_PP_REPEAT_5_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_5_I_3(macro, data) IRIS_ZZ_PP_REPEAT_5_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_5_I_4(macro, data) IRIS_ZZ_PP_REPEAT_5_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_5_I_5(macro, data) IRIS_ZZ_PP_REPEAT_5_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_5_I_6(macro, data) IRIS_ZZ_PP_REPEAT_5_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_5_I_7(macro, data) IRIS_ZZ_PP_REPEAT_5_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_5_I_8(macro, data) IRIS_ZZ_PP_REPEAT_5_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_5_I_9(macro, data) IRIS_ZZ_PP_REPEAT_5_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_5_I_10(macro, data) IRIS_ZZ_PP_REPEAT_5_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_5_I_11(macro, data) IRIS_ZZ_PP_REPEAT_5_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_5_I_12(macro, data) IRIS_ZZ_PP_REPEAT_5_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_5_I_13(macro, data) IRIS_ZZ_PP_REPEAT_5_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_5_I_14(macro, data) IRIS_ZZ_PP_REPEAT_5_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_5_I_15(macro, data) IRIS_ZZ_PP_REPEAT_5_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_5_I_16(macro, data) IRIS_ZZ_PP_REPEAT_5_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_5_I_17(macro, data) IRIS_ZZ_PP_REPEAT_5_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_5_I_18(macro, data) IRIS_ZZ_PP_REPEAT_5_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_5_I_19(macro, data) IRIS_ZZ_PP_REPEAT_5_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_5_I_20(macro, data) IRIS_ZZ_PP_REPEAT_5_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_5_I_21(macro, data) IRIS_ZZ_PP_REPEAT_5_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_5_I_22(macro, data) IRIS_ZZ_PP_REPEAT_5_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_5_I_23(macro, data) IRIS_ZZ_PP_REPEAT_5_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_5_I_24(macro, data) IRIS_ZZ_PP_REPEAT_5_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_5_I_25(macro, data) IRIS_ZZ_PP_REPEAT_5_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_5_I_26(macro, data) IRIS_ZZ_PP_REPEAT_5_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_5_I_27(macro, data) IRIS_ZZ_PP_REPEAT_5_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_5_I_28(macro, data) IRIS_ZZ_PP_REPEAT_5_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_5_I_29(macro, data) IRIS_ZZ_PP_REPEAT_5_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_5_I_30(macro, data) IRIS_ZZ_PP_REPEAT_5_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_5_I_31(macro, data) IRIS_ZZ_PP_REPEAT_5_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_5_I_32(macro, data) IRIS_ZZ_PP_REPEAT_5_I_31(macro, data) macro(31, data) -#define IRIS_PP_REPEAT_6_I_0(macro, data) -#define IRIS_PP_REPEAT_6_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_6_I_2(macro, data) IRIS_PP_REPEAT_6_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_6_I_3(macro, data) IRIS_PP_REPEAT_6_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_6_I_4(macro, data) IRIS_PP_REPEAT_6_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_6_I_5(macro, data) IRIS_PP_REPEAT_6_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_6_I_6(macro, data) IRIS_PP_REPEAT_6_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_6_I_7(macro, data) IRIS_PP_REPEAT_6_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_6_I_8(macro, data) IRIS_PP_REPEAT_6_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_6_I_9(macro, data) IRIS_PP_REPEAT_6_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_6_I_10(macro, data) IRIS_PP_REPEAT_6_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_6_I_11(macro, data) IRIS_PP_REPEAT_6_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_6_I_12(macro, data) IRIS_PP_REPEAT_6_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_6_I_13(macro, data) IRIS_PP_REPEAT_6_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_6_I_14(macro, data) IRIS_PP_REPEAT_6_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_6_I_15(macro, data) IRIS_PP_REPEAT_6_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_6_I_16(macro, data) IRIS_PP_REPEAT_6_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_6_I_17(macro, data) IRIS_PP_REPEAT_6_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_6_I_18(macro, data) IRIS_PP_REPEAT_6_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_6_I_19(macro, data) IRIS_PP_REPEAT_6_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_6_I_20(macro, data) IRIS_PP_REPEAT_6_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_6_I_21(macro, data) IRIS_PP_REPEAT_6_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_6_I_22(macro, data) IRIS_PP_REPEAT_6_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_6_I_23(macro, data) IRIS_PP_REPEAT_6_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_6_I_24(macro, data) IRIS_PP_REPEAT_6_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_6_I_25(macro, data) IRIS_PP_REPEAT_6_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_6_I_26(macro, data) IRIS_PP_REPEAT_6_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_6_I_27(macro, data) IRIS_PP_REPEAT_6_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_6_I_28(macro, data) IRIS_PP_REPEAT_6_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_6_I_29(macro, data) IRIS_PP_REPEAT_6_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_6_I_30(macro, data) IRIS_PP_REPEAT_6_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_6_I_31(macro, data) IRIS_PP_REPEAT_6_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_6_I_32(macro, data) IRIS_PP_REPEAT_6_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_6_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_6_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_6_I_2(macro, data) IRIS_ZZ_PP_REPEAT_6_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_6_I_3(macro, data) IRIS_ZZ_PP_REPEAT_6_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_6_I_4(macro, data) IRIS_ZZ_PP_REPEAT_6_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_6_I_5(macro, data) IRIS_ZZ_PP_REPEAT_6_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_6_I_6(macro, data) IRIS_ZZ_PP_REPEAT_6_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_6_I_7(macro, data) IRIS_ZZ_PP_REPEAT_6_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_6_I_8(macro, data) IRIS_ZZ_PP_REPEAT_6_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_6_I_9(macro, data) IRIS_ZZ_PP_REPEAT_6_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_6_I_10(macro, data) IRIS_ZZ_PP_REPEAT_6_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_6_I_11(macro, data) IRIS_ZZ_PP_REPEAT_6_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_6_I_12(macro, data) IRIS_ZZ_PP_REPEAT_6_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_6_I_13(macro, data) IRIS_ZZ_PP_REPEAT_6_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_6_I_14(macro, data) IRIS_ZZ_PP_REPEAT_6_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_6_I_15(macro, data) IRIS_ZZ_PP_REPEAT_6_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_6_I_16(macro, data) IRIS_ZZ_PP_REPEAT_6_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_6_I_17(macro, data) IRIS_ZZ_PP_REPEAT_6_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_6_I_18(macro, data) IRIS_ZZ_PP_REPEAT_6_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_6_I_19(macro, data) IRIS_ZZ_PP_REPEAT_6_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_6_I_20(macro, data) IRIS_ZZ_PP_REPEAT_6_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_6_I_21(macro, data) IRIS_ZZ_PP_REPEAT_6_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_6_I_22(macro, data) IRIS_ZZ_PP_REPEAT_6_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_6_I_23(macro, data) IRIS_ZZ_PP_REPEAT_6_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_6_I_24(macro, data) IRIS_ZZ_PP_REPEAT_6_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_6_I_25(macro, data) IRIS_ZZ_PP_REPEAT_6_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_6_I_26(macro, data) IRIS_ZZ_PP_REPEAT_6_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_6_I_27(macro, data) IRIS_ZZ_PP_REPEAT_6_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_6_I_28(macro, data) IRIS_ZZ_PP_REPEAT_6_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_6_I_29(macro, data) IRIS_ZZ_PP_REPEAT_6_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_6_I_30(macro, data) IRIS_ZZ_PP_REPEAT_6_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_6_I_31(macro, data) IRIS_ZZ_PP_REPEAT_6_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_6_I_32(macro, data) IRIS_ZZ_PP_REPEAT_6_I_31(macro, data) macro(31, data) -#define IRIS_PP_REPEAT_7_I_0(macro, data) -#define IRIS_PP_REPEAT_7_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_7_I_2(macro, data) IRIS_PP_REPEAT_7_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_7_I_3(macro, data) IRIS_PP_REPEAT_7_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_7_I_4(macro, data) IRIS_PP_REPEAT_7_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_7_I_5(macro, data) IRIS_PP_REPEAT_7_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_7_I_6(macro, data) IRIS_PP_REPEAT_7_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_7_I_7(macro, data) IRIS_PP_REPEAT_7_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_7_I_8(macro, data) IRIS_PP_REPEAT_7_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_7_I_9(macro, data) IRIS_PP_REPEAT_7_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_7_I_10(macro, data) IRIS_PP_REPEAT_7_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_7_I_11(macro, data) IRIS_PP_REPEAT_7_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_7_I_12(macro, data) IRIS_PP_REPEAT_7_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_7_I_13(macro, data) IRIS_PP_REPEAT_7_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_7_I_14(macro, data) IRIS_PP_REPEAT_7_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_7_I_15(macro, data) IRIS_PP_REPEAT_7_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_7_I_16(macro, data) IRIS_PP_REPEAT_7_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_7_I_17(macro, data) IRIS_PP_REPEAT_7_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_7_I_18(macro, data) IRIS_PP_REPEAT_7_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_7_I_19(macro, data) IRIS_PP_REPEAT_7_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_7_I_20(macro, data) IRIS_PP_REPEAT_7_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_7_I_21(macro, data) IRIS_PP_REPEAT_7_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_7_I_22(macro, data) IRIS_PP_REPEAT_7_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_7_I_23(macro, data) IRIS_PP_REPEAT_7_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_7_I_24(macro, data) IRIS_PP_REPEAT_7_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_7_I_25(macro, data) IRIS_PP_REPEAT_7_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_7_I_26(macro, data) IRIS_PP_REPEAT_7_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_7_I_27(macro, data) IRIS_PP_REPEAT_7_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_7_I_28(macro, data) IRIS_PP_REPEAT_7_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_7_I_29(macro, data) IRIS_PP_REPEAT_7_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_7_I_30(macro, data) IRIS_PP_REPEAT_7_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_7_I_31(macro, data) IRIS_PP_REPEAT_7_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_7_I_32(macro, data) IRIS_PP_REPEAT_7_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_7_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_7_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_7_I_2(macro, data) IRIS_ZZ_PP_REPEAT_7_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_7_I_3(macro, data) IRIS_ZZ_PP_REPEAT_7_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_7_I_4(macro, data) IRIS_ZZ_PP_REPEAT_7_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_7_I_5(macro, data) IRIS_ZZ_PP_REPEAT_7_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_7_I_6(macro, data) IRIS_ZZ_PP_REPEAT_7_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_7_I_7(macro, data) IRIS_ZZ_PP_REPEAT_7_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_7_I_8(macro, data) IRIS_ZZ_PP_REPEAT_7_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_7_I_9(macro, data) IRIS_ZZ_PP_REPEAT_7_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_7_I_10(macro, data) IRIS_ZZ_PP_REPEAT_7_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_7_I_11(macro, data) IRIS_ZZ_PP_REPEAT_7_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_7_I_12(macro, data) IRIS_ZZ_PP_REPEAT_7_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_7_I_13(macro, data) IRIS_ZZ_PP_REPEAT_7_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_7_I_14(macro, data) IRIS_ZZ_PP_REPEAT_7_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_7_I_15(macro, data) IRIS_ZZ_PP_REPEAT_7_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_7_I_16(macro, data) IRIS_ZZ_PP_REPEAT_7_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_7_I_17(macro, data) IRIS_ZZ_PP_REPEAT_7_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_7_I_18(macro, data) IRIS_ZZ_PP_REPEAT_7_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_7_I_19(macro, data) IRIS_ZZ_PP_REPEAT_7_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_7_I_20(macro, data) IRIS_ZZ_PP_REPEAT_7_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_7_I_21(macro, data) IRIS_ZZ_PP_REPEAT_7_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_7_I_22(macro, data) IRIS_ZZ_PP_REPEAT_7_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_7_I_23(macro, data) IRIS_ZZ_PP_REPEAT_7_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_7_I_24(macro, data) IRIS_ZZ_PP_REPEAT_7_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_7_I_25(macro, data) IRIS_ZZ_PP_REPEAT_7_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_7_I_26(macro, data) IRIS_ZZ_PP_REPEAT_7_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_7_I_27(macro, data) IRIS_ZZ_PP_REPEAT_7_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_7_I_28(macro, data) IRIS_ZZ_PP_REPEAT_7_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_7_I_29(macro, data) IRIS_ZZ_PP_REPEAT_7_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_7_I_30(macro, data) IRIS_ZZ_PP_REPEAT_7_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_7_I_31(macro, data) IRIS_ZZ_PP_REPEAT_7_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_7_I_32(macro, data) IRIS_ZZ_PP_REPEAT_7_I_31(macro, data) macro(31, data) -#define IRIS_PP_REPEAT_8_I_0(macro, data) -#define IRIS_PP_REPEAT_8_I_1(macro, data) macro(0, data) -#define IRIS_PP_REPEAT_8_I_2(macro, data) IRIS_PP_REPEAT_8_I_1(macro, data) macro(1, data) -#define IRIS_PP_REPEAT_8_I_3(macro, data) IRIS_PP_REPEAT_8_I_2(macro, data) macro(2, data) -#define IRIS_PP_REPEAT_8_I_4(macro, data) IRIS_PP_REPEAT_8_I_3(macro, data) macro(3, data) -#define IRIS_PP_REPEAT_8_I_5(macro, data) IRIS_PP_REPEAT_8_I_4(macro, data) macro(4, data) -#define IRIS_PP_REPEAT_8_I_6(macro, data) IRIS_PP_REPEAT_8_I_5(macro, data) macro(5, data) -#define IRIS_PP_REPEAT_8_I_7(macro, data) IRIS_PP_REPEAT_8_I_6(macro, data) macro(6, data) -#define IRIS_PP_REPEAT_8_I_8(macro, data) IRIS_PP_REPEAT_8_I_7(macro, data) macro(7, data) -#define IRIS_PP_REPEAT_8_I_9(macro, data) IRIS_PP_REPEAT_8_I_8(macro, data) macro(8, data) -#define IRIS_PP_REPEAT_8_I_10(macro, data) IRIS_PP_REPEAT_8_I_9(macro, data) macro(9, data) -#define IRIS_PP_REPEAT_8_I_11(macro, data) IRIS_PP_REPEAT_8_I_10(macro, data) macro(10, data) -#define IRIS_PP_REPEAT_8_I_12(macro, data) IRIS_PP_REPEAT_8_I_11(macro, data) macro(11, data) -#define IRIS_PP_REPEAT_8_I_13(macro, data) IRIS_PP_REPEAT_8_I_12(macro, data) macro(12, data) -#define IRIS_PP_REPEAT_8_I_14(macro, data) IRIS_PP_REPEAT_8_I_13(macro, data) macro(13, data) -#define IRIS_PP_REPEAT_8_I_15(macro, data) IRIS_PP_REPEAT_8_I_14(macro, data) macro(14, data) -#define IRIS_PP_REPEAT_8_I_16(macro, data) IRIS_PP_REPEAT_8_I_15(macro, data) macro(15, data) -#define IRIS_PP_REPEAT_8_I_17(macro, data) IRIS_PP_REPEAT_8_I_16(macro, data) macro(16, data) -#define IRIS_PP_REPEAT_8_I_18(macro, data) IRIS_PP_REPEAT_8_I_17(macro, data) macro(17, data) -#define IRIS_PP_REPEAT_8_I_19(macro, data) IRIS_PP_REPEAT_8_I_18(macro, data) macro(18, data) -#define IRIS_PP_REPEAT_8_I_20(macro, data) IRIS_PP_REPEAT_8_I_19(macro, data) macro(19, data) -#define IRIS_PP_REPEAT_8_I_21(macro, data) IRIS_PP_REPEAT_8_I_20(macro, data) macro(20, data) -#define IRIS_PP_REPEAT_8_I_22(macro, data) IRIS_PP_REPEAT_8_I_21(macro, data) macro(21, data) -#define IRIS_PP_REPEAT_8_I_23(macro, data) IRIS_PP_REPEAT_8_I_22(macro, data) macro(22, data) -#define IRIS_PP_REPEAT_8_I_24(macro, data) IRIS_PP_REPEAT_8_I_23(macro, data) macro(23, data) -#define IRIS_PP_REPEAT_8_I_25(macro, data) IRIS_PP_REPEAT_8_I_24(macro, data) macro(24, data) -#define IRIS_PP_REPEAT_8_I_26(macro, data) IRIS_PP_REPEAT_8_I_25(macro, data) macro(25, data) -#define IRIS_PP_REPEAT_8_I_27(macro, data) IRIS_PP_REPEAT_8_I_26(macro, data) macro(26, data) -#define IRIS_PP_REPEAT_8_I_28(macro, data) IRIS_PP_REPEAT_8_I_27(macro, data) macro(27, data) -#define IRIS_PP_REPEAT_8_I_29(macro, data) IRIS_PP_REPEAT_8_I_28(macro, data) macro(28, data) -#define IRIS_PP_REPEAT_8_I_30(macro, data) IRIS_PP_REPEAT_8_I_29(macro, data) macro(29, data) -#define IRIS_PP_REPEAT_8_I_31(macro, data) IRIS_PP_REPEAT_8_I_30(macro, data) macro(30, data) -#define IRIS_PP_REPEAT_8_I_32(macro, data) IRIS_PP_REPEAT_8_I_31(macro, data) macro(31, data) +#define IRIS_ZZ_PP_REPEAT_8_I_0(macro, data) +#define IRIS_ZZ_PP_REPEAT_8_I_1(macro, data) macro(0, data) +#define IRIS_ZZ_PP_REPEAT_8_I_2(macro, data) IRIS_ZZ_PP_REPEAT_8_I_1(macro, data) macro(1, data) +#define IRIS_ZZ_PP_REPEAT_8_I_3(macro, data) IRIS_ZZ_PP_REPEAT_8_I_2(macro, data) macro(2, data) +#define IRIS_ZZ_PP_REPEAT_8_I_4(macro, data) IRIS_ZZ_PP_REPEAT_8_I_3(macro, data) macro(3, data) +#define IRIS_ZZ_PP_REPEAT_8_I_5(macro, data) IRIS_ZZ_PP_REPEAT_8_I_4(macro, data) macro(4, data) +#define IRIS_ZZ_PP_REPEAT_8_I_6(macro, data) IRIS_ZZ_PP_REPEAT_8_I_5(macro, data) macro(5, data) +#define IRIS_ZZ_PP_REPEAT_8_I_7(macro, data) IRIS_ZZ_PP_REPEAT_8_I_6(macro, data) macro(6, data) +#define IRIS_ZZ_PP_REPEAT_8_I_8(macro, data) IRIS_ZZ_PP_REPEAT_8_I_7(macro, data) macro(7, data) +#define IRIS_ZZ_PP_REPEAT_8_I_9(macro, data) IRIS_ZZ_PP_REPEAT_8_I_8(macro, data) macro(8, data) +#define IRIS_ZZ_PP_REPEAT_8_I_10(macro, data) IRIS_ZZ_PP_REPEAT_8_I_9(macro, data) macro(9, data) +#define IRIS_ZZ_PP_REPEAT_8_I_11(macro, data) IRIS_ZZ_PP_REPEAT_8_I_10(macro, data) macro(10, data) +#define IRIS_ZZ_PP_REPEAT_8_I_12(macro, data) IRIS_ZZ_PP_REPEAT_8_I_11(macro, data) macro(11, data) +#define IRIS_ZZ_PP_REPEAT_8_I_13(macro, data) IRIS_ZZ_PP_REPEAT_8_I_12(macro, data) macro(12, data) +#define IRIS_ZZ_PP_REPEAT_8_I_14(macro, data) IRIS_ZZ_PP_REPEAT_8_I_13(macro, data) macro(13, data) +#define IRIS_ZZ_PP_REPEAT_8_I_15(macro, data) IRIS_ZZ_PP_REPEAT_8_I_14(macro, data) macro(14, data) +#define IRIS_ZZ_PP_REPEAT_8_I_16(macro, data) IRIS_ZZ_PP_REPEAT_8_I_15(macro, data) macro(15, data) +#define IRIS_ZZ_PP_REPEAT_8_I_17(macro, data) IRIS_ZZ_PP_REPEAT_8_I_16(macro, data) macro(16, data) +#define IRIS_ZZ_PP_REPEAT_8_I_18(macro, data) IRIS_ZZ_PP_REPEAT_8_I_17(macro, data) macro(17, data) +#define IRIS_ZZ_PP_REPEAT_8_I_19(macro, data) IRIS_ZZ_PP_REPEAT_8_I_18(macro, data) macro(18, data) +#define IRIS_ZZ_PP_REPEAT_8_I_20(macro, data) IRIS_ZZ_PP_REPEAT_8_I_19(macro, data) macro(19, data) +#define IRIS_ZZ_PP_REPEAT_8_I_21(macro, data) IRIS_ZZ_PP_REPEAT_8_I_20(macro, data) macro(20, data) +#define IRIS_ZZ_PP_REPEAT_8_I_22(macro, data) IRIS_ZZ_PP_REPEAT_8_I_21(macro, data) macro(21, data) +#define IRIS_ZZ_PP_REPEAT_8_I_23(macro, data) IRIS_ZZ_PP_REPEAT_8_I_22(macro, data) macro(22, data) +#define IRIS_ZZ_PP_REPEAT_8_I_24(macro, data) IRIS_ZZ_PP_REPEAT_8_I_23(macro, data) macro(23, data) +#define IRIS_ZZ_PP_REPEAT_8_I_25(macro, data) IRIS_ZZ_PP_REPEAT_8_I_24(macro, data) macro(24, data) +#define IRIS_ZZ_PP_REPEAT_8_I_26(macro, data) IRIS_ZZ_PP_REPEAT_8_I_25(macro, data) macro(25, data) +#define IRIS_ZZ_PP_REPEAT_8_I_27(macro, data) IRIS_ZZ_PP_REPEAT_8_I_26(macro, data) macro(26, data) +#define IRIS_ZZ_PP_REPEAT_8_I_28(macro, data) IRIS_ZZ_PP_REPEAT_8_I_27(macro, data) macro(27, data) +#define IRIS_ZZ_PP_REPEAT_8_I_29(macro, data) IRIS_ZZ_PP_REPEAT_8_I_28(macro, data) macro(28, data) +#define IRIS_ZZ_PP_REPEAT_8_I_30(macro, data) IRIS_ZZ_PP_REPEAT_8_I_29(macro, data) macro(29, data) +#define IRIS_ZZ_PP_REPEAT_8_I_31(macro, data) IRIS_ZZ_PP_REPEAT_8_I_30(macro, data) macro(30, data) +#define IRIS_ZZ_PP_REPEAT_8_I_32(macro, data) IRIS_ZZ_PP_REPEAT_8_I_31(macro, data) macro(31, data) #endif diff --git a/include/iris/pp/seq.hpp b/include/iris/pp/seq.hpp index 320e9c9..e8cc9ee 100644 --- a/include/iris/pp/seq.hpp +++ b/include/iris/pp/seq.hpp @@ -7,141 +7,141 @@ #include #include -#define IRIS_PP_SEQ_ELEM(index, seq) IRIS_PP_SEQ_ELEM_I(IRIS_PP_CAT(IRIS_PP_SEQ_ELEM_I_, index) seq) -#define IRIS_PP_SEQ_ELEM_I(intermediate) IRIS_PP_SEQ_ELEM_I_I(intermediate) -#define IRIS_PP_SEQ_ELEM_I_I(x, _) x +#define IRIS_PP_SEQ_ELEM(index, seq) IRIS_ZZ_PP_SEQ_ELEM_I(IRIS_PP_CAT(IRIS_ZZ_PP_SEQ_ELEM_I_, index) seq) +#define IRIS_ZZ_PP_SEQ_ELEM_I(intermediate) IRIS_ZZ_PP_SEQ_ELEM_I_I(intermediate) +#define IRIS_ZZ_PP_SEQ_ELEM_I_I(x, _) x #define IRIS_PP_SEQ_HEAD(seq) IRIS_PP_SEQ_ELEM(0, seq) -#define IRIS_PP_SEQ_TAIL(seq) IRIS_PP_SEQ_TAIL_I seq -#define IRIS_PP_SEQ_TAIL_I(head) +#define IRIS_PP_SEQ_TAIL(seq) IRIS_ZZ_PP_SEQ_TAIL_I seq +#define IRIS_ZZ_PP_SEQ_TAIL_I(head) -#define IRIS_PP_SEQ_SIZE(seq) IRIS_PP_CAT(IRIS_PP_SEQ_SIZE_I_, IRIS_PP_SEQ_SIZE_I_0 seq) +#define IRIS_PP_SEQ_SIZE(seq) IRIS_PP_CAT(IRIS_ZZ_PP_SEQ_SIZE_I_, IRIS_ZZ_PP_SEQ_SIZE_I_0 seq) #define IRIS_PP_SEQ_FOR_EACH(seq, macro, data) \ - IRIS_PP_FOR((seq, macro, data), IRIS_PP_SEQ_FOR_EACH_I_PRED, IRIS_PP_SEQ_FOR_EACH_I_UPDATE, IRIS_PP_SEQ_FOR_EACH_I_EXEC) + IRIS_PP_FOR((seq, macro, data), IRIS_ZZ_PP_SEQ_FOR_EACH_I_PRED, IRIS_ZZ_PP_SEQ_FOR_EACH_I_UPDATE, IRIS_ZZ_PP_SEQ_FOR_EACH_I_EXEC) -#define IRIS_PP_SEQ_FOR_EACH_I_PRED(state) IRIS_PP_SEQ_FOR_EACH_I_PRED_I state -#define IRIS_PP_SEQ_FOR_EACH_I_PRED_I(seq, macro, data) IRIS_PP_SEQ_SIZE(seq) +#define IRIS_ZZ_PP_SEQ_FOR_EACH_I_PRED(state) IRIS_ZZ_PP_SEQ_FOR_EACH_I_PRED_I state +#define IRIS_ZZ_PP_SEQ_FOR_EACH_I_PRED_I(seq, macro, data) IRIS_PP_SEQ_SIZE(seq) -#define IRIS_PP_SEQ_FOR_EACH_I_UPDATE(state) IRIS_PP_SEQ_FOR_EACH_I_UPDATE_I state -#define IRIS_PP_SEQ_FOR_EACH_I_UPDATE_I(seq, macro, data) (IRIS_PP_SEQ_TAIL(seq), macro, data) +#define IRIS_ZZ_PP_SEQ_FOR_EACH_I_UPDATE(state) IRIS_ZZ_PP_SEQ_FOR_EACH_I_UPDATE_I state +#define IRIS_ZZ_PP_SEQ_FOR_EACH_I_UPDATE_I(seq, macro, data) (IRIS_PP_SEQ_TAIL(seq), macro, data) -#define IRIS_PP_SEQ_FOR_EACH_I_EXEC(state) IRIS_PP_SEQ_FOR_EACH_I_EXEC_I state -#define IRIS_PP_SEQ_FOR_EACH_I_EXEC_I(seq, macro, data) macro(IRIS_PP_SEQ_HEAD(seq), data) +#define IRIS_ZZ_PP_SEQ_FOR_EACH_I_EXEC(state) IRIS_ZZ_PP_SEQ_FOR_EACH_I_EXEC_I state +#define IRIS_ZZ_PP_SEQ_FOR_EACH_I_EXEC_I(seq, macro, data) macro(IRIS_PP_SEQ_HEAD(seq), data) #define IRIS_PP_SEQ_FOR_EACH_WITH_INDEX(seq, macro, data) \ - IRIS_PP_FOR((0, seq, macro, data), IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED, IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE, IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC) - -#define IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED(state) IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED_I state -#define IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED_I(index, seq, macro, data) IRIS_PP_SEQ_SIZE(seq) - -#define IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE(state) IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE_I state -#define IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE_I(index, seq, macro, data) (IRIS_PP_INCREMENT(index), IRIS_PP_SEQ_TAIL(seq), macro, data) - -#define IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC(state) IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC_I state -#define IRIS_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC_I(index, seq, macro, data) macro(index, IRIS_PP_SEQ_HEAD(seq), data) - -#define IRIS_PP_SEQ_ELEM_I_0(seq) seq, dummy -#define IRIS_PP_SEQ_ELEM_I_1(seq) IRIS_PP_SEQ_ELEM_I_0 -#define IRIS_PP_SEQ_ELEM_I_2(seq) IRIS_PP_SEQ_ELEM_I_1 -#define IRIS_PP_SEQ_ELEM_I_3(seq) IRIS_PP_SEQ_ELEM_I_2 -#define IRIS_PP_SEQ_ELEM_I_4(seq) IRIS_PP_SEQ_ELEM_I_3 -#define IRIS_PP_SEQ_ELEM_I_5(seq) IRIS_PP_SEQ_ELEM_I_4 -#define IRIS_PP_SEQ_ELEM_I_6(seq) IRIS_PP_SEQ_ELEM_I_5 -#define IRIS_PP_SEQ_ELEM_I_7(seq) IRIS_PP_SEQ_ELEM_I_6 -#define IRIS_PP_SEQ_ELEM_I_8(seq) IRIS_PP_SEQ_ELEM_I_7 -#define IRIS_PP_SEQ_ELEM_I_9(seq) IRIS_PP_SEQ_ELEM_I_8 -#define IRIS_PP_SEQ_ELEM_I_10(seq) IRIS_PP_SEQ_ELEM_I_9 -#define IRIS_PP_SEQ_ELEM_I_11(seq) IRIS_PP_SEQ_ELEM_I_10 -#define IRIS_PP_SEQ_ELEM_I_12(seq) IRIS_PP_SEQ_ELEM_I_11 -#define IRIS_PP_SEQ_ELEM_I_13(seq) IRIS_PP_SEQ_ELEM_I_12 -#define IRIS_PP_SEQ_ELEM_I_14(seq) IRIS_PP_SEQ_ELEM_I_13 -#define IRIS_PP_SEQ_ELEM_I_15(seq) IRIS_PP_SEQ_ELEM_I_14 -#define IRIS_PP_SEQ_ELEM_I_16(seq) IRIS_PP_SEQ_ELEM_I_15 -#define IRIS_PP_SEQ_ELEM_I_17(seq) IRIS_PP_SEQ_ELEM_I_16 -#define IRIS_PP_SEQ_ELEM_I_18(seq) IRIS_PP_SEQ_ELEM_I_17 -#define IRIS_PP_SEQ_ELEM_I_19(seq) IRIS_PP_SEQ_ELEM_I_18 -#define IRIS_PP_SEQ_ELEM_I_20(seq) IRIS_PP_SEQ_ELEM_I_19 -#define IRIS_PP_SEQ_ELEM_I_21(seq) IRIS_PP_SEQ_ELEM_I_20 -#define IRIS_PP_SEQ_ELEM_I_22(seq) IRIS_PP_SEQ_ELEM_I_21 -#define IRIS_PP_SEQ_ELEM_I_23(seq) IRIS_PP_SEQ_ELEM_I_22 -#define IRIS_PP_SEQ_ELEM_I_24(seq) IRIS_PP_SEQ_ELEM_I_23 -#define IRIS_PP_SEQ_ELEM_I_25(seq) IRIS_PP_SEQ_ELEM_I_24 -#define IRIS_PP_SEQ_ELEM_I_26(seq) IRIS_PP_SEQ_ELEM_I_25 -#define IRIS_PP_SEQ_ELEM_I_27(seq) IRIS_PP_SEQ_ELEM_I_26 -#define IRIS_PP_SEQ_ELEM_I_28(seq) IRIS_PP_SEQ_ELEM_I_27 -#define IRIS_PP_SEQ_ELEM_I_29(seq) IRIS_PP_SEQ_ELEM_I_28 -#define IRIS_PP_SEQ_ELEM_I_30(seq) IRIS_PP_SEQ_ELEM_I_29 -#define IRIS_PP_SEQ_ELEM_I_31(seq) IRIS_PP_SEQ_ELEM_I_30 -#define IRIS_PP_SEQ_ELEM_I_32(seq) IRIS_PP_SEQ_ELEM_I_31 - -#define IRIS_PP_SEQ_SIZE_I_0(_) IRIS_PP_SEQ_SIZE_I_1 -#define IRIS_PP_SEQ_SIZE_I_1(_) IRIS_PP_SEQ_SIZE_I_2 -#define IRIS_PP_SEQ_SIZE_I_2(_) IRIS_PP_SEQ_SIZE_I_3 -#define IRIS_PP_SEQ_SIZE_I_3(_) IRIS_PP_SEQ_SIZE_I_4 -#define IRIS_PP_SEQ_SIZE_I_4(_) IRIS_PP_SEQ_SIZE_I_5 -#define IRIS_PP_SEQ_SIZE_I_5(_) IRIS_PP_SEQ_SIZE_I_6 -#define IRIS_PP_SEQ_SIZE_I_6(_) IRIS_PP_SEQ_SIZE_I_7 -#define IRIS_PP_SEQ_SIZE_I_7(_) IRIS_PP_SEQ_SIZE_I_8 -#define IRIS_PP_SEQ_SIZE_I_8(_) IRIS_PP_SEQ_SIZE_I_9 -#define IRIS_PP_SEQ_SIZE_I_9(_) IRIS_PP_SEQ_SIZE_I_10 -#define IRIS_PP_SEQ_SIZE_I_10(_) IRIS_PP_SEQ_SIZE_I_11 -#define IRIS_PP_SEQ_SIZE_I_11(_) IRIS_PP_SEQ_SIZE_I_12 -#define IRIS_PP_SEQ_SIZE_I_12(_) IRIS_PP_SEQ_SIZE_I_13 -#define IRIS_PP_SEQ_SIZE_I_13(_) IRIS_PP_SEQ_SIZE_I_14 -#define IRIS_PP_SEQ_SIZE_I_14(_) IRIS_PP_SEQ_SIZE_I_15 -#define IRIS_PP_SEQ_SIZE_I_15(_) IRIS_PP_SEQ_SIZE_I_16 -#define IRIS_PP_SEQ_SIZE_I_16(_) IRIS_PP_SEQ_SIZE_I_17 -#define IRIS_PP_SEQ_SIZE_I_17(_) IRIS_PP_SEQ_SIZE_I_18 -#define IRIS_PP_SEQ_SIZE_I_18(_) IRIS_PP_SEQ_SIZE_I_19 -#define IRIS_PP_SEQ_SIZE_I_19(_) IRIS_PP_SEQ_SIZE_I_20 -#define IRIS_PP_SEQ_SIZE_I_20(_) IRIS_PP_SEQ_SIZE_I_21 -#define IRIS_PP_SEQ_SIZE_I_21(_) IRIS_PP_SEQ_SIZE_I_22 -#define IRIS_PP_SEQ_SIZE_I_22(_) IRIS_PP_SEQ_SIZE_I_23 -#define IRIS_PP_SEQ_SIZE_I_23(_) IRIS_PP_SEQ_SIZE_I_24 -#define IRIS_PP_SEQ_SIZE_I_24(_) IRIS_PP_SEQ_SIZE_I_25 -#define IRIS_PP_SEQ_SIZE_I_25(_) IRIS_PP_SEQ_SIZE_I_26 -#define IRIS_PP_SEQ_SIZE_I_26(_) IRIS_PP_SEQ_SIZE_I_27 -#define IRIS_PP_SEQ_SIZE_I_27(_) IRIS_PP_SEQ_SIZE_I_28 -#define IRIS_PP_SEQ_SIZE_I_28(_) IRIS_PP_SEQ_SIZE_I_29 -#define IRIS_PP_SEQ_SIZE_I_29(_) IRIS_PP_SEQ_SIZE_I_30 -#define IRIS_PP_SEQ_SIZE_I_30(_) IRIS_PP_SEQ_SIZE_I_31 -#define IRIS_PP_SEQ_SIZE_I_31(_) IRIS_PP_SEQ_SIZE_I_32 -#define IRIS_PP_SEQ_SIZE_I_32(_) IRIS_PP_SEQ_SIZE_I_33 - -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_0 0 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_1 1 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_2 2 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_3 3 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_4 4 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_5 5 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_6 6 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_7 7 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_8 8 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_9 9 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_10 10 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_11 11 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_12 12 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_13 13 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_14 14 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_15 15 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_16 16 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_17 17 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_18 18 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_19 19 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_20 20 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_21 21 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_22 22 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_23 23 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_24 24 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_25 25 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_26 26 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_27 27 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_28 28 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_29 29 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_30 30 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_31 31 -#define IRIS_PP_SEQ_SIZE_I_IRIS_PP_SEQ_SIZE_I_32 32 + IRIS_PP_FOR((0, seq, macro, data), IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED, IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE, IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC) + +#define IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED(state) IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED_I state +#define IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_PRED_I(index, seq, macro, data) IRIS_PP_SEQ_SIZE(seq) + +#define IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE(state) IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE_I state +#define IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_UPDATE_I(index, seq, macro, data) (IRIS_PP_INCREMENT(index), IRIS_PP_SEQ_TAIL(seq), macro, data) + +#define IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC(state) IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC_I state +#define IRIS_ZZ_PP_SEQ_FOR_EACH_WITH_INDEX_I_EXEC_I(index, seq, macro, data) macro(index, IRIS_PP_SEQ_HEAD(seq), data) + +#define IRIS_ZZ_PP_SEQ_ELEM_I_0(seq) seq, dummy +#define IRIS_ZZ_PP_SEQ_ELEM_I_1(seq) IRIS_ZZ_PP_SEQ_ELEM_I_0 +#define IRIS_ZZ_PP_SEQ_ELEM_I_2(seq) IRIS_ZZ_PP_SEQ_ELEM_I_1 +#define IRIS_ZZ_PP_SEQ_ELEM_I_3(seq) IRIS_ZZ_PP_SEQ_ELEM_I_2 +#define IRIS_ZZ_PP_SEQ_ELEM_I_4(seq) IRIS_ZZ_PP_SEQ_ELEM_I_3 +#define IRIS_ZZ_PP_SEQ_ELEM_I_5(seq) IRIS_ZZ_PP_SEQ_ELEM_I_4 +#define IRIS_ZZ_PP_SEQ_ELEM_I_6(seq) IRIS_ZZ_PP_SEQ_ELEM_I_5 +#define IRIS_ZZ_PP_SEQ_ELEM_I_7(seq) IRIS_ZZ_PP_SEQ_ELEM_I_6 +#define IRIS_ZZ_PP_SEQ_ELEM_I_8(seq) IRIS_ZZ_PP_SEQ_ELEM_I_7 +#define IRIS_ZZ_PP_SEQ_ELEM_I_9(seq) IRIS_ZZ_PP_SEQ_ELEM_I_8 +#define IRIS_ZZ_PP_SEQ_ELEM_I_10(seq) IRIS_ZZ_PP_SEQ_ELEM_I_9 +#define IRIS_ZZ_PP_SEQ_ELEM_I_11(seq) IRIS_ZZ_PP_SEQ_ELEM_I_10 +#define IRIS_ZZ_PP_SEQ_ELEM_I_12(seq) IRIS_ZZ_PP_SEQ_ELEM_I_11 +#define IRIS_ZZ_PP_SEQ_ELEM_I_13(seq) IRIS_ZZ_PP_SEQ_ELEM_I_12 +#define IRIS_ZZ_PP_SEQ_ELEM_I_14(seq) IRIS_ZZ_PP_SEQ_ELEM_I_13 +#define IRIS_ZZ_PP_SEQ_ELEM_I_15(seq) IRIS_ZZ_PP_SEQ_ELEM_I_14 +#define IRIS_ZZ_PP_SEQ_ELEM_I_16(seq) IRIS_ZZ_PP_SEQ_ELEM_I_15 +#define IRIS_ZZ_PP_SEQ_ELEM_I_17(seq) IRIS_ZZ_PP_SEQ_ELEM_I_16 +#define IRIS_ZZ_PP_SEQ_ELEM_I_18(seq) IRIS_ZZ_PP_SEQ_ELEM_I_17 +#define IRIS_ZZ_PP_SEQ_ELEM_I_19(seq) IRIS_ZZ_PP_SEQ_ELEM_I_18 +#define IRIS_ZZ_PP_SEQ_ELEM_I_20(seq) IRIS_ZZ_PP_SEQ_ELEM_I_19 +#define IRIS_ZZ_PP_SEQ_ELEM_I_21(seq) IRIS_ZZ_PP_SEQ_ELEM_I_20 +#define IRIS_ZZ_PP_SEQ_ELEM_I_22(seq) IRIS_ZZ_PP_SEQ_ELEM_I_21 +#define IRIS_ZZ_PP_SEQ_ELEM_I_23(seq) IRIS_ZZ_PP_SEQ_ELEM_I_22 +#define IRIS_ZZ_PP_SEQ_ELEM_I_24(seq) IRIS_ZZ_PP_SEQ_ELEM_I_23 +#define IRIS_ZZ_PP_SEQ_ELEM_I_25(seq) IRIS_ZZ_PP_SEQ_ELEM_I_24 +#define IRIS_ZZ_PP_SEQ_ELEM_I_26(seq) IRIS_ZZ_PP_SEQ_ELEM_I_25 +#define IRIS_ZZ_PP_SEQ_ELEM_I_27(seq) IRIS_ZZ_PP_SEQ_ELEM_I_26 +#define IRIS_ZZ_PP_SEQ_ELEM_I_28(seq) IRIS_ZZ_PP_SEQ_ELEM_I_27 +#define IRIS_ZZ_PP_SEQ_ELEM_I_29(seq) IRIS_ZZ_PP_SEQ_ELEM_I_28 +#define IRIS_ZZ_PP_SEQ_ELEM_I_30(seq) IRIS_ZZ_PP_SEQ_ELEM_I_29 +#define IRIS_ZZ_PP_SEQ_ELEM_I_31(seq) IRIS_ZZ_PP_SEQ_ELEM_I_30 +#define IRIS_ZZ_PP_SEQ_ELEM_I_32(seq) IRIS_ZZ_PP_SEQ_ELEM_I_31 + +#define IRIS_ZZ_PP_SEQ_SIZE_I_0(_) IRIS_ZZ_PP_SEQ_SIZE_I_1 +#define IRIS_ZZ_PP_SEQ_SIZE_I_1(_) IRIS_ZZ_PP_SEQ_SIZE_I_2 +#define IRIS_ZZ_PP_SEQ_SIZE_I_2(_) IRIS_ZZ_PP_SEQ_SIZE_I_3 +#define IRIS_ZZ_PP_SEQ_SIZE_I_3(_) IRIS_ZZ_PP_SEQ_SIZE_I_4 +#define IRIS_ZZ_PP_SEQ_SIZE_I_4(_) IRIS_ZZ_PP_SEQ_SIZE_I_5 +#define IRIS_ZZ_PP_SEQ_SIZE_I_5(_) IRIS_ZZ_PP_SEQ_SIZE_I_6 +#define IRIS_ZZ_PP_SEQ_SIZE_I_6(_) IRIS_ZZ_PP_SEQ_SIZE_I_7 +#define IRIS_ZZ_PP_SEQ_SIZE_I_7(_) IRIS_ZZ_PP_SEQ_SIZE_I_8 +#define IRIS_ZZ_PP_SEQ_SIZE_I_8(_) IRIS_ZZ_PP_SEQ_SIZE_I_9 +#define IRIS_ZZ_PP_SEQ_SIZE_I_9(_) IRIS_ZZ_PP_SEQ_SIZE_I_10 +#define IRIS_ZZ_PP_SEQ_SIZE_I_10(_) IRIS_ZZ_PP_SEQ_SIZE_I_11 +#define IRIS_ZZ_PP_SEQ_SIZE_I_11(_) IRIS_ZZ_PP_SEQ_SIZE_I_12 +#define IRIS_ZZ_PP_SEQ_SIZE_I_12(_) IRIS_ZZ_PP_SEQ_SIZE_I_13 +#define IRIS_ZZ_PP_SEQ_SIZE_I_13(_) IRIS_ZZ_PP_SEQ_SIZE_I_14 +#define IRIS_ZZ_PP_SEQ_SIZE_I_14(_) IRIS_ZZ_PP_SEQ_SIZE_I_15 +#define IRIS_ZZ_PP_SEQ_SIZE_I_15(_) IRIS_ZZ_PP_SEQ_SIZE_I_16 +#define IRIS_ZZ_PP_SEQ_SIZE_I_16(_) IRIS_ZZ_PP_SEQ_SIZE_I_17 +#define IRIS_ZZ_PP_SEQ_SIZE_I_17(_) IRIS_ZZ_PP_SEQ_SIZE_I_18 +#define IRIS_ZZ_PP_SEQ_SIZE_I_18(_) IRIS_ZZ_PP_SEQ_SIZE_I_19 +#define IRIS_ZZ_PP_SEQ_SIZE_I_19(_) IRIS_ZZ_PP_SEQ_SIZE_I_20 +#define IRIS_ZZ_PP_SEQ_SIZE_I_20(_) IRIS_ZZ_PP_SEQ_SIZE_I_21 +#define IRIS_ZZ_PP_SEQ_SIZE_I_21(_) IRIS_ZZ_PP_SEQ_SIZE_I_22 +#define IRIS_ZZ_PP_SEQ_SIZE_I_22(_) IRIS_ZZ_PP_SEQ_SIZE_I_23 +#define IRIS_ZZ_PP_SEQ_SIZE_I_23(_) IRIS_ZZ_PP_SEQ_SIZE_I_24 +#define IRIS_ZZ_PP_SEQ_SIZE_I_24(_) IRIS_ZZ_PP_SEQ_SIZE_I_25 +#define IRIS_ZZ_PP_SEQ_SIZE_I_25(_) IRIS_ZZ_PP_SEQ_SIZE_I_26 +#define IRIS_ZZ_PP_SEQ_SIZE_I_26(_) IRIS_ZZ_PP_SEQ_SIZE_I_27 +#define IRIS_ZZ_PP_SEQ_SIZE_I_27(_) IRIS_ZZ_PP_SEQ_SIZE_I_28 +#define IRIS_ZZ_PP_SEQ_SIZE_I_28(_) IRIS_ZZ_PP_SEQ_SIZE_I_29 +#define IRIS_ZZ_PP_SEQ_SIZE_I_29(_) IRIS_ZZ_PP_SEQ_SIZE_I_30 +#define IRIS_ZZ_PP_SEQ_SIZE_I_30(_) IRIS_ZZ_PP_SEQ_SIZE_I_31 +#define IRIS_ZZ_PP_SEQ_SIZE_I_31(_) IRIS_ZZ_PP_SEQ_SIZE_I_32 +#define IRIS_ZZ_PP_SEQ_SIZE_I_32(_) IRIS_ZZ_PP_SEQ_SIZE_I_33 + +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_0 0 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_1 1 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_2 2 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_3 3 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_4 4 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_5 5 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_6 6 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_7 7 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_8 8 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_9 9 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_10 10 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_11 11 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_12 12 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_13 13 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_14 14 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_15 15 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_16 16 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_17 17 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_18 18 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_19 19 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_20 20 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_21 21 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_22 22 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_23 23 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_24 24 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_25 25 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_26 26 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_27 27 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_28 28 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_29 29 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_30 30 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_31 31 +#define IRIS_ZZ_PP_SEQ_SIZE_I_IRIS_ZZ_PP_SEQ_SIZE_I_32 32 #endif diff --git a/include/iris/pp/stringize.hpp b/include/iris/pp/stringize.hpp index c509428..d42c4d4 100644 --- a/include/iris/pp/stringize.hpp +++ b/include/iris/pp/stringize.hpp @@ -3,7 +3,7 @@ // SPDX-License-Identifier: MIT -#define IRIS_PP_STRINGIZE(...) IRIS_PP_STRINGIZE_I(__VA_ARGS__) -#define IRIS_PP_STRINGIZE_I(...) #__VA_ARGS__ +#define IRIS_PP_STRINGIZE(...) IRIS_ZZ_PP_STRINGIZE_I(__VA_ARGS__) +#define IRIS_ZZ_PP_STRINGIZE_I(...) #__VA_ARGS__ #endif diff --git a/include/iris/pp/sub.hpp b/include/iris/pp/sub.hpp index 30c8d34..dc29469 100644 --- a/include/iris/pp/sub.hpp +++ b/include/iris/pp/sub.hpp @@ -7,15 +7,15 @@ #include #include -#define IRIS_PP_SUB(a, b) IRIS_PP_SUB_I_FIRST(IRIS_PP_WHILE((a, b), IRIS_PP_SUB_I_PRED, IRIS_PP_SUB_I_UPDATE)) +#define IRIS_PP_SUB(a, b) IRIS_ZZ_PP_SUB_I_FIRST(IRIS_PP_WHILE((a, b), IRIS_ZZ_PP_SUB_I_PRED, IRIS_ZZ_PP_SUB_I_UPDATE)) -#define IRIS_PP_SUB_I_FIRST(state) IRIS_PP_SUB_I_FIRST_I state -#define IRIS_PP_SUB_I_FIRST_I(a, b) a +#define IRIS_ZZ_PP_SUB_I_FIRST(state) IRIS_ZZ_PP_SUB_I_FIRST_I state +#define IRIS_ZZ_PP_SUB_I_FIRST_I(a, b) a -#define IRIS_PP_SUB_I_PRED(state) IRIS_PP_SUB_I_PRED_I state -#define IRIS_PP_SUB_I_PRED_I(a, b) b +#define IRIS_ZZ_PP_SUB_I_PRED(state) IRIS_ZZ_PP_SUB_I_PRED_I state +#define IRIS_ZZ_PP_SUB_I_PRED_I(a, b) b -#define IRIS_PP_SUB_I_UPDATE(state) IRIS_PP_SUB_I_UPDATE_I state -#define IRIS_PP_SUB_I_UPDATE_I(a, b) (IRIS_PP_DECREMENT(a), IRIS_PP_DECREMENT(b)) +#define IRIS_ZZ_PP_SUB_I_UPDATE(state) IRIS_ZZ_PP_SUB_I_UPDATE_I state +#define IRIS_ZZ_PP_SUB_I_UPDATE_I(a, b) (IRIS_PP_DECREMENT(a), IRIS_PP_DECREMENT(b)) #endif diff --git a/include/iris/pp/tuple.hpp b/include/iris/pp/tuple.hpp index c666386..38e17b7 100644 --- a/include/iris/pp/tuple.hpp +++ b/include/iris/pp/tuple.hpp @@ -5,1152 +5,1152 @@ #include -#define IRIS_PP_TUPLE_SIZE(tuple) IRIS_PP_TUPLE_SIZE_I tuple -#define IRIS_PP_TUPLE_SIZE_I(...) \ - IRIS_PP_TUPLE_SIZE_I_I( \ +#define IRIS_PP_TUPLE_SIZE(tuple) IRIS_ZZ_PP_TUPLE_SIZE_I tuple +#define IRIS_ZZ_PP_TUPLE_SIZE_I(...) \ + IRIS_ZZ_PP_TUPLE_SIZE_I_I( \ __VA_ARGS__ __VA_OPT__(, ) 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 \ ) -#define IRIS_PP_TUPLE_SIZE_I_I( \ +#define IRIS_ZZ_PP_TUPLE_SIZE_I_I( \ a32, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, \ size, ... \ ) \ size #define IRIS_PP_TUPLE_ELEM(index, tuple) \ - IRIS_PP_CAT(IRIS_PP_CAT(IRIS_PP_CAT(IRIS_PP_TUPLE_ELEM_I_, IRIS_PP_TUPLE_SIZE(tuple)), _), index) \ + IRIS_PP_CAT(IRIS_PP_CAT(IRIS_PP_CAT(IRIS_ZZ_PP_TUPLE_ELEM_I_, IRIS_PP_TUPLE_SIZE(tuple)), _), index) \ tuple -#define IRIS_PP_TUPLE_TO_SEQ(tuple) IRIS_PP_CAT(IRIS_PP_TUPLE_TO_SEQ_I_, IRIS_PP_TUPLE_SIZE(tuple)) tuple +#define IRIS_PP_TUPLE_TO_SEQ(tuple) IRIS_PP_CAT(IRIS_ZZ_PP_TUPLE_TO_SEQ_I_, IRIS_PP_TUPLE_SIZE(tuple)) tuple -#define IRIS_PP_TUPLE_ELEM_I_1_0(a0) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_1_0(a0) a0 -#define IRIS_PP_TUPLE_ELEM_I_2_0(a0, a1) a0 -#define IRIS_PP_TUPLE_ELEM_I_2_1(a0, a1) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_2_0(a0, a1) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_2_1(a0, a1) a1 -#define IRIS_PP_TUPLE_ELEM_I_3_0(a0, a1, a2) a0 -#define IRIS_PP_TUPLE_ELEM_I_3_1(a0, a1, a2) a1 -#define IRIS_PP_TUPLE_ELEM_I_3_2(a0, a1, a2) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_3_0(a0, a1, a2) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_3_1(a0, a1, a2) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_3_2(a0, a1, a2) a2 -#define IRIS_PP_TUPLE_ELEM_I_4_0(a0, a1, a2, a3) a0 -#define IRIS_PP_TUPLE_ELEM_I_4_1(a0, a1, a2, a3) a1 -#define IRIS_PP_TUPLE_ELEM_I_4_2(a0, a1, a2, a3) a2 -#define IRIS_PP_TUPLE_ELEM_I_4_3(a0, a1, a2, a3) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_4_0(a0, a1, a2, a3) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_4_1(a0, a1, a2, a3) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_4_2(a0, a1, a2, a3) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_4_3(a0, a1, a2, a3) a3 -#define IRIS_PP_TUPLE_ELEM_I_5_0(a0, a1, a2, a3, a4) a0 -#define IRIS_PP_TUPLE_ELEM_I_5_1(a0, a1, a2, a3, a4) a1 -#define IRIS_PP_TUPLE_ELEM_I_5_2(a0, a1, a2, a3, a4) a2 -#define IRIS_PP_TUPLE_ELEM_I_5_3(a0, a1, a2, a3, a4) a3 -#define IRIS_PP_TUPLE_ELEM_I_5_4(a0, a1, a2, a3, a4) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_5_0(a0, a1, a2, a3, a4) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_5_1(a0, a1, a2, a3, a4) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_5_2(a0, a1, a2, a3, a4) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_5_3(a0, a1, a2, a3, a4) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_5_4(a0, a1, a2, a3, a4) a4 -#define IRIS_PP_TUPLE_ELEM_I_6_0(a0, a1, a2, a3, a4, a5) a0 -#define IRIS_PP_TUPLE_ELEM_I_6_1(a0, a1, a2, a3, a4, a5) a1 -#define IRIS_PP_TUPLE_ELEM_I_6_2(a0, a1, a2, a3, a4, a5) a2 -#define IRIS_PP_TUPLE_ELEM_I_6_3(a0, a1, a2, a3, a4, a5) a3 -#define IRIS_PP_TUPLE_ELEM_I_6_4(a0, a1, a2, a3, a4, a5) a4 -#define IRIS_PP_TUPLE_ELEM_I_6_5(a0, a1, a2, a3, a4, a5) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_6_0(a0, a1, a2, a3, a4, a5) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_6_1(a0, a1, a2, a3, a4, a5) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_6_2(a0, a1, a2, a3, a4, a5) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_6_3(a0, a1, a2, a3, a4, a5) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_6_4(a0, a1, a2, a3, a4, a5) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_6_5(a0, a1, a2, a3, a4, a5) a5 -#define IRIS_PP_TUPLE_ELEM_I_7_0(a0, a1, a2, a3, a4, a5, a6) a0 -#define IRIS_PP_TUPLE_ELEM_I_7_1(a0, a1, a2, a3, a4, a5, a6) a1 -#define IRIS_PP_TUPLE_ELEM_I_7_2(a0, a1, a2, a3, a4, a5, a6) a2 -#define IRIS_PP_TUPLE_ELEM_I_7_3(a0, a1, a2, a3, a4, a5, a6) a3 -#define IRIS_PP_TUPLE_ELEM_I_7_4(a0, a1, a2, a3, a4, a5, a6) a4 -#define IRIS_PP_TUPLE_ELEM_I_7_5(a0, a1, a2, a3, a4, a5, a6) a5 -#define IRIS_PP_TUPLE_ELEM_I_7_6(a0, a1, a2, a3, a4, a5, a6) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_7_0(a0, a1, a2, a3, a4, a5, a6) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_7_1(a0, a1, a2, a3, a4, a5, a6) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_7_2(a0, a1, a2, a3, a4, a5, a6) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_7_3(a0, a1, a2, a3, a4, a5, a6) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_7_4(a0, a1, a2, a3, a4, a5, a6) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_7_5(a0, a1, a2, a3, a4, a5, a6) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_7_6(a0, a1, a2, a3, a4, a5, a6) a6 -#define IRIS_PP_TUPLE_ELEM_I_8_0(a0, a1, a2, a3, a4, a5, a6, a7) a0 -#define IRIS_PP_TUPLE_ELEM_I_8_1(a0, a1, a2, a3, a4, a5, a6, a7) a1 -#define IRIS_PP_TUPLE_ELEM_I_8_2(a0, a1, a2, a3, a4, a5, a6, a7) a2 -#define IRIS_PP_TUPLE_ELEM_I_8_3(a0, a1, a2, a3, a4, a5, a6, a7) a3 -#define IRIS_PP_TUPLE_ELEM_I_8_4(a0, a1, a2, a3, a4, a5, a6, a7) a4 -#define IRIS_PP_TUPLE_ELEM_I_8_5(a0, a1, a2, a3, a4, a5, a6, a7) a5 -#define IRIS_PP_TUPLE_ELEM_I_8_6(a0, a1, a2, a3, a4, a5, a6, a7) a6 -#define IRIS_PP_TUPLE_ELEM_I_8_7(a0, a1, a2, a3, a4, a5, a6, a7) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_0(a0, a1, a2, a3, a4, a5, a6, a7) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_1(a0, a1, a2, a3, a4, a5, a6, a7) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_2(a0, a1, a2, a3, a4, a5, a6, a7) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_3(a0, a1, a2, a3, a4, a5, a6, a7) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_4(a0, a1, a2, a3, a4, a5, a6, a7) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_5(a0, a1, a2, a3, a4, a5, a6, a7) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_6(a0, a1, a2, a3, a4, a5, a6, a7) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_8_7(a0, a1, a2, a3, a4, a5, a6, a7) a7 -#define IRIS_PP_TUPLE_ELEM_I_9_0(a0, a1, a2, a3, a4, a5, a6, a7, a8) a0 -#define IRIS_PP_TUPLE_ELEM_I_9_1(a0, a1, a2, a3, a4, a5, a6, a7, a8) a1 -#define IRIS_PP_TUPLE_ELEM_I_9_2(a0, a1, a2, a3, a4, a5, a6, a7, a8) a2 -#define IRIS_PP_TUPLE_ELEM_I_9_3(a0, a1, a2, a3, a4, a5, a6, a7, a8) a3 -#define IRIS_PP_TUPLE_ELEM_I_9_4(a0, a1, a2, a3, a4, a5, a6, a7, a8) a4 -#define IRIS_PP_TUPLE_ELEM_I_9_5(a0, a1, a2, a3, a4, a5, a6, a7, a8) a5 -#define IRIS_PP_TUPLE_ELEM_I_9_6(a0, a1, a2, a3, a4, a5, a6, a7, a8) a6 -#define IRIS_PP_TUPLE_ELEM_I_9_7(a0, a1, a2, a3, a4, a5, a6, a7, a8) a7 -#define IRIS_PP_TUPLE_ELEM_I_9_8(a0, a1, a2, a3, a4, a5, a6, a7, a8) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_0(a0, a1, a2, a3, a4, a5, a6, a7, a8) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_1(a0, a1, a2, a3, a4, a5, a6, a7, a8) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_2(a0, a1, a2, a3, a4, a5, a6, a7, a8) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_3(a0, a1, a2, a3, a4, a5, a6, a7, a8) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_4(a0, a1, a2, a3, a4, a5, a6, a7, a8) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_5(a0, a1, a2, a3, a4, a5, a6, a7, a8) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_6(a0, a1, a2, a3, a4, a5, a6, a7, a8) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_7(a0, a1, a2, a3, a4, a5, a6, a7, a8) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_9_8(a0, a1, a2, a3, a4, a5, a6, a7, a8) a8 -#define IRIS_PP_TUPLE_ELEM_I_10_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a0 -#define IRIS_PP_TUPLE_ELEM_I_10_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a1 -#define IRIS_PP_TUPLE_ELEM_I_10_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a2 -#define IRIS_PP_TUPLE_ELEM_I_10_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a3 -#define IRIS_PP_TUPLE_ELEM_I_10_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a4 -#define IRIS_PP_TUPLE_ELEM_I_10_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a5 -#define IRIS_PP_TUPLE_ELEM_I_10_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a6 -#define IRIS_PP_TUPLE_ELEM_I_10_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a7 -#define IRIS_PP_TUPLE_ELEM_I_10_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a8 -#define IRIS_PP_TUPLE_ELEM_I_10_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_10_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) a9 -#define IRIS_PP_TUPLE_ELEM_I_11_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a0 -#define IRIS_PP_TUPLE_ELEM_I_11_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a1 -#define IRIS_PP_TUPLE_ELEM_I_11_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a2 -#define IRIS_PP_TUPLE_ELEM_I_11_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a3 -#define IRIS_PP_TUPLE_ELEM_I_11_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a4 -#define IRIS_PP_TUPLE_ELEM_I_11_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a5 -#define IRIS_PP_TUPLE_ELEM_I_11_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a6 -#define IRIS_PP_TUPLE_ELEM_I_11_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a7 -#define IRIS_PP_TUPLE_ELEM_I_11_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a8 -#define IRIS_PP_TUPLE_ELEM_I_11_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a9 -#define IRIS_PP_TUPLE_ELEM_I_11_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_11_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) a10 -#define IRIS_PP_TUPLE_ELEM_I_12_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a0 -#define IRIS_PP_TUPLE_ELEM_I_12_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a1 -#define IRIS_PP_TUPLE_ELEM_I_12_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a2 -#define IRIS_PP_TUPLE_ELEM_I_12_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a3 -#define IRIS_PP_TUPLE_ELEM_I_12_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a4 -#define IRIS_PP_TUPLE_ELEM_I_12_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a5 -#define IRIS_PP_TUPLE_ELEM_I_12_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a6 -#define IRIS_PP_TUPLE_ELEM_I_12_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a7 -#define IRIS_PP_TUPLE_ELEM_I_12_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a8 -#define IRIS_PP_TUPLE_ELEM_I_12_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a9 -#define IRIS_PP_TUPLE_ELEM_I_12_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a10 -#define IRIS_PP_TUPLE_ELEM_I_12_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_12_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) a11 -#define IRIS_PP_TUPLE_ELEM_I_13_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a0 -#define IRIS_PP_TUPLE_ELEM_I_13_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a1 -#define IRIS_PP_TUPLE_ELEM_I_13_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a2 -#define IRIS_PP_TUPLE_ELEM_I_13_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a3 -#define IRIS_PP_TUPLE_ELEM_I_13_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a4 -#define IRIS_PP_TUPLE_ELEM_I_13_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a5 -#define IRIS_PP_TUPLE_ELEM_I_13_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a6 -#define IRIS_PP_TUPLE_ELEM_I_13_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a7 -#define IRIS_PP_TUPLE_ELEM_I_13_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a8 -#define IRIS_PP_TUPLE_ELEM_I_13_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a9 -#define IRIS_PP_TUPLE_ELEM_I_13_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a10 -#define IRIS_PP_TUPLE_ELEM_I_13_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a11 -#define IRIS_PP_TUPLE_ELEM_I_13_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_13_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) a12 -#define IRIS_PP_TUPLE_ELEM_I_14_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a0 -#define IRIS_PP_TUPLE_ELEM_I_14_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a1 -#define IRIS_PP_TUPLE_ELEM_I_14_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a2 -#define IRIS_PP_TUPLE_ELEM_I_14_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a3 -#define IRIS_PP_TUPLE_ELEM_I_14_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a4 -#define IRIS_PP_TUPLE_ELEM_I_14_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a5 -#define IRIS_PP_TUPLE_ELEM_I_14_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a6 -#define IRIS_PP_TUPLE_ELEM_I_14_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a7 -#define IRIS_PP_TUPLE_ELEM_I_14_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a8 -#define IRIS_PP_TUPLE_ELEM_I_14_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a9 -#define IRIS_PP_TUPLE_ELEM_I_14_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a10 -#define IRIS_PP_TUPLE_ELEM_I_14_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a11 -#define IRIS_PP_TUPLE_ELEM_I_14_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a12 -#define IRIS_PP_TUPLE_ELEM_I_14_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_14_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) a13 -#define IRIS_PP_TUPLE_ELEM_I_15_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a0 -#define IRIS_PP_TUPLE_ELEM_I_15_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a1 -#define IRIS_PP_TUPLE_ELEM_I_15_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a2 -#define IRIS_PP_TUPLE_ELEM_I_15_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a3 -#define IRIS_PP_TUPLE_ELEM_I_15_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a4 -#define IRIS_PP_TUPLE_ELEM_I_15_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a5 -#define IRIS_PP_TUPLE_ELEM_I_15_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a6 -#define IRIS_PP_TUPLE_ELEM_I_15_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a7 -#define IRIS_PP_TUPLE_ELEM_I_15_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a8 -#define IRIS_PP_TUPLE_ELEM_I_15_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a9 -#define IRIS_PP_TUPLE_ELEM_I_15_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a10 -#define IRIS_PP_TUPLE_ELEM_I_15_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a11 -#define IRIS_PP_TUPLE_ELEM_I_15_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a12 -#define IRIS_PP_TUPLE_ELEM_I_15_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a13 -#define IRIS_PP_TUPLE_ELEM_I_15_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_15_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) a14 -#define IRIS_PP_TUPLE_ELEM_I_16_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a0 -#define IRIS_PP_TUPLE_ELEM_I_16_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a1 -#define IRIS_PP_TUPLE_ELEM_I_16_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a2 -#define IRIS_PP_TUPLE_ELEM_I_16_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a3 -#define IRIS_PP_TUPLE_ELEM_I_16_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a4 -#define IRIS_PP_TUPLE_ELEM_I_16_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a5 -#define IRIS_PP_TUPLE_ELEM_I_16_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a6 -#define IRIS_PP_TUPLE_ELEM_I_16_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a7 -#define IRIS_PP_TUPLE_ELEM_I_16_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a8 -#define IRIS_PP_TUPLE_ELEM_I_16_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a9 -#define IRIS_PP_TUPLE_ELEM_I_16_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a10 -#define IRIS_PP_TUPLE_ELEM_I_16_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a11 -#define IRIS_PP_TUPLE_ELEM_I_16_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a12 -#define IRIS_PP_TUPLE_ELEM_I_16_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a13 -#define IRIS_PP_TUPLE_ELEM_I_16_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a14 -#define IRIS_PP_TUPLE_ELEM_I_16_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_16_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) a15 -#define IRIS_PP_TUPLE_ELEM_I_17_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a0 -#define IRIS_PP_TUPLE_ELEM_I_17_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a1 -#define IRIS_PP_TUPLE_ELEM_I_17_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a2 -#define IRIS_PP_TUPLE_ELEM_I_17_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a3 -#define IRIS_PP_TUPLE_ELEM_I_17_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a4 -#define IRIS_PP_TUPLE_ELEM_I_17_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a5 -#define IRIS_PP_TUPLE_ELEM_I_17_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a6 -#define IRIS_PP_TUPLE_ELEM_I_17_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a7 -#define IRIS_PP_TUPLE_ELEM_I_17_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a8 -#define IRIS_PP_TUPLE_ELEM_I_17_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a9 -#define IRIS_PP_TUPLE_ELEM_I_17_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a10 -#define IRIS_PP_TUPLE_ELEM_I_17_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a11 -#define IRIS_PP_TUPLE_ELEM_I_17_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a12 -#define IRIS_PP_TUPLE_ELEM_I_17_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a13 -#define IRIS_PP_TUPLE_ELEM_I_17_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a14 -#define IRIS_PP_TUPLE_ELEM_I_17_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a15 -#define IRIS_PP_TUPLE_ELEM_I_17_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_17_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) a16 -#define IRIS_PP_TUPLE_ELEM_I_18_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a0 -#define IRIS_PP_TUPLE_ELEM_I_18_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a1 -#define IRIS_PP_TUPLE_ELEM_I_18_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a2 -#define IRIS_PP_TUPLE_ELEM_I_18_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a3 -#define IRIS_PP_TUPLE_ELEM_I_18_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a4 -#define IRIS_PP_TUPLE_ELEM_I_18_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a5 -#define IRIS_PP_TUPLE_ELEM_I_18_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a6 -#define IRIS_PP_TUPLE_ELEM_I_18_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a7 -#define IRIS_PP_TUPLE_ELEM_I_18_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a8 -#define IRIS_PP_TUPLE_ELEM_I_18_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a9 -#define IRIS_PP_TUPLE_ELEM_I_18_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a10 -#define IRIS_PP_TUPLE_ELEM_I_18_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a11 -#define IRIS_PP_TUPLE_ELEM_I_18_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a12 -#define IRIS_PP_TUPLE_ELEM_I_18_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a13 -#define IRIS_PP_TUPLE_ELEM_I_18_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a14 -#define IRIS_PP_TUPLE_ELEM_I_18_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a15 -#define IRIS_PP_TUPLE_ELEM_I_18_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a16 -#define IRIS_PP_TUPLE_ELEM_I_18_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_18_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) a17 -#define IRIS_PP_TUPLE_ELEM_I_19_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a0 -#define IRIS_PP_TUPLE_ELEM_I_19_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a1 -#define IRIS_PP_TUPLE_ELEM_I_19_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a2 -#define IRIS_PP_TUPLE_ELEM_I_19_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a3 -#define IRIS_PP_TUPLE_ELEM_I_19_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a4 -#define IRIS_PP_TUPLE_ELEM_I_19_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a5 -#define IRIS_PP_TUPLE_ELEM_I_19_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a6 -#define IRIS_PP_TUPLE_ELEM_I_19_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a7 -#define IRIS_PP_TUPLE_ELEM_I_19_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a8 -#define IRIS_PP_TUPLE_ELEM_I_19_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a9 -#define IRIS_PP_TUPLE_ELEM_I_19_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a10 -#define IRIS_PP_TUPLE_ELEM_I_19_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a11 -#define IRIS_PP_TUPLE_ELEM_I_19_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a12 -#define IRIS_PP_TUPLE_ELEM_I_19_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a13 -#define IRIS_PP_TUPLE_ELEM_I_19_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a14 -#define IRIS_PP_TUPLE_ELEM_I_19_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a15 -#define IRIS_PP_TUPLE_ELEM_I_19_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a16 -#define IRIS_PP_TUPLE_ELEM_I_19_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a17 -#define IRIS_PP_TUPLE_ELEM_I_19_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_19_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) a18 -#define IRIS_PP_TUPLE_ELEM_I_20_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a0 -#define IRIS_PP_TUPLE_ELEM_I_20_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a1 -#define IRIS_PP_TUPLE_ELEM_I_20_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a2 -#define IRIS_PP_TUPLE_ELEM_I_20_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a3 -#define IRIS_PP_TUPLE_ELEM_I_20_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a4 -#define IRIS_PP_TUPLE_ELEM_I_20_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a5 -#define IRIS_PP_TUPLE_ELEM_I_20_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a6 -#define IRIS_PP_TUPLE_ELEM_I_20_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a7 -#define IRIS_PP_TUPLE_ELEM_I_20_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a8 -#define IRIS_PP_TUPLE_ELEM_I_20_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a9 -#define IRIS_PP_TUPLE_ELEM_I_20_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a10 -#define IRIS_PP_TUPLE_ELEM_I_20_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a11 -#define IRIS_PP_TUPLE_ELEM_I_20_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a12 -#define IRIS_PP_TUPLE_ELEM_I_20_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a13 -#define IRIS_PP_TUPLE_ELEM_I_20_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a14 -#define IRIS_PP_TUPLE_ELEM_I_20_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a15 -#define IRIS_PP_TUPLE_ELEM_I_20_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a16 -#define IRIS_PP_TUPLE_ELEM_I_20_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a17 -#define IRIS_PP_TUPLE_ELEM_I_20_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a18 -#define IRIS_PP_TUPLE_ELEM_I_20_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a19 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_20_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) a19 -#define IRIS_PP_TUPLE_ELEM_I_21_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a0 -#define IRIS_PP_TUPLE_ELEM_I_21_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a1 -#define IRIS_PP_TUPLE_ELEM_I_21_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a2 -#define IRIS_PP_TUPLE_ELEM_I_21_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a3 -#define IRIS_PP_TUPLE_ELEM_I_21_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a4 -#define IRIS_PP_TUPLE_ELEM_I_21_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a5 -#define IRIS_PP_TUPLE_ELEM_I_21_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a6 -#define IRIS_PP_TUPLE_ELEM_I_21_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a7 -#define IRIS_PP_TUPLE_ELEM_I_21_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a8 -#define IRIS_PP_TUPLE_ELEM_I_21_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a9 -#define IRIS_PP_TUPLE_ELEM_I_21_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a10 -#define IRIS_PP_TUPLE_ELEM_I_21_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a11 -#define IRIS_PP_TUPLE_ELEM_I_21_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a12 -#define IRIS_PP_TUPLE_ELEM_I_21_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a13 -#define IRIS_PP_TUPLE_ELEM_I_21_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a14 -#define IRIS_PP_TUPLE_ELEM_I_21_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a15 -#define IRIS_PP_TUPLE_ELEM_I_21_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a16 -#define IRIS_PP_TUPLE_ELEM_I_21_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a17 -#define IRIS_PP_TUPLE_ELEM_I_21_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a18 -#define IRIS_PP_TUPLE_ELEM_I_21_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a19 -#define IRIS_PP_TUPLE_ELEM_I_21_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a20 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a19 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_21_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) a20 -#define IRIS_PP_TUPLE_ELEM_I_22_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a0 -#define IRIS_PP_TUPLE_ELEM_I_22_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a1 -#define IRIS_PP_TUPLE_ELEM_I_22_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a2 -#define IRIS_PP_TUPLE_ELEM_I_22_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a3 -#define IRIS_PP_TUPLE_ELEM_I_22_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a4 -#define IRIS_PP_TUPLE_ELEM_I_22_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a5 -#define IRIS_PP_TUPLE_ELEM_I_22_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a6 -#define IRIS_PP_TUPLE_ELEM_I_22_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a7 -#define IRIS_PP_TUPLE_ELEM_I_22_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a8 -#define IRIS_PP_TUPLE_ELEM_I_22_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a9 -#define IRIS_PP_TUPLE_ELEM_I_22_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a10 -#define IRIS_PP_TUPLE_ELEM_I_22_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a11 -#define IRIS_PP_TUPLE_ELEM_I_22_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a12 -#define IRIS_PP_TUPLE_ELEM_I_22_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a13 -#define IRIS_PP_TUPLE_ELEM_I_22_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a14 -#define IRIS_PP_TUPLE_ELEM_I_22_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a15 -#define IRIS_PP_TUPLE_ELEM_I_22_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a16 -#define IRIS_PP_TUPLE_ELEM_I_22_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a17 -#define IRIS_PP_TUPLE_ELEM_I_22_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a18 -#define IRIS_PP_TUPLE_ELEM_I_22_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a19 -#define IRIS_PP_TUPLE_ELEM_I_22_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a20 -#define IRIS_PP_TUPLE_ELEM_I_22_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a21 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a19 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a20 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_22_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) a21 -#define IRIS_PP_TUPLE_ELEM_I_23_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a0 -#define IRIS_PP_TUPLE_ELEM_I_23_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a1 -#define IRIS_PP_TUPLE_ELEM_I_23_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a2 -#define IRIS_PP_TUPLE_ELEM_I_23_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a3 -#define IRIS_PP_TUPLE_ELEM_I_23_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a4 -#define IRIS_PP_TUPLE_ELEM_I_23_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a5 -#define IRIS_PP_TUPLE_ELEM_I_23_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a6 -#define IRIS_PP_TUPLE_ELEM_I_23_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a7 -#define IRIS_PP_TUPLE_ELEM_I_23_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a8 -#define IRIS_PP_TUPLE_ELEM_I_23_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a9 -#define IRIS_PP_TUPLE_ELEM_I_23_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a10 -#define IRIS_PP_TUPLE_ELEM_I_23_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a11 -#define IRIS_PP_TUPLE_ELEM_I_23_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a12 -#define IRIS_PP_TUPLE_ELEM_I_23_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a13 -#define IRIS_PP_TUPLE_ELEM_I_23_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a14 -#define IRIS_PP_TUPLE_ELEM_I_23_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a15 -#define IRIS_PP_TUPLE_ELEM_I_23_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a16 -#define IRIS_PP_TUPLE_ELEM_I_23_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a17 -#define IRIS_PP_TUPLE_ELEM_I_23_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a18 -#define IRIS_PP_TUPLE_ELEM_I_23_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a19 -#define IRIS_PP_TUPLE_ELEM_I_23_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a20 -#define IRIS_PP_TUPLE_ELEM_I_23_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a21 -#define IRIS_PP_TUPLE_ELEM_I_23_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a22 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a19 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a20 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a21 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_23_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) a22 -#define IRIS_PP_TUPLE_ELEM_I_24_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a0 -#define IRIS_PP_TUPLE_ELEM_I_24_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a1 -#define IRIS_PP_TUPLE_ELEM_I_24_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a2 -#define IRIS_PP_TUPLE_ELEM_I_24_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a3 -#define IRIS_PP_TUPLE_ELEM_I_24_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a4 -#define IRIS_PP_TUPLE_ELEM_I_24_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a5 -#define IRIS_PP_TUPLE_ELEM_I_24_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a6 -#define IRIS_PP_TUPLE_ELEM_I_24_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a7 -#define IRIS_PP_TUPLE_ELEM_I_24_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a8 -#define IRIS_PP_TUPLE_ELEM_I_24_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a9 -#define IRIS_PP_TUPLE_ELEM_I_24_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a10 -#define IRIS_PP_TUPLE_ELEM_I_24_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a11 -#define IRIS_PP_TUPLE_ELEM_I_24_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a12 -#define IRIS_PP_TUPLE_ELEM_I_24_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a13 -#define IRIS_PP_TUPLE_ELEM_I_24_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a14 -#define IRIS_PP_TUPLE_ELEM_I_24_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a15 -#define IRIS_PP_TUPLE_ELEM_I_24_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a16 -#define IRIS_PP_TUPLE_ELEM_I_24_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a17 -#define IRIS_PP_TUPLE_ELEM_I_24_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a18 -#define IRIS_PP_TUPLE_ELEM_I_24_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a19 -#define IRIS_PP_TUPLE_ELEM_I_24_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a20 -#define IRIS_PP_TUPLE_ELEM_I_24_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a21 -#define IRIS_PP_TUPLE_ELEM_I_24_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a22 -#define IRIS_PP_TUPLE_ELEM_I_24_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a23 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a19 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a20 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a21 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a22 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_24_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) a23 -#define IRIS_PP_TUPLE_ELEM_I_25_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a0 -#define IRIS_PP_TUPLE_ELEM_I_25_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a1 -#define IRIS_PP_TUPLE_ELEM_I_25_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a2 -#define IRIS_PP_TUPLE_ELEM_I_25_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a3 -#define IRIS_PP_TUPLE_ELEM_I_25_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a4 -#define IRIS_PP_TUPLE_ELEM_I_25_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a5 -#define IRIS_PP_TUPLE_ELEM_I_25_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a6 -#define IRIS_PP_TUPLE_ELEM_I_25_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a7 -#define IRIS_PP_TUPLE_ELEM_I_25_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a8 -#define IRIS_PP_TUPLE_ELEM_I_25_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a9 -#define IRIS_PP_TUPLE_ELEM_I_25_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a10 -#define IRIS_PP_TUPLE_ELEM_I_25_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a11 -#define IRIS_PP_TUPLE_ELEM_I_25_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a12 -#define IRIS_PP_TUPLE_ELEM_I_25_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a13 -#define IRIS_PP_TUPLE_ELEM_I_25_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a14 -#define IRIS_PP_TUPLE_ELEM_I_25_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a15 -#define IRIS_PP_TUPLE_ELEM_I_25_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a16 -#define IRIS_PP_TUPLE_ELEM_I_25_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a17 -#define IRIS_PP_TUPLE_ELEM_I_25_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a18 -#define IRIS_PP_TUPLE_ELEM_I_25_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a19 -#define IRIS_PP_TUPLE_ELEM_I_25_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a20 -#define IRIS_PP_TUPLE_ELEM_I_25_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a21 -#define IRIS_PP_TUPLE_ELEM_I_25_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a22 -#define IRIS_PP_TUPLE_ELEM_I_25_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a23 -#define IRIS_PP_TUPLE_ELEM_I_25_24(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a24 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a19 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a20 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a21 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a22 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a23 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_25_24(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) a24 -#define IRIS_PP_TUPLE_ELEM_I_26_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a0 -#define IRIS_PP_TUPLE_ELEM_I_26_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a1 -#define IRIS_PP_TUPLE_ELEM_I_26_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a2 -#define IRIS_PP_TUPLE_ELEM_I_26_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a3 -#define IRIS_PP_TUPLE_ELEM_I_26_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a4 -#define IRIS_PP_TUPLE_ELEM_I_26_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a5 -#define IRIS_PP_TUPLE_ELEM_I_26_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a6 -#define IRIS_PP_TUPLE_ELEM_I_26_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a7 -#define IRIS_PP_TUPLE_ELEM_I_26_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a8 -#define IRIS_PP_TUPLE_ELEM_I_26_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a9 -#define IRIS_PP_TUPLE_ELEM_I_26_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a10 -#define IRIS_PP_TUPLE_ELEM_I_26_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a11 -#define IRIS_PP_TUPLE_ELEM_I_26_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a12 -#define IRIS_PP_TUPLE_ELEM_I_26_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a13 -#define IRIS_PP_TUPLE_ELEM_I_26_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a14 -#define IRIS_PP_TUPLE_ELEM_I_26_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a15 -#define IRIS_PP_TUPLE_ELEM_I_26_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a16 -#define IRIS_PP_TUPLE_ELEM_I_26_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a17 -#define IRIS_PP_TUPLE_ELEM_I_26_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a18 -#define IRIS_PP_TUPLE_ELEM_I_26_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a19 -#define IRIS_PP_TUPLE_ELEM_I_26_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a20 -#define IRIS_PP_TUPLE_ELEM_I_26_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a21 -#define IRIS_PP_TUPLE_ELEM_I_26_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a22 -#define IRIS_PP_TUPLE_ELEM_I_26_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a23 -#define IRIS_PP_TUPLE_ELEM_I_26_24(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a24 -#define IRIS_PP_TUPLE_ELEM_I_26_25(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a25 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a0 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a1 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a2 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a3 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a4 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a5 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a6 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a7 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a8 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a9 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a10 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a11 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a12 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a13 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a14 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a15 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a16 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a17 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a18 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a19 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a20 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a21 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a22 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a23 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_24(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a24 +#define IRIS_ZZ_PP_TUPLE_ELEM_I_26_25(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) a25 -#define IRIS_PP_TUPLE_ELEM_I_27_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_0(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a0 -#define IRIS_PP_TUPLE_ELEM_I_27_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_1(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a1 -#define IRIS_PP_TUPLE_ELEM_I_27_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_2(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a2 -#define IRIS_PP_TUPLE_ELEM_I_27_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a3 -#define IRIS_PP_TUPLE_ELEM_I_27_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_4(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a4 -#define IRIS_PP_TUPLE_ELEM_I_27_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_5(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a5 -#define IRIS_PP_TUPLE_ELEM_I_27_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_6(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a6 -#define IRIS_PP_TUPLE_ELEM_I_27_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_7(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a7 -#define IRIS_PP_TUPLE_ELEM_I_27_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_8(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a8 -#define IRIS_PP_TUPLE_ELEM_I_27_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_9(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ a9 -#define IRIS_PP_TUPLE_ELEM_I_27_10( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_10( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a10 -#define IRIS_PP_TUPLE_ELEM_I_27_11( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_11( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a11 -#define IRIS_PP_TUPLE_ELEM_I_27_12( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_12( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a12 -#define IRIS_PP_TUPLE_ELEM_I_27_13( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_13( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a13 -#define IRIS_PP_TUPLE_ELEM_I_27_14( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_14( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a14 -#define IRIS_PP_TUPLE_ELEM_I_27_15( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_15( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a15 -#define IRIS_PP_TUPLE_ELEM_I_27_16( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_16( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a16 -#define IRIS_PP_TUPLE_ELEM_I_27_17( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_17( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a17 -#define IRIS_PP_TUPLE_ELEM_I_27_18( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_18( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a18 -#define IRIS_PP_TUPLE_ELEM_I_27_19( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_19( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a19 -#define IRIS_PP_TUPLE_ELEM_I_27_20( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_20( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a20 -#define IRIS_PP_TUPLE_ELEM_I_27_21( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_21( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a21 -#define IRIS_PP_TUPLE_ELEM_I_27_22( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_22( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a22 -#define IRIS_PP_TUPLE_ELEM_I_27_23( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_23( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a23 -#define IRIS_PP_TUPLE_ELEM_I_27_24( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_24( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a24 -#define IRIS_PP_TUPLE_ELEM_I_27_25( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_25( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a25 -#define IRIS_PP_TUPLE_ELEM_I_27_26( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_27_26( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26 \ ) \ a26 -#define IRIS_PP_TUPLE_ELEM_I_28_0( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_0( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a0 -#define IRIS_PP_TUPLE_ELEM_I_28_1( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_1( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a1 -#define IRIS_PP_TUPLE_ELEM_I_28_2( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_2( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a2 -#define IRIS_PP_TUPLE_ELEM_I_28_3( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_3( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a3 -#define IRIS_PP_TUPLE_ELEM_I_28_4( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_4( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a4 -#define IRIS_PP_TUPLE_ELEM_I_28_5( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_5( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a5 -#define IRIS_PP_TUPLE_ELEM_I_28_6( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_6( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a6 -#define IRIS_PP_TUPLE_ELEM_I_28_7( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_7( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a7 -#define IRIS_PP_TUPLE_ELEM_I_28_8( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_8( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a8 -#define IRIS_PP_TUPLE_ELEM_I_28_9( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_9( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a9 -#define IRIS_PP_TUPLE_ELEM_I_28_10( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_10( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a10 -#define IRIS_PP_TUPLE_ELEM_I_28_11( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_11( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a11 -#define IRIS_PP_TUPLE_ELEM_I_28_12( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_12( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a12 -#define IRIS_PP_TUPLE_ELEM_I_28_13( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_13( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a13 -#define IRIS_PP_TUPLE_ELEM_I_28_14( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_14( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a14 -#define IRIS_PP_TUPLE_ELEM_I_28_15( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_15( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a15 -#define IRIS_PP_TUPLE_ELEM_I_28_16( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_16( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a16 -#define IRIS_PP_TUPLE_ELEM_I_28_17( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_17( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a17 -#define IRIS_PP_TUPLE_ELEM_I_28_18( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_18( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a18 -#define IRIS_PP_TUPLE_ELEM_I_28_19( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_19( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a19 -#define IRIS_PP_TUPLE_ELEM_I_28_20( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_20( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a20 -#define IRIS_PP_TUPLE_ELEM_I_28_21( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_21( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a21 -#define IRIS_PP_TUPLE_ELEM_I_28_22( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_22( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a22 -#define IRIS_PP_TUPLE_ELEM_I_28_23( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_23( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a23 -#define IRIS_PP_TUPLE_ELEM_I_28_24( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_24( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a24 -#define IRIS_PP_TUPLE_ELEM_I_28_25( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_25( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a25 -#define IRIS_PP_TUPLE_ELEM_I_28_26( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_26( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a26 -#define IRIS_PP_TUPLE_ELEM_I_28_27( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_28_27( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ a27 -#define IRIS_PP_TUPLE_ELEM_I_29_0( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_0( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a0 -#define IRIS_PP_TUPLE_ELEM_I_29_1( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_1( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a1 -#define IRIS_PP_TUPLE_ELEM_I_29_2( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_2( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a2 -#define IRIS_PP_TUPLE_ELEM_I_29_3( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_3( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a3 -#define IRIS_PP_TUPLE_ELEM_I_29_4( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_4( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a4 -#define IRIS_PP_TUPLE_ELEM_I_29_5( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_5( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a5 -#define IRIS_PP_TUPLE_ELEM_I_29_6( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_6( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a6 -#define IRIS_PP_TUPLE_ELEM_I_29_7( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_7( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a7 -#define IRIS_PP_TUPLE_ELEM_I_29_8( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_8( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a8 -#define IRIS_PP_TUPLE_ELEM_I_29_9( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_9( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a9 -#define IRIS_PP_TUPLE_ELEM_I_29_10( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_10( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a10 -#define IRIS_PP_TUPLE_ELEM_I_29_11( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_11( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a11 -#define IRIS_PP_TUPLE_ELEM_I_29_12( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_12( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a12 -#define IRIS_PP_TUPLE_ELEM_I_29_13( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_13( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a13 -#define IRIS_PP_TUPLE_ELEM_I_29_14( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_14( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a14 -#define IRIS_PP_TUPLE_ELEM_I_29_15( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_15( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a15 -#define IRIS_PP_TUPLE_ELEM_I_29_16( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_16( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a16 -#define IRIS_PP_TUPLE_ELEM_I_29_17( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_17( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a17 -#define IRIS_PP_TUPLE_ELEM_I_29_18( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_18( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a18 -#define IRIS_PP_TUPLE_ELEM_I_29_19( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_19( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a19 -#define IRIS_PP_TUPLE_ELEM_I_29_20( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_20( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a20 -#define IRIS_PP_TUPLE_ELEM_I_29_21( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_21( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a21 -#define IRIS_PP_TUPLE_ELEM_I_29_22( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_22( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a22 -#define IRIS_PP_TUPLE_ELEM_I_29_23( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_23( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a23 -#define IRIS_PP_TUPLE_ELEM_I_29_24( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_24( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a24 -#define IRIS_PP_TUPLE_ELEM_I_29_25( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_25( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a25 -#define IRIS_PP_TUPLE_ELEM_I_29_26( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_26( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a26 -#define IRIS_PP_TUPLE_ELEM_I_29_27( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_27( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a27 -#define IRIS_PP_TUPLE_ELEM_I_29_28( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_29_28( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ a28 -#define IRIS_PP_TUPLE_ELEM_I_30_0( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_0( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a0 -#define IRIS_PP_TUPLE_ELEM_I_30_1( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_1( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a1 -#define IRIS_PP_TUPLE_ELEM_I_30_2( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_2( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a2 -#define IRIS_PP_TUPLE_ELEM_I_30_3( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_3( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a3 -#define IRIS_PP_TUPLE_ELEM_I_30_4( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_4( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a4 -#define IRIS_PP_TUPLE_ELEM_I_30_5( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_5( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a5 -#define IRIS_PP_TUPLE_ELEM_I_30_6( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_6( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a6 -#define IRIS_PP_TUPLE_ELEM_I_30_7( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_7( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a7 -#define IRIS_PP_TUPLE_ELEM_I_30_8( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_8( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a8 -#define IRIS_PP_TUPLE_ELEM_I_30_9( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_9( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a9 -#define IRIS_PP_TUPLE_ELEM_I_30_10( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_10( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a10 -#define IRIS_PP_TUPLE_ELEM_I_30_11( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_11( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a11 -#define IRIS_PP_TUPLE_ELEM_I_30_12( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_12( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a12 -#define IRIS_PP_TUPLE_ELEM_I_30_13( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_13( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a13 -#define IRIS_PP_TUPLE_ELEM_I_30_14( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_14( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a14 -#define IRIS_PP_TUPLE_ELEM_I_30_15( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_15( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a15 -#define IRIS_PP_TUPLE_ELEM_I_30_16( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_16( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a16 -#define IRIS_PP_TUPLE_ELEM_I_30_17( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_17( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a17 -#define IRIS_PP_TUPLE_ELEM_I_30_18( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_18( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a18 -#define IRIS_PP_TUPLE_ELEM_I_30_19( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_19( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a19 -#define IRIS_PP_TUPLE_ELEM_I_30_20( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_20( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a20 -#define IRIS_PP_TUPLE_ELEM_I_30_21( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_21( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a21 -#define IRIS_PP_TUPLE_ELEM_I_30_22( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_22( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a22 -#define IRIS_PP_TUPLE_ELEM_I_30_23( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_23( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a23 -#define IRIS_PP_TUPLE_ELEM_I_30_24( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_24( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a24 -#define IRIS_PP_TUPLE_ELEM_I_30_25( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_25( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a25 -#define IRIS_PP_TUPLE_ELEM_I_30_26( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_26( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a26 -#define IRIS_PP_TUPLE_ELEM_I_30_27( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_27( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a27 -#define IRIS_PP_TUPLE_ELEM_I_30_28( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_28( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a28 -#define IRIS_PP_TUPLE_ELEM_I_30_29( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_30_29( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ a29 -#define IRIS_PP_TUPLE_ELEM_I_31_0( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_0( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a0 -#define IRIS_PP_TUPLE_ELEM_I_31_1( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_1( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a1 -#define IRIS_PP_TUPLE_ELEM_I_31_2( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_2( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a2 -#define IRIS_PP_TUPLE_ELEM_I_31_3( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_3( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a3 -#define IRIS_PP_TUPLE_ELEM_I_31_4( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_4( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a4 -#define IRIS_PP_TUPLE_ELEM_I_31_5( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_5( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a5 -#define IRIS_PP_TUPLE_ELEM_I_31_6( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_6( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a6 -#define IRIS_PP_TUPLE_ELEM_I_31_7( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_7( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a7 -#define IRIS_PP_TUPLE_ELEM_I_31_8( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_8( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a8 -#define IRIS_PP_TUPLE_ELEM_I_31_9( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_9( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a9 -#define IRIS_PP_TUPLE_ELEM_I_31_10( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_10( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a10 -#define IRIS_PP_TUPLE_ELEM_I_31_11( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_11( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a11 -#define IRIS_PP_TUPLE_ELEM_I_31_12( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_12( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a12 -#define IRIS_PP_TUPLE_ELEM_I_31_13( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_13( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a13 -#define IRIS_PP_TUPLE_ELEM_I_31_14( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_14( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a14 -#define IRIS_PP_TUPLE_ELEM_I_31_15( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_15( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a15 -#define IRIS_PP_TUPLE_ELEM_I_31_16( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_16( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a16 -#define IRIS_PP_TUPLE_ELEM_I_31_17( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_17( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a17 -#define IRIS_PP_TUPLE_ELEM_I_31_18( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_18( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a18 -#define IRIS_PP_TUPLE_ELEM_I_31_19( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_19( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a19 -#define IRIS_PP_TUPLE_ELEM_I_31_20( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_20( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a20 -#define IRIS_PP_TUPLE_ELEM_I_31_21( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_21( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a21 -#define IRIS_PP_TUPLE_ELEM_I_31_22( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_22( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a22 -#define IRIS_PP_TUPLE_ELEM_I_31_23( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_23( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a23 -#define IRIS_PP_TUPLE_ELEM_I_31_24( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_24( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a24 -#define IRIS_PP_TUPLE_ELEM_I_31_25( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_25( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a25 -#define IRIS_PP_TUPLE_ELEM_I_31_26( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_26( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a26 -#define IRIS_PP_TUPLE_ELEM_I_31_27( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_27( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a27 -#define IRIS_PP_TUPLE_ELEM_I_31_28( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_28( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a28 -#define IRIS_PP_TUPLE_ELEM_I_31_29( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_29( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a29 -#define IRIS_PP_TUPLE_ELEM_I_31_30( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_31_30( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ a30 -#define IRIS_PP_TUPLE_ELEM_I_32_0( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_0( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a0 -#define IRIS_PP_TUPLE_ELEM_I_32_1( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_1( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a1 -#define IRIS_PP_TUPLE_ELEM_I_32_2( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_2( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a2 -#define IRIS_PP_TUPLE_ELEM_I_32_3( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_3( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a3 -#define IRIS_PP_TUPLE_ELEM_I_32_4( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_4( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a4 -#define IRIS_PP_TUPLE_ELEM_I_32_5( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_5( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a5 -#define IRIS_PP_TUPLE_ELEM_I_32_6( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_6( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a6 -#define IRIS_PP_TUPLE_ELEM_I_32_7( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_7( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a7 -#define IRIS_PP_TUPLE_ELEM_I_32_8( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_8( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a8 -#define IRIS_PP_TUPLE_ELEM_I_32_9( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_9( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a9 -#define IRIS_PP_TUPLE_ELEM_I_32_10( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_10( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a10 -#define IRIS_PP_TUPLE_ELEM_I_32_11( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_11( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a11 -#define IRIS_PP_TUPLE_ELEM_I_32_12( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_12( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a12 -#define IRIS_PP_TUPLE_ELEM_I_32_13( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_13( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a13 -#define IRIS_PP_TUPLE_ELEM_I_32_14( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_14( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a14 -#define IRIS_PP_TUPLE_ELEM_I_32_15( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_15( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a15 -#define IRIS_PP_TUPLE_ELEM_I_32_16( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_16( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a16 -#define IRIS_PP_TUPLE_ELEM_I_32_17( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_17( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a17 -#define IRIS_PP_TUPLE_ELEM_I_32_18( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_18( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a18 -#define IRIS_PP_TUPLE_ELEM_I_32_19( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_19( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a19 -#define IRIS_PP_TUPLE_ELEM_I_32_20( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_20( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a20 -#define IRIS_PP_TUPLE_ELEM_I_32_21( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_21( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a21 -#define IRIS_PP_TUPLE_ELEM_I_32_22( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_22( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a22 -#define IRIS_PP_TUPLE_ELEM_I_32_23( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_23( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a23 -#define IRIS_PP_TUPLE_ELEM_I_32_24( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_24( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a24 -#define IRIS_PP_TUPLE_ELEM_I_32_25( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_25( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a25 -#define IRIS_PP_TUPLE_ELEM_I_32_26( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_26( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a26 -#define IRIS_PP_TUPLE_ELEM_I_32_27( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_27( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a27 -#define IRIS_PP_TUPLE_ELEM_I_32_28( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_28( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a28 -#define IRIS_PP_TUPLE_ELEM_I_32_29( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_29( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a29 -#define IRIS_PP_TUPLE_ELEM_I_32_30( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_30( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a30 -#define IRIS_PP_TUPLE_ELEM_I_32_31( \ +#define IRIS_ZZ_PP_TUPLE_ELEM_I_32_31( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ a31 -#define IRIS_PP_TUPLE_TO_SEQ_I_0() -#define IRIS_PP_TUPLE_TO_SEQ_I_1(a0) (a0) -#define IRIS_PP_TUPLE_TO_SEQ_I_2(a0, a1) (a0)(a1) -#define IRIS_PP_TUPLE_TO_SEQ_I_3(a0, a1, a2) (a0)(a1)(a2) -#define IRIS_PP_TUPLE_TO_SEQ_I_4(a0, a1, a2, a3) (a0)(a1)(a2)(a3) -#define IRIS_PP_TUPLE_TO_SEQ_I_5(a0, a1, a2, a3, a4) (a0)(a1)(a2)(a3)(a4) -#define IRIS_PP_TUPLE_TO_SEQ_I_6(a0, a1, a2, a3, a4, a5) (a0)(a1)(a2)(a3)(a4)(a5) -#define IRIS_PP_TUPLE_TO_SEQ_I_7(a0, a1, a2, a3, a4, a5, a6) (a0)(a1)(a2)(a3)(a4)(a5)(a6) -#define IRIS_PP_TUPLE_TO_SEQ_I_8(a0, a1, a2, a3, a4, a5, a6, a7) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7) -#define IRIS_PP_TUPLE_TO_SEQ_I_9(a0, a1, a2, a3, a4, a5, a6, a7, a8) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8) -#define IRIS_PP_TUPLE_TO_SEQ_I_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9) -#define IRIS_PP_TUPLE_TO_SEQ_I_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10) -#define IRIS_PP_TUPLE_TO_SEQ_I_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11) -#define IRIS_PP_TUPLE_TO_SEQ_I_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12) -#define IRIS_PP_TUPLE_TO_SEQ_I_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13) -#define IRIS_PP_TUPLE_TO_SEQ_I_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_0() +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_1(a0) (a0) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_2(a0, a1) (a0)(a1) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_3(a0, a1, a2) (a0)(a1)(a2) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_4(a0, a1, a2, a3) (a0)(a1)(a2)(a3) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_5(a0, a1, a2, a3, a4) (a0)(a1)(a2)(a3)(a4) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_6(a0, a1, a2, a3, a4, a5) (a0)(a1)(a2)(a3)(a4)(a5) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_7(a0, a1, a2, a3, a4, a5, a6) (a0)(a1)(a2)(a3)(a4)(a5)(a6) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_8(a0, a1, a2, a3, a4, a5, a6, a7) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_9(a0, a1, a2, a3, a4, a5, a6, a7, a8) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13) +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14) -#define IRIS_PP_TUPLE_TO_SEQ_I_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15) -#define IRIS_PP_TUPLE_TO_SEQ_I_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_17(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16) -#define IRIS_PP_TUPLE_TO_SEQ_I_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_18(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17) -#define IRIS_PP_TUPLE_TO_SEQ_I_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_19(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18) -#define IRIS_PP_TUPLE_TO_SEQ_I_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_20(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19) -#define IRIS_PP_TUPLE_TO_SEQ_I_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_21(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20) -#define IRIS_PP_TUPLE_TO_SEQ_I_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_22(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21) -#define IRIS_PP_TUPLE_TO_SEQ_I_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_23(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22) -#define IRIS_PP_TUPLE_TO_SEQ_I_24(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_24(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23) -#define IRIS_PP_TUPLE_TO_SEQ_I_25(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_25(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24) -#define IRIS_PP_TUPLE_TO_SEQ_I_26(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_26(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24)(a25) -#define IRIS_PP_TUPLE_TO_SEQ_I_27(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_27(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24)(a25)(a26) -#define IRIS_PP_TUPLE_TO_SEQ_I_28( \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_28( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27 \ ) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24)(a25)(a26)(a27) -#define IRIS_PP_TUPLE_TO_SEQ_I_29( \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_29( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28 \ ) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24)(a25)(a26)(a27)(a28) -#define IRIS_PP_TUPLE_TO_SEQ_I_30( \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_30( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29 \ ) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24)(a25)(a26)(a27)(a28)(a29) -#define IRIS_PP_TUPLE_TO_SEQ_I_31( \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_31( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30 \ ) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24)(a25)(a26)(a27)(a28)(a29)(a30) -#define IRIS_PP_TUPLE_TO_SEQ_I_32( \ +#define IRIS_ZZ_PP_TUPLE_TO_SEQ_I_32( \ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31 \ ) \ (a0)(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8)(a9)(a10)(a11)(a12)(a13)(a14)(a15)(a16)(a17)(a18)(a19)(a20)(a21)(a22)(a23)(a24)(a25)(a26)(a27)(a28)(a29)(a30)(a31) diff --git a/include/iris/pp/while.hpp b/include/iris/pp/while.hpp index b9f77c7..10fefe7 100644 --- a/include/iris/pp/while.hpp +++ b/include/iris/pp/while.hpp @@ -5,74 +5,74 @@ #include -#define IRIS_PP_WHILE(state, pred, update) IRIS_PP_WHILE_I_0(state, pred, update) +#define IRIS_PP_WHILE(state, pred, update) IRIS_ZZ_PP_WHILE_I_0(state, pred, update) -#define IRIS_PP_WHILE_I_0(state, pred, op) IRIS_PP_WHILE_I_I_0(state, pred, op) -#define IRIS_PP_WHILE_I_1(state, pred, op) IRIS_PP_WHILE_I_I_1(state, pred, op) -#define IRIS_PP_WHILE_I_2(state, pred, op) IRIS_PP_WHILE_I_I_2(state, pred, op) -#define IRIS_PP_WHILE_I_3(state, pred, op) IRIS_PP_WHILE_I_I_3(state, pred, op) -#define IRIS_PP_WHILE_I_4(state, pred, op) IRIS_PP_WHILE_I_I_4(state, pred, op) -#define IRIS_PP_WHILE_I_5(state, pred, op) IRIS_PP_WHILE_I_I_5(state, pred, op) -#define IRIS_PP_WHILE_I_6(state, pred, op) IRIS_PP_WHILE_I_I_6(state, pred, op) -#define IRIS_PP_WHILE_I_7(state, pred, op) IRIS_PP_WHILE_I_I_7(state, pred, op) -#define IRIS_PP_WHILE_I_8(state, pred, op) IRIS_PP_WHILE_I_I_8(state, pred, op) -#define IRIS_PP_WHILE_I_9(state, pred, op) IRIS_PP_WHILE_I_I_9(state, pred, op) -#define IRIS_PP_WHILE_I_10(state, pred, op) IRIS_PP_WHILE_I_I_10(state, pred, op) -#define IRIS_PP_WHILE_I_11(state, pred, op) IRIS_PP_WHILE_I_I_11(state, pred, op) -#define IRIS_PP_WHILE_I_12(state, pred, op) IRIS_PP_WHILE_I_I_12(state, pred, op) -#define IRIS_PP_WHILE_I_13(state, pred, op) IRIS_PP_WHILE_I_I_13(state, pred, op) -#define IRIS_PP_WHILE_I_14(state, pred, op) IRIS_PP_WHILE_I_I_14(state, pred, op) -#define IRIS_PP_WHILE_I_15(state, pred, op) IRIS_PP_WHILE_I_I_15(state, pred, op) -#define IRIS_PP_WHILE_I_16(state, pred, op) IRIS_PP_WHILE_I_I_16(state, pred, op) -#define IRIS_PP_WHILE_I_17(state, pred, op) IRIS_PP_WHILE_I_I_17(state, pred, op) -#define IRIS_PP_WHILE_I_18(state, pred, op) IRIS_PP_WHILE_I_I_18(state, pred, op) -#define IRIS_PP_WHILE_I_19(state, pred, op) IRIS_PP_WHILE_I_I_19(state, pred, op) -#define IRIS_PP_WHILE_I_20(state, pred, op) IRIS_PP_WHILE_I_I_20(state, pred, op) -#define IRIS_PP_WHILE_I_21(state, pred, op) IRIS_PP_WHILE_I_I_21(state, pred, op) -#define IRIS_PP_WHILE_I_22(state, pred, op) IRIS_PP_WHILE_I_I_22(state, pred, op) -#define IRIS_PP_WHILE_I_23(state, pred, op) IRIS_PP_WHILE_I_I_23(state, pred, op) -#define IRIS_PP_WHILE_I_24(state, pred, op) IRIS_PP_WHILE_I_I_24(state, pred, op) -#define IRIS_PP_WHILE_I_25(state, pred, op) IRIS_PP_WHILE_I_I_25(state, pred, op) -#define IRIS_PP_WHILE_I_26(state, pred, op) IRIS_PP_WHILE_I_I_26(state, pred, op) -#define IRIS_PP_WHILE_I_27(state, pred, op) IRIS_PP_WHILE_I_I_27(state, pred, op) -#define IRIS_PP_WHILE_I_28(state, pred, op) IRIS_PP_WHILE_I_I_28(state, pred, op) -#define IRIS_PP_WHILE_I_29(state, pred, op) IRIS_PP_WHILE_I_I_29(state, pred, op) -#define IRIS_PP_WHILE_I_30(state, pred, op) IRIS_PP_WHILE_I_I_30(state, pred, op) -#define IRIS_PP_WHILE_I_31(state, pred, op) IRIS_PP_WHILE_I_I_31(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_0(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_0(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_1(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_1(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_2(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_2(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_3(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_3(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_4(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_4(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_5(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_5(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_6(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_6(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_7(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_7(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_8(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_8(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_9(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_9(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_10(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_10(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_11(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_11(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_12(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_12(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_13(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_13(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_14(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_14(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_15(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_15(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_16(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_16(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_17(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_17(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_18(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_18(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_19(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_19(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_20(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_20(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_21(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_21(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_22(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_22(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_23(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_23(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_24(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_24(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_25(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_25(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_26(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_26(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_27(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_27(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_28(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_28(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_29(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_29(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_30(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_30(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_31(state, pred, op) IRIS_ZZ_PP_WHILE_I_I_31(state, pred, op) -#define IRIS_PP_WHILE_I_EAT_3(state, pred, op) +#define IRIS_ZZ_PP_WHILE_I_EAT_3(state, pred, op) -#define IRIS_PP_WHILE_I_I_0(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_1, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_1(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_2, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_2(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_3, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_3(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_4, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_4(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_5, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_5(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_6, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_6(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_7, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_7(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_8, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_8(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_9, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_9(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_10, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_10(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_11, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_11(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_12, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_12(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_13, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_13(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_14, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_14(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_15, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_15(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_16, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_16(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_17, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_17(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_18, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_18(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_19, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_19(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_20, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_20(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_21, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_21(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_22, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_22(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_23, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_23(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_24, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_24(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_25, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_25(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_26, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_26(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_27, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_27(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_28, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_28(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_29, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_29(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_30, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_30(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_31, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) -#define IRIS_PP_WHILE_I_I_31(state, pred, op) IRIS_PP_IF(pred(state), IRIS_PP_WHILE_I_32, state IRIS_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_0(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_1, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_1(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_2, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_2(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_3, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_3(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_4, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_4(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_5, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_5(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_6, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_6(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_7, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_7(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_8, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_8(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_9, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_9(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_10, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_10(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_11, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_11(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_12, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_12(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_13, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_13(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_14, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_14(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_15, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_15(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_16, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_16(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_17, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_17(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_18, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_18(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_19, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_19(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_20, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_20(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_21, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_21(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_22, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_22(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_23, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_23(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_24, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_24(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_25, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_25(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_26, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_26(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_27, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_27(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_28, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_28(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_29, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_29(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_30, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_30(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_31, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) +#define IRIS_ZZ_PP_WHILE_I_I_31(state, pred, op) IRIS_PP_IF(pred(state), IRIS_ZZ_PP_WHILE_I_32, state IRIS_ZZ_PP_WHILE_I_EAT_3)(op(state), pred, op) #endif diff --git a/include/iris/rvariant/detail/rvariant_fwd.hpp b/include/iris/rvariant/detail/rvariant_fwd.hpp index 5077324..8aee95a 100644 --- a/include/iris/rvariant/detail/rvariant_fwd.hpp +++ b/include/iris/rvariant/detail/rvariant_fwd.hpp @@ -7,16 +7,6 @@ #include // IWYU pragma: keep -#if !defined(IRIS_RVARIANT_VISIT_STRENGTHEN) -# define IRIS_RVARIANT_VISIT_STRENGTHEN 1 -#endif - -#if IRIS_RVARIANT_VISIT_STRENGTHEN -# define IRIS_RVARIANT_VISIT_NOEXCEPT(...) noexcept(__VA_ARGS__) -#else -# define IRIS_RVARIANT_VISIT_NOEXCEPT(...) -#endif - namespace iris { template diff --git a/include/iris/rvariant/detail/visit.hpp b/include/iris/rvariant/detail/visit.hpp index 3dafc8c..893800a 100644 --- a/include/iris/rvariant/detail/visit.hpp +++ b/include/iris/rvariant/detail/visit.hpp @@ -420,7 +420,7 @@ struct multi_visitor> { template static constexpr R apply([[maybe_unused]] Visitor&& vis, [[maybe_unused]] Storage&&... storage) // NOLINT(cppcoreguidelines-rvalue-reference-param-not-moved) - IRIS_RVARIANT_VISIT_NOEXCEPT(multi_visit_noexcept, Visitor, Storage...>::value) + noexcept(multi_visit_noexcept, Visitor, Storage...>::value) { if constexpr (((!std::remove_cvref_t::never_valueless && Is == 0) || ...)) { detail::throw_bad_variant_access(); @@ -462,7 +462,7 @@ struct visit_dispatch<-1> { template [[nodiscard]] IRIS_FORCEINLINE static constexpr R apply(std::size_t const flat_i, [[maybe_unused]] Visitor&& vis, [[maybe_unused]] Storage&&... storage) - IRIS_RVARIANT_VISIT_NOEXCEPT(multi_visit_noexcept::value) + noexcept(multi_visit_noexcept::value) { constexpr auto const& table = visit_table::table; auto const& f = table[flat_i]; @@ -484,7 +484,7 @@ struct visit_dispatch<-1> { \ template \ [[nodiscard]] static constexpr R apply(std::size_t const flat_i, [[maybe_unused]] Visitor&& vis, [[maybe_unused]] Storage&&... storage) \ - IRIS_RVARIANT_VISIT_NOEXCEPT(multi_visit_noexcept::value) \ + noexcept(multi_visit_noexcept::value) \ { \ static_assert((1uz << ((strategy) * 2uz)) <= OverloadSeq::size && OverloadSeq::size <= (1uz << (((strategy) + 1) * 2uz))); \ switch (flat_i) { \ @@ -579,7 +579,7 @@ struct visit_impl< { template> static constexpr R apply(Visitor&& vis, Variants&&... vars) // NOLINT(cppcoreguidelines-missing-std-forward) - IRIS_RVARIANT_VISIT_NOEXCEPT(multi_visit_noexcept>...>::value) + noexcept(multi_visit_noexcept>...>::value) { std::size_t const flat_i = flat_index< std::index_sequence, @@ -603,7 +603,7 @@ template< > detail::visit_result_t...> IRIS_FORCEINLINE constexpr visit(Visitor&& vis, Variants&&... vars) - IRIS_RVARIANT_VISIT_NOEXCEPT(detail::multi_visit_noexcept< + noexcept(detail::multi_visit_noexcept< detail::visit_result_t...>, detail::make_OverloadSeq, Visitor, @@ -637,7 +637,7 @@ template< class = std::void_t...> > IRIS_FORCEINLINE constexpr R visit(Visitor&& vis, Variants&&... vars) - IRIS_RVARIANT_VISIT_NOEXCEPT(detail::multi_visit_noexcept< + noexcept(detail::multi_visit_noexcept< R, detail::make_OverloadSeq, Visitor, diff --git a/include/iris/rvariant/rvariant.hpp b/include/iris/rvariant/rvariant.hpp index a05b6ec..55811b0 100644 --- a/include/iris/rvariant/rvariant.hpp +++ b/include/iris/rvariant/rvariant.hpp @@ -1069,7 +1069,7 @@ IRIS_RVARIANT_ALWAYS_THROWING_UNREACHABLE_END // template constexpr decltype(auto) visit(this Self&& self, Visitor&& vis) - IRIS_RVARIANT_VISIT_NOEXCEPT(noexcept(iris::visit( + noexcept(noexcept(iris::visit( std::forward(vis), (typename base_type::template like_rvariant_t)self ))) @@ -1084,7 +1084,7 @@ IRIS_RVARIANT_ALWAYS_THROWING_UNREACHABLE_END // template constexpr R visit(this Self&& self, Visitor&& vis) - IRIS_RVARIANT_VISIT_NOEXCEPT(noexcept(iris::visit( + noexcept(noexcept(iris::visit( std::forward(vis), (typename base_type::template like_rvariant_t)self ))) diff --git a/include/iris/type_traits.hpp b/include/iris/type_traits.hpp index fde5bd8..06b93cb 100644 --- a/include/iris/type_traits.hpp +++ b/include/iris/type_traits.hpp @@ -104,7 +104,7 @@ using at_c_t = at_c::type; // Note: GCC 15 emits "sorry, unimplemented: mangling type pack index" #if !(defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 15) && __cpp_pack_indexing >= 202311L -# define IRIS_CORE_PACK_INDEXING(I, Ts_ellipsis) Ts_ellipsis[I] +# define IRIS_PACK_INDEXING(I, Ts_ellipsis) Ts_ellipsis[I] template struct pack_indexing { using type = Ts...[I]; }; template using pack_indexing_t = Ts...[I]; @@ -131,7 +131,7 @@ struct pack_indexing template using pack_indexing_t = pack_indexing::type; -# define IRIS_CORE_PACK_INDEXING(I, Ts_ellipsis) ::iris::pack_indexing_t +# define IRIS_PACK_INDEXING(I, Ts_ellipsis) ::iris::pack_indexing_t template diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index aaa1f4d..e1565b4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -179,6 +179,7 @@ if(PROJECT_IS_TOP_LEVEL) if(NOT DEFINED IRIS_CI_COMPONENT OR IRIS_CI_COMPONENT STREQUAL iris) set( IRIS_TEST_IRIS_TESTS + library_config core type_traits stdint diff --git a/test/library_config.cpp b/test/library_config.cpp new file mode 100644 index 0000000..186b743 --- /dev/null +++ b/test/library_config.cpp @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Intentionally included later (do not do this in other tests) +#include "iris_test.hpp" From 05b9a9a3274f0a7e740f5ee0c6849ef0c1a6fae7 Mon Sep 17 00:00:00 2001 From: Nana Sakisaka <1901813+saki7@users.noreply.github.com> Date: Mon, 24 Aug 2026 12:28:53 +0900 Subject: [PATCH 2/4] Adjust header includes --- include/iris/alloy/adapted/std_pair.hpp | 2 +- include/iris/colorize_format.hpp | 4 ++++ include/iris/cond_trivial_smf.hpp | 4 +++- include/iris/default_init_allocator.hpp | 4 +++- include/iris/enum_bitops.hpp | 2 ++ include/iris/enum_bitops_algorithm.hpp | 2 ++ include/iris/enum_bitops_io.hpp | 2 ++ include/iris/exception.hpp | 2 ++ include/iris/fixed_string.hpp | 2 ++ include/iris/format.hpp | 2 ++ include/iris/format_traits.hpp | 3 ++- include/iris/hash.hpp | 2 ++ include/iris/hash/FNV_hash.hpp | 4 +++- include/iris/hash_fwd.hpp | 2 ++ include/iris/indirect.hpp | 2 ++ include/iris/indirect_pmr.hpp | 5 +++-- include/iris/interval.hpp | 3 ++- include/iris/interval_algo.hpp | 6 +++--- include/iris/interval_set.hpp | 4 ++-- include/iris/iterator.hpp | 2 +- include/iris/ngram/detail/id_store.hpp | 1 - include/iris/rvariant/detail/recursive_traits.hpp | 2 ++ include/iris/rvariant/detail/seq.hpp | 4 +++- include/iris/rvariant/detail/variant_storage.hpp | 4 +++- include/iris/rvariant/detail/visit.hpp | 2 ++ include/iris/rvariant/pack.hpp | 4 +++- include/iris/rvariant/recursive_wrapper_pmr.hpp | 2 ++ include/iris/rvariant/rvariant_io.hpp | 2 ++ include/iris/rvariant/subset.hpp | 4 +++- include/iris/rvariant/variant_helper.hpp | 2 ++ include/iris/snippet.hpp | 4 ++-- include/iris/string.hpp | 2 +- include/iris/unicode/string.hpp | 2 ++ 33 files changed, 72 insertions(+), 22 deletions(-) diff --git a/include/iris/alloy/adapted/std_pair.hpp b/include/iris/alloy/adapted/std_pair.hpp index 186aa0b..f8f1e6f 100644 --- a/include/iris/alloy/adapted/std_pair.hpp +++ b/include/iris/alloy/adapted/std_pair.hpp @@ -9,7 +9,7 @@ #include // IWYU pragma: export -#include +#include // IWYU pragma: keep namespace iris::alloy { diff --git a/include/iris/colorize_format.hpp b/include/iris/colorize_format.hpp index 93d458b..55ca870 100644 --- a/include/iris/colorize_format.hpp +++ b/include/iris/colorize_format.hpp @@ -1,6 +1,10 @@ #ifndef IRIS_ZZ_COLORIZE_FORMAT_HPP #define IRIS_ZZ_COLORIZE_FORMAT_HPP +// SPDX-License-Identifier: MIT + +#include // IWYU pragma: keep + #include #include #include diff --git a/include/iris/cond_trivial_smf.hpp b/include/iris/cond_trivial_smf.hpp index e04d230..ddb71bd 100644 --- a/include/iris/cond_trivial_smf.hpp +++ b/include/iris/cond_trivial_smf.hpp @@ -1,8 +1,10 @@ -#ifndef IRIS_ZZ_COND_TRIVIAL_SMF_HPP +#ifndef IRIS_ZZ_COND_TRIVIAL_SMF_HPP #define IRIS_ZZ_COND_TRIVIAL_SMF_HPP // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include namespace iris { diff --git a/include/iris/default_init_allocator.hpp b/include/iris/default_init_allocator.hpp index 8d7a616..5323eb7 100644 --- a/include/iris/default_init_allocator.hpp +++ b/include/iris/default_init_allocator.hpp @@ -1,8 +1,10 @@ -#ifndef IRIS_ZZ_DEFAULT_INIT_ALLOCATOR_HPP +#ifndef IRIS_ZZ_DEFAULT_INIT_ALLOCATOR_HPP #define IRIS_ZZ_DEFAULT_INIT_ALLOCATOR_HPP // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include #include diff --git a/include/iris/enum_bitops.hpp b/include/iris/enum_bitops.hpp index 5309032..4b01d11 100644 --- a/include/iris/enum_bitops.hpp +++ b/include/iris/enum_bitops.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include #include diff --git a/include/iris/enum_bitops_algorithm.hpp b/include/iris/enum_bitops_algorithm.hpp index c43b054..875633f 100644 --- a/include/iris/enum_bitops_algorithm.hpp +++ b/include/iris/enum_bitops_algorithm.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/enum_bitops_io.hpp b/include/iris/enum_bitops_io.hpp index 004443a..2e76cde 100644 --- a/include/iris/enum_bitops_io.hpp +++ b/include/iris/enum_bitops_io.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/exception.hpp b/include/iris/exception.hpp index 866a493..058644d 100644 --- a/include/iris/exception.hpp +++ b/include/iris/exception.hpp @@ -1,6 +1,8 @@ #ifndef IRIS_ZZ_EXCEPTION_HPP #define IRIS_ZZ_EXCEPTION_HPP +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/fixed_string.hpp b/include/iris/fixed_string.hpp index 5e3a124..2496394 100644 --- a/include/iris/fixed_string.hpp +++ b/include/iris/fixed_string.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include #include diff --git a/include/iris/format.hpp b/include/iris/format.hpp index 5539380..020c6f5 100644 --- a/include/iris/format.hpp +++ b/include/iris/format.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/format_traits.hpp b/include/iris/format_traits.hpp index 7250068..4d2a6c6 100644 --- a/include/iris/format_traits.hpp +++ b/include/iris/format_traits.hpp @@ -3,10 +3,11 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include - namespace iris { template diff --git a/include/iris/hash.hpp b/include/iris/hash.hpp index aa93045..87aa53a 100644 --- a/include/iris/hash.hpp +++ b/include/iris/hash.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/hash/FNV_hash.hpp b/include/iris/hash/FNV_hash.hpp index d312705..47b1d60 100644 --- a/include/iris/hash/FNV_hash.hpp +++ b/include/iris/hash/FNV_hash.hpp @@ -3,10 +3,12 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include -#include +#include // IWYU pragma: keep // https://datatracker.ietf.org/doc/html/draft-eastlake-fnv-03#section-2 // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59406 diff --git a/include/iris/hash_fwd.hpp b/include/iris/hash_fwd.hpp index f935fe5..8e0816c 100644 --- a/include/iris/hash_fwd.hpp +++ b/include/iris/hash_fwd.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #if !defined(_MSC_VER) && __cplusplus <= 202302L || \ diff --git a/include/iris/indirect.hpp b/include/iris/indirect.hpp index 4d069c2..9572429 100644 --- a/include/iris/indirect.hpp +++ b/include/iris/indirect.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include #include diff --git a/include/iris/indirect_pmr.hpp b/include/iris/indirect_pmr.hpp index b51c2c6..83a2dd0 100644 --- a/include/iris/indirect_pmr.hpp +++ b/include/iris/indirect_pmr.hpp @@ -1,13 +1,14 @@ -#ifndef IRIS_ZZ_INDIRECT_PMR_HPP +#ifndef IRIS_ZZ_INDIRECT_PMR_HPP #define IRIS_ZZ_INDIRECT_PMR_HPP // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include - namespace iris::pmr { template diff --git a/include/iris/interval.hpp b/include/iris/interval.hpp index 136bd33..7d55521 100644 --- a/include/iris/interval.hpp +++ b/include/iris/interval.hpp @@ -3,7 +3,8 @@ // SPDX-License-Identifier: MIT -#include +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/interval_algo.hpp b/include/iris/interval_algo.hpp index 863e329..f9a52cb 100644 --- a/include/iris/interval_algo.hpp +++ b/include/iris/interval_algo.hpp @@ -3,8 +3,8 @@ // SPDX-License-Identifier: MIT -#include -#include +#include // IWYU pragma: keep +#include // IWYU pragma: export #include #include @@ -15,7 +15,7 @@ #include #include -#include +#include // IWYU pragma: keep namespace iris { diff --git a/include/iris/interval_set.hpp b/include/iris/interval_set.hpp index f2998ed..8746d73 100644 --- a/include/iris/interval_set.hpp +++ b/include/iris/interval_set.hpp @@ -3,7 +3,7 @@ // SPDX-License-Identifier: MIT -#include +#include // IWYU pragma: keep #include #include @@ -14,7 +14,7 @@ #include #include -#include +#include // IWYU pragma: keep namespace iris { diff --git a/include/iris/iterator.hpp b/include/iris/iterator.hpp index 472e538..47aecc7 100644 --- a/include/iris/iterator.hpp +++ b/include/iris/iterator.hpp @@ -3,7 +3,7 @@ // SPDX-License-Identifier: MIT -#include +#include // IWYU pragma: keep #include #include diff --git a/include/iris/ngram/detail/id_store.hpp b/include/iris/ngram/detail/id_store.hpp index d996394..4e59663 100644 --- a/include/iris/ngram/detail/id_store.hpp +++ b/include/iris/ngram/detail/id_store.hpp @@ -11,7 +11,6 @@ #include #include -#include #include diff --git a/include/iris/rvariant/detail/recursive_traits.hpp b/include/iris/rvariant/detail/recursive_traits.hpp index 4c4b2cc..e53e2fa 100644 --- a/include/iris/rvariant/detail/recursive_traits.hpp +++ b/include/iris/rvariant/detail/recursive_traits.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + // IWYU pragma: private, include #include diff --git a/include/iris/rvariant/detail/seq.hpp b/include/iris/rvariant/detail/seq.hpp index 997c7fb..392ac92 100644 --- a/include/iris/rvariant/detail/seq.hpp +++ b/include/iris/rvariant/detail/seq.hpp @@ -1,8 +1,10 @@ -#ifndef IRIS_ZZ_RVARIANT_DETAIL_SEQ_HPP +#ifndef IRIS_ZZ_RVARIANT_DETAIL_SEQ_HPP #define IRIS_ZZ_RVARIANT_DETAIL_SEQ_HPP // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/rvariant/detail/variant_storage.hpp b/include/iris/rvariant/detail/variant_storage.hpp index aef3123..2baca3c 100644 --- a/include/iris/rvariant/detail/variant_storage.hpp +++ b/include/iris/rvariant/detail/variant_storage.hpp @@ -1,8 +1,10 @@ -#ifndef IRIS_ZZ_RVARIANT_DETAIL_VARIANT_STORAGE_HPP +#ifndef IRIS_ZZ_RVARIANT_DETAIL_VARIANT_STORAGE_HPP #define IRIS_ZZ_RVARIANT_DETAIL_VARIANT_STORAGE_HPP // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + // IWYU pragma: private, include #include diff --git a/include/iris/rvariant/detail/visit.hpp b/include/iris/rvariant/detail/visit.hpp index 893800a..f49d36a 100644 --- a/include/iris/rvariant/detail/visit.hpp +++ b/include/iris/rvariant/detail/visit.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + // IWYU pragma: private, include #include diff --git a/include/iris/rvariant/pack.hpp b/include/iris/rvariant/pack.hpp index 0e76c59..5640bd3 100644 --- a/include/iris/rvariant/pack.hpp +++ b/include/iris/rvariant/pack.hpp @@ -1,8 +1,10 @@ -#ifndef IRIS_ZZ_RVARIANT_PACK_HPP +#ifndef IRIS_ZZ_RVARIANT_PACK_HPP #define IRIS_ZZ_RVARIANT_PACK_HPP // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + // Utilities related to [rvariant.pack] #include diff --git a/include/iris/rvariant/recursive_wrapper_pmr.hpp b/include/iris/rvariant/recursive_wrapper_pmr.hpp index 10e7efe..d5f6407 100644 --- a/include/iris/rvariant/recursive_wrapper_pmr.hpp +++ b/include/iris/rvariant/recursive_wrapper_pmr.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/rvariant/rvariant_io.hpp b/include/iris/rvariant/rvariant_io.hpp index bb63e4b..ac5d769 100644 --- a/include/iris/rvariant/rvariant_io.hpp +++ b/include/iris/rvariant/rvariant_io.hpp @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/rvariant/subset.hpp b/include/iris/rvariant/subset.hpp index 5f7abfd..ab4fbff 100644 --- a/include/iris/rvariant/subset.hpp +++ b/include/iris/rvariant/subset.hpp @@ -1,8 +1,10 @@ -#ifndef IRIS_ZZ_RVARIANT_SUBSET_HPP +#ifndef IRIS_ZZ_RVARIANT_SUBSET_HPP #define IRIS_ZZ_RVARIANT_SUBSET_HPP // SPDX-License-Identifier: MIT +#include // IWYU pragma: keep + #include #include #include diff --git a/include/iris/rvariant/variant_helper.hpp b/include/iris/rvariant/variant_helper.hpp index d23c31c..0b3f40c 100644 --- a/include/iris/rvariant/variant_helper.hpp +++ b/include/iris/rvariant/variant_helper.hpp @@ -9,6 +9,8 @@ // third-party codes may depend on only this header to // provide sufficient concepts for their code. +#include // IWYU pragma: keep + #include #include diff --git a/include/iris/snippet.hpp b/include/iris/snippet.hpp index 5cf90b4..2d06f04 100644 --- a/include/iris/snippet.hpp +++ b/include/iris/snippet.hpp @@ -3,7 +3,7 @@ // SPDX-License-Identifier: MIT -#include +#include // IWYU pragma: keep #include #include @@ -23,7 +23,7 @@ #include #include -#include +#include // IWYU pragma: keep #include namespace iris::snip { diff --git a/include/iris/string.hpp b/include/iris/string.hpp index 465cfc9..694720e 100644 --- a/include/iris/string.hpp +++ b/include/iris/string.hpp @@ -3,7 +3,7 @@ // SPDX-License-Identifier: MIT -#include +#include // IWYU pragma: keep #include #include diff --git a/include/iris/unicode/string.hpp b/include/iris/unicode/string.hpp index 6618f3e..12e2cbf 100644 --- a/include/iris/unicode/string.hpp +++ b/include/iris/unicode/string.hpp @@ -28,6 +28,8 @@ DEALINGS IN THE SOFTWARE. #ifndef IRIS_ZZ_UNICODE_STRING_HPP #define IRIS_ZZ_UNICODE_STRING_HPP +#include // IWYU pragma: keep + #include #include #include From 868c55290a04f994059237dd3c152473f7e9559c Mon Sep 17 00:00:00 2001 From: Nana Sakisaka <1901813+saki7@users.noreply.github.com> Date: Mon, 24 Aug 2026 12:29:38 +0900 Subject: [PATCH 3/4] Update test --- test/library_config.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/library_config.cpp b/test/library_config.cpp index 186b743..9f025b3 100644 --- a/test/library_config.cpp +++ b/test/library_config.cpp @@ -80,3 +80,8 @@ // Intentionally included later (do not do this in other tests) #include "iris_test.hpp" + +TEST_CASE("library_config") +{ + CHECK(true); +} From 30a7c886e7d8e60eb429d5da04cebaae6e8842e6 Mon Sep 17 00:00:00 2001 From: Nana Sakisaka <1901813+saki7@users.noreply.github.com> Date: Mon, 24 Aug 2026 13:27:22 +0900 Subject: [PATCH 4/4] Fix double library include detection --- CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a1c75a9..b67c4a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,8 +8,12 @@ endif() project(iris VERSION 0.0.1 LANGUAGES CXX) -set(IRIS_ROOT "${CMAKE_CURRENT_LIST_DIR}") +if(DEFINED IRIS_ROOT AND NOT "${IRIS_ROOT}" PATH_EQUAL "${CMAKE_CURRENT_LIST_DIR}") + message(FATAL_ERROR "Cannot include Iris more than once") +endif() +set(CACHE{IRIS_ROOT} TYPE PATH VALUE "${CMAKE_CURRENT_LIST_DIR}") set_property(GLOBAL PROPERTY IRIS_ROOT "${IRIS_ROOT}") +message(STATUS "IRIS_ROOT: ${IRIS_ROOT}") # -----------------------------------------------------------------