From 476c9373ee0d44c97c3112a01b1220f0ab5fc85b Mon Sep 17 00:00:00 2001 From: Sayan Samanta Date: Tue, 17 Jun 2025 18:26:33 -0400 Subject: [PATCH 1/2] Create create_generated.sh Add a shell script similar to the python script to generate args_n, rseq_n and loops --- create_generated.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 create_generated.sh diff --git a/create_generated.sh b/create_generated.sh new file mode 100644 index 0000000..b181cdb --- /dev/null +++ b/create_generated.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +N=${1:-42} #default + +awk -v N="$N" ' +BEGIN { + # ARG_N + printf("#define WISE_ENUM_IMPL_ARG_N("); + for (i = 1; i <= N; ++i) printf("_%d, ", i); + printf("N, ...) \\\n N\n\n"); + + # RSEQ_N + printf("#define WISE_ENUM_IMPL_RSEQ_N() \\\n "); + for (i = N; i >= 1; --i) { + printf("%d", i); + if (i > 1) printf(", "); + if ((N - i + 1) % 10 == 0 && i > 1) printf("\\\n "); + } + printf(", 0\n\n"); +} +' + +awk -v N="$N" ' +function indent(n) { + for (k = 1; k <= n; ++k) printf(" "); +} + +BEGIN { + for (i = 1; i <= N; ++i) { + printf("#define WISE_ENUM_IMPL_LOOP_%d(M, C, D, x", i); + if (i > 1) printf(", ..."); + printf(") \\\n"); + indent(2); + printf("M(C, x)"); + if (i > 1) { + printf(" D() WISE_ENUM_IMPL_EXPAND(WISE_ENUM_IMPL_LOOP_%d(M, C, D, __VA_ARGS__))", i - 1); + } + printf("\n\n"); + } +} +' From 9332a77d29f1fa383120bf3d9f89c54785a77ff8 Mon Sep 17 00:00:00 2001 From: Sayan Samanta Date: Tue, 17 Jun 2025 18:30:37 -0400 Subject: [PATCH 2/2] Update create_generated.sh --- create_generated.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/create_generated.sh b/create_generated.sh index b181cdb..02c81fe 100644 --- a/create_generated.sh +++ b/create_generated.sh @@ -21,16 +21,11 @@ BEGIN { ' awk -v N="$N" ' -function indent(n) { - for (k = 1; k <= n; ++k) printf(" "); -} - BEGIN { for (i = 1; i <= N; ++i) { printf("#define WISE_ENUM_IMPL_LOOP_%d(M, C, D, x", i); if (i > 1) printf(", ..."); printf(") \\\n"); - indent(2); printf("M(C, x)"); if (i > 1) { printf(" D() WISE_ENUM_IMPL_EXPAND(WISE_ENUM_IMPL_LOOP_%d(M, C, D, __VA_ARGS__))", i - 1);