diff --git a/libc3/buf_inspect.c b/libc3/buf_inspect.c
index 3cbb0cf..bce8758 100644
--- a/libc3/buf_inspect.c
+++ b/libc3/buf_inspect.c
@@ -234,6 +234,8 @@ sw buf_inspect_call (s_buf *buf, const s_call *call)
s8 op_precedence;
sw r;
sw result = 0;
+ if (operator_is_unary(&call->ident))
+ return buf_inspect_call_op_unary(buf, call);
if ((op_precedence = operator_precedence(&call->ident)) > 0)
return buf_inspect_call_op(buf, call, op_precedence);
if ((r = buf_inspect_ident(buf, &call->ident)) < 0)
diff --git a/libc3/buf_inspect_s16_binary.c b/libc3/buf_inspect_s16_binary.c
new file mode 100644
index 0000000..5b6a524
--- /dev/null
+++ b/libc3/buf_inspect_s16_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_u16_binary (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_u16_binary_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_s16_binary.h b/libc3/buf_inspect_s16_binary.h
new file mode 100644
index 0000000..23cd9d2
--- /dev/null
+++ b/libc3/buf_inspect_s16_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=binary */
+
+sw buf_inspect_u16_binary (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_binary_size (const u16 *u);
diff --git a/libc3/buf_inspect_s16_decimal.c b/libc3/buf_inspect_s16_decimal.c
new file mode 100644
index 0000000..78f95ce
--- /dev/null
+++ b/libc3/buf_inspect_s16_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_u16_decimal (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_u16_decimal_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s16_decimal.h b/libc3/buf_inspect_s16_decimal.h
new file mode 100644
index 0000000..e32de1e
--- /dev/null
+++ b/libc3/buf_inspect_s16_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=decimal */
+
+sw buf_inspect_u16_decimal (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_decimal_size (const u16 *u);
diff --git a/libc3/buf_inspect_s16_hexadecimal.c b/libc3/buf_inspect_s16_hexadecimal.c
new file mode 100644
index 0000000..38b4490
--- /dev/null
+++ b/libc3/buf_inspect_s16_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_u16_hexadecimal (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_u16_hexadecimal_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s16_hexadecimal.h b/libc3/buf_inspect_s16_hexadecimal.h
new file mode 100644
index 0000000..f3b23e0
--- /dev/null
+++ b/libc3/buf_inspect_s16_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=hexadecimal */
+
+sw buf_inspect_u16_hexadecimal (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_hexadecimal_size (const u16 *u);
diff --git a/libc3/buf_inspect_s16_octal.c b/libc3/buf_inspect_s16_octal.c
new file mode 100644
index 0000000..82a4723
--- /dev/null
+++ b/libc3/buf_inspect_s16_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_u16_octal (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_u16_octal_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_s16_octal.h b/libc3/buf_inspect_s16_octal.h
new file mode 100644
index 0000000..e19d6d2
--- /dev/null
+++ b/libc3/buf_inspect_s16_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=octal */
+
+sw buf_inspect_u16_octal (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_octal_size (const u16 *u);
diff --git a/libc3/buf_inspect_s32_binary.c b/libc3/buf_inspect_s32_binary.c
new file mode 100644
index 0000000..d524c6b
--- /dev/null
+++ b/libc3/buf_inspect_s32_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_u32_binary (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_u32_binary_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_s32_binary.h b/libc3/buf_inspect_s32_binary.h
new file mode 100644
index 0000000..27e2037
--- /dev/null
+++ b/libc3/buf_inspect_s32_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=binary */
+
+sw buf_inspect_u32_binary (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_binary_size (const u32 *u);
diff --git a/libc3/buf_inspect_s32_decimal.c b/libc3/buf_inspect_s32_decimal.c
new file mode 100644
index 0000000..910ca40
--- /dev/null
+++ b/libc3/buf_inspect_s32_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_u32_decimal (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_u32_decimal_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s32_decimal.h b/libc3/buf_inspect_s32_decimal.h
new file mode 100644
index 0000000..d8de5cc
--- /dev/null
+++ b/libc3/buf_inspect_s32_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=decimal */
+
+sw buf_inspect_u32_decimal (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_decimal_size (const u32 *u);
diff --git a/libc3/buf_inspect_s32_hexadecimal.c b/libc3/buf_inspect_s32_hexadecimal.c
new file mode 100644
index 0000000..2ec06ed
--- /dev/null
+++ b/libc3/buf_inspect_s32_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_u32_hexadecimal (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_u32_hexadecimal_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s32_hexadecimal.h b/libc3/buf_inspect_s32_hexadecimal.h
new file mode 100644
index 0000000..03347ae
--- /dev/null
+++ b/libc3/buf_inspect_s32_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=hexadecimal */
+
+sw buf_inspect_u32_hexadecimal (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_hexadecimal_size (const u32 *u);
diff --git a/libc3/buf_inspect_s32_octal.c b/libc3/buf_inspect_s32_octal.c
new file mode 100644
index 0000000..1490ef5
--- /dev/null
+++ b/libc3/buf_inspect_s32_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_u32_octal (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_u32_octal_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_s32_octal.h b/libc3/buf_inspect_s32_octal.h
new file mode 100644
index 0000000..4098c0a
--- /dev/null
+++ b/libc3/buf_inspect_s32_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=octal */
+
+sw buf_inspect_u32_octal (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_octal_size (const u32 *u);
diff --git a/libc3/buf_inspect_s64_binary.c b/libc3/buf_inspect_s64_binary.c
new file mode 100644
index 0000000..fd95d69
--- /dev/null
+++ b/libc3/buf_inspect_s64_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=64 bits=64 BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_u64_binary (s_buf *buf, const u64 *u)
+{
+ return buf_inspect_u64_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_u64_binary_size (const u64 *u)
+{
+ return buf_inspect_u64_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_s64_binary.h b/libc3/buf_inspect_s64_binary.h
new file mode 100644
index 0000000..c1a14bd
--- /dev/null
+++ b/libc3/buf_inspect_s64_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=64 bits=64 BASE=binary */
+
+sw buf_inspect_u64_binary (s_buf *buf, const u64 *u);
+sw buf_inspect_u64_binary_size (const u64 *u);
diff --git a/libc3/buf_inspect_s64_decimal.c b/libc3/buf_inspect_s64_decimal.c
new file mode 100644
index 0000000..6faaf5e
--- /dev/null
+++ b/libc3/buf_inspect_s64_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=64 bits=64 BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_u64_decimal (s_buf *buf, const u64 *u)
+{
+ return buf_inspect_u64_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_u64_decimal_size (const u64 *u)
+{
+ return buf_inspect_u64_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s64_decimal.h b/libc3/buf_inspect_s64_decimal.h
new file mode 100644
index 0000000..8685332
--- /dev/null
+++ b/libc3/buf_inspect_s64_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=64 bits=64 BASE=decimal */
+
+sw buf_inspect_u64_decimal (s_buf *buf, const u64 *u);
+sw buf_inspect_u64_decimal_size (const u64 *u);
diff --git a/libc3/buf_inspect_s64_hexadecimal.c b/libc3/buf_inspect_s64_hexadecimal.c
new file mode 100644
index 0000000..e1fe0f8
--- /dev/null
+++ b/libc3/buf_inspect_s64_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=64 bits=64 BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_u64_hexadecimal (s_buf *buf, const u64 *u)
+{
+ return buf_inspect_u64_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_u64_hexadecimal_size (const u64 *u)
+{
+ return buf_inspect_u64_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s64_hexadecimal.h b/libc3/buf_inspect_s64_hexadecimal.h
new file mode 100644
index 0000000..efeff96
--- /dev/null
+++ b/libc3/buf_inspect_s64_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=64 bits=64 BASE=hexadecimal */
+
+sw buf_inspect_u64_hexadecimal (s_buf *buf, const u64 *u);
+sw buf_inspect_u64_hexadecimal_size (const u64 *u);
diff --git a/libc3/buf_inspect_s64_octal.c b/libc3/buf_inspect_s64_octal.c
new file mode 100644
index 0000000..a19f729
--- /dev/null
+++ b/libc3/buf_inspect_s64_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=64 bits=64 BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_u64_octal (s_buf *buf, const u64 *u)
+{
+ return buf_inspect_u64_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_u64_octal_size (const u64 *u)
+{
+ return buf_inspect_u64_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_s64_octal.h b/libc3/buf_inspect_s64_octal.h
new file mode 100644
index 0000000..00218bc
--- /dev/null
+++ b/libc3/buf_inspect_s64_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=64 bits=64 BASE=octal */
+
+sw buf_inspect_u64_octal (s_buf *buf, const u64 *u);
+sw buf_inspect_u64_octal_size (const u64 *u);
diff --git a/libc3/buf_inspect_s8_binary.c b/libc3/buf_inspect_s8_binary.c
new file mode 100644
index 0000000..7602c1f
--- /dev/null
+++ b/libc3/buf_inspect_s8_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=8 bits=8 BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_u8_binary (s_buf *buf, const u8 *u)
+{
+ return buf_inspect_u8_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_u8_binary_size (const u8 *u)
+{
+ return buf_inspect_u8_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_s8_binary.h b/libc3/buf_inspect_s8_binary.h
new file mode 100644
index 0000000..f553ddc
--- /dev/null
+++ b/libc3/buf_inspect_s8_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=8 bits=8 BASE=binary */
+
+sw buf_inspect_u8_binary (s_buf *buf, const u8 *u);
+sw buf_inspect_u8_binary_size (const u8 *u);
diff --git a/libc3/buf_inspect_s8_decimal.c b/libc3/buf_inspect_s8_decimal.c
new file mode 100644
index 0000000..5f907aa
--- /dev/null
+++ b/libc3/buf_inspect_s8_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=8 bits=8 BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_u8_decimal (s_buf *buf, const u8 *u)
+{
+ return buf_inspect_u8_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_u8_decimal_size (const u8 *u)
+{
+ return buf_inspect_u8_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s8_decimal.h b/libc3/buf_inspect_s8_decimal.h
new file mode 100644
index 0000000..00f60e5
--- /dev/null
+++ b/libc3/buf_inspect_s8_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=8 bits=8 BASE=decimal */
+
+sw buf_inspect_u8_decimal (s_buf *buf, const u8 *u);
+sw buf_inspect_u8_decimal_size (const u8 *u);
diff --git a/libc3/buf_inspect_s8_hexadecimal.c b/libc3/buf_inspect_s8_hexadecimal.c
new file mode 100644
index 0000000..efce41e
--- /dev/null
+++ b/libc3/buf_inspect_s8_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=8 bits=8 BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_u8_hexadecimal (s_buf *buf, const u8 *u)
+{
+ return buf_inspect_u8_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_u8_hexadecimal_size (const u8 *u)
+{
+ return buf_inspect_u8_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_s8_hexadecimal.h b/libc3/buf_inspect_s8_hexadecimal.h
new file mode 100644
index 0000000..6376a89
--- /dev/null
+++ b/libc3/buf_inspect_s8_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=8 bits=8 BASE=hexadecimal */
+
+sw buf_inspect_u8_hexadecimal (s_buf *buf, const u8 *u);
+sw buf_inspect_u8_hexadecimal_size (const u8 *u);
diff --git a/libc3/buf_inspect_s8_octal.c b/libc3/buf_inspect_s8_octal.c
new file mode 100644
index 0000000..3f921f8
--- /dev/null
+++ b/libc3/buf_inspect_s8_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=8 bits=8 BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_u8_octal (s_buf *buf, const u8 *u)
+{
+ return buf_inspect_u8_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_u8_octal_size (const u8 *u)
+{
+ return buf_inspect_u8_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_s8_octal.h b/libc3/buf_inspect_s8_octal.h
new file mode 100644
index 0000000..827abb2
--- /dev/null
+++ b/libc3/buf_inspect_s8_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=8 bits=8 BASE=octal */
+
+sw buf_inspect_u8_octal (s_buf *buf, const u8 *u);
+sw buf_inspect_u8_octal_size (const u8 *u);
diff --git a/libc3/buf_inspect_sw_binary.c b/libc3/buf_inspect_sw_binary.c
new file mode 100644
index 0000000..e2f07b3
--- /dev/null
+++ b/libc3/buf_inspect_sw_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_uw_binary (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_uw_binary_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_sw_binary.h b/libc3/buf_inspect_sw_binary.h
new file mode 100644
index 0000000..24957ae
--- /dev/null
+++ b/libc3/buf_inspect_sw_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=binary */
+
+sw buf_inspect_uw_binary (s_buf *buf, const uw *u);
+sw buf_inspect_uw_binary_size (const uw *u);
diff --git a/libc3/buf_inspect_sw_decimal.c b/libc3/buf_inspect_sw_decimal.c
new file mode 100644
index 0000000..f8d6f86
--- /dev/null
+++ b/libc3/buf_inspect_sw_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_uw_decimal (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_uw_decimal_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_sw_decimal.h b/libc3/buf_inspect_sw_decimal.h
new file mode 100644
index 0000000..6ad87c9
--- /dev/null
+++ b/libc3/buf_inspect_sw_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=decimal */
+
+sw buf_inspect_uw_decimal (s_buf *buf, const uw *u);
+sw buf_inspect_uw_decimal_size (const uw *u);
diff --git a/libc3/buf_inspect_sw_hexadecimal.c b/libc3/buf_inspect_sw_hexadecimal.c
new file mode 100644
index 0000000..d09cada
--- /dev/null
+++ b/libc3/buf_inspect_sw_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_uw_hexadecimal (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_uw_hexadecimal_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_sw_hexadecimal.h b/libc3/buf_inspect_sw_hexadecimal.h
new file mode 100644
index 0000000..64223c0
--- /dev/null
+++ b/libc3/buf_inspect_sw_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=hexadecimal */
+
+sw buf_inspect_uw_hexadecimal (s_buf *buf, const uw *u);
+sw buf_inspect_uw_hexadecimal_size (const uw *u);
diff --git a/libc3/buf_inspect_sw_octal.c b/libc3/buf_inspect_sw_octal.c
new file mode 100644
index 0000000..452989e
--- /dev/null
+++ b/libc3/buf_inspect_sw_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_uw_octal (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_uw_octal_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_sw_octal.h b/libc3/buf_inspect_sw_octal.h
new file mode 100644
index 0000000..fb3efa7
--- /dev/null
+++ b/libc3/buf_inspect_sw_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=octal */
+
+sw buf_inspect_uw_octal (s_buf *buf, const uw *u);
+sw buf_inspect_uw_octal_size (const uw *u);
diff --git a/libc3/buf_inspect_u16_binary.c b/libc3/buf_inspect_u16_binary.c
new file mode 100644
index 0000000..5b6a524
--- /dev/null
+++ b/libc3/buf_inspect_u16_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_u16_binary (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_u16_binary_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_u16_binary.h b/libc3/buf_inspect_u16_binary.h
new file mode 100644
index 0000000..23cd9d2
--- /dev/null
+++ b/libc3/buf_inspect_u16_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=binary */
+
+sw buf_inspect_u16_binary (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_binary_size (const u16 *u);
diff --git a/libc3/buf_inspect_u16_decimal.c b/libc3/buf_inspect_u16_decimal.c
new file mode 100644
index 0000000..78f95ce
--- /dev/null
+++ b/libc3/buf_inspect_u16_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_u16_decimal (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_u16_decimal_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_u16_decimal.h b/libc3/buf_inspect_u16_decimal.h
new file mode 100644
index 0000000..e32de1e
--- /dev/null
+++ b/libc3/buf_inspect_u16_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=decimal */
+
+sw buf_inspect_u16_decimal (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_decimal_size (const u16 *u);
diff --git a/libc3/buf_inspect_u16_hexadecimal.c b/libc3/buf_inspect_u16_hexadecimal.c
new file mode 100644
index 0000000..38b4490
--- /dev/null
+++ b/libc3/buf_inspect_u16_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_u16_hexadecimal (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_u16_hexadecimal_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_u16_hexadecimal.h b/libc3/buf_inspect_u16_hexadecimal.h
new file mode 100644
index 0000000..f3b23e0
--- /dev/null
+++ b/libc3/buf_inspect_u16_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=hexadecimal */
+
+sw buf_inspect_u16_hexadecimal (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_hexadecimal_size (const u16 *u);
diff --git a/libc3/buf_inspect_u16_octal.c b/libc3/buf_inspect_u16_octal.c
new file mode 100644
index 0000000..82a4723
--- /dev/null
+++ b/libc3/buf_inspect_u16_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=16 bits=16 BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_u16_octal (s_buf *buf, const u16 *u)
+{
+ return buf_inspect_u16_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_u16_octal_size (const u16 *u)
+{
+ return buf_inspect_u16_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_u16_octal.h b/libc3/buf_inspect_u16_octal.h
new file mode 100644
index 0000000..e19d6d2
--- /dev/null
+++ b/libc3/buf_inspect_u16_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=16 bits=16 BASE=octal */
+
+sw buf_inspect_u16_octal (s_buf *buf, const u16 *u);
+sw buf_inspect_u16_octal_size (const u16 *u);
diff --git a/libc3/buf_inspect_u32_binary.c b/libc3/buf_inspect_u32_binary.c
new file mode 100644
index 0000000..d524c6b
--- /dev/null
+++ b/libc3/buf_inspect_u32_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_u32_binary (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_u32_binary_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_u32_binary.h b/libc3/buf_inspect_u32_binary.h
new file mode 100644
index 0000000..27e2037
--- /dev/null
+++ b/libc3/buf_inspect_u32_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=binary */
+
+sw buf_inspect_u32_binary (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_binary_size (const u32 *u);
diff --git a/libc3/buf_inspect_u32_decimal.c b/libc3/buf_inspect_u32_decimal.c
new file mode 100644
index 0000000..910ca40
--- /dev/null
+++ b/libc3/buf_inspect_u32_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_u32_decimal (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_u32_decimal_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_u32_decimal.h b/libc3/buf_inspect_u32_decimal.h
new file mode 100644
index 0000000..d8de5cc
--- /dev/null
+++ b/libc3/buf_inspect_u32_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=decimal */
+
+sw buf_inspect_u32_decimal (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_decimal_size (const u32 *u);
diff --git a/libc3/buf_inspect_u32_hexadecimal.c b/libc3/buf_inspect_u32_hexadecimal.c
new file mode 100644
index 0000000..2ec06ed
--- /dev/null
+++ b/libc3/buf_inspect_u32_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_u32_hexadecimal (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_u32_hexadecimal_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_u32_hexadecimal.h b/libc3/buf_inspect_u32_hexadecimal.h
new file mode 100644
index 0000000..03347ae
--- /dev/null
+++ b/libc3/buf_inspect_u32_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=hexadecimal */
+
+sw buf_inspect_u32_hexadecimal (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_hexadecimal_size (const u32 *u);
diff --git a/libc3/buf_inspect_u32_octal.c b/libc3/buf_inspect_u32_octal.c
new file mode 100644
index 0000000..1490ef5
--- /dev/null
+++ b/libc3/buf_inspect_u32_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=32 bits=32 BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_u32_octal (s_buf *buf, const u32 *u)
+{
+ return buf_inspect_u32_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_u32_octal_size (const u32 *u)
+{
+ return buf_inspect_u32_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_u32_octal.h b/libc3/buf_inspect_u32_octal.h
new file mode 100644
index 0000000..4098c0a
--- /dev/null
+++ b/libc3/buf_inspect_u32_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=32 bits=32 BASE=octal */
+
+sw buf_inspect_u32_octal (s_buf *buf, const u32 *u);
+sw buf_inspect_u32_octal_size (const u32 *u);
diff --git a/libc3/buf_inspect_uw_binary.c b/libc3/buf_inspect_uw_binary.c
new file mode 100644
index 0000000..e2f07b3
--- /dev/null
+++ b/libc3/buf_inspect_uw_binary.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=binary */
+#include "c3.h"
+
+sw buf_inspect_uw_binary (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_binary, u);
+}
+
+sw buf_inspect_uw_binary_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_binary,
+ u);
+}
diff --git a/libc3/buf_inspect_uw_binary.h b/libc3/buf_inspect_uw_binary.h
new file mode 100644
index 0000000..24957ae
--- /dev/null
+++ b/libc3/buf_inspect_uw_binary.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=binary */
+
+sw buf_inspect_uw_binary (s_buf *buf, const uw *u);
+sw buf_inspect_uw_binary_size (const uw *u);
diff --git a/libc3/buf_inspect_uw_decimal.c b/libc3/buf_inspect_uw_decimal.c
new file mode 100644
index 0000000..f8d6f86
--- /dev/null
+++ b/libc3/buf_inspect_uw_decimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=decimal */
+#include "c3.h"
+
+sw buf_inspect_uw_decimal (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_decimal, u);
+}
+
+sw buf_inspect_uw_decimal_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_decimal,
+ u);
+}
diff --git a/libc3/buf_inspect_uw_decimal.h b/libc3/buf_inspect_uw_decimal.h
new file mode 100644
index 0000000..6ad87c9
--- /dev/null
+++ b/libc3/buf_inspect_uw_decimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=decimal */
+
+sw buf_inspect_uw_decimal (s_buf *buf, const uw *u);
+sw buf_inspect_uw_decimal_size (const uw *u);
diff --git a/libc3/buf_inspect_uw_hexadecimal.c b/libc3/buf_inspect_uw_hexadecimal.c
new file mode 100644
index 0000000..d09cada
--- /dev/null
+++ b/libc3/buf_inspect_uw_hexadecimal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=hexadecimal */
+#include "c3.h"
+
+sw buf_inspect_uw_hexadecimal (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_hexadecimal, u);
+}
+
+sw buf_inspect_uw_hexadecimal_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_hexadecimal,
+ u);
+}
diff --git a/libc3/buf_inspect_uw_hexadecimal.h b/libc3/buf_inspect_uw_hexadecimal.h
new file mode 100644
index 0000000..64223c0
--- /dev/null
+++ b/libc3/buf_inspect_uw_hexadecimal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=hexadecimal */
+
+sw buf_inspect_uw_hexadecimal (s_buf *buf, const uw *u);
+sw buf_inspect_uw_hexadecimal_size (const uw *u);
diff --git a/libc3/buf_inspect_uw_octal.c b/libc3/buf_inspect_uw_octal.c
new file mode 100644
index 0000000..452989e
--- /dev/null
+++ b/libc3/buf_inspect_uw_octal.c
@@ -0,0 +1,25 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.c.in BITS=W bits=w BASE=octal */
+#include "c3.h"
+
+sw buf_inspect_uw_octal (s_buf *buf, const uw *u)
+{
+ return buf_inspect_uw_base(buf, &g_c3_base_octal, u);
+}
+
+sw buf_inspect_uw_octal_size (const uw *u)
+{
+ return buf_inspect_uw_base_size(&g_c3_base_octal,
+ u);
+}
diff --git a/libc3/buf_inspect_uw_octal.h b/libc3/buf_inspect_uw_octal.h
new file mode 100644
index 0000000..fb3efa7
--- /dev/null
+++ b/libc3/buf_inspect_uw_octal.h
@@ -0,0 +1,16 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+/* Gen from buf_inspect_u_base.h.in BITS=W bits=w BASE=octal */
+
+sw buf_inspect_uw_octal (s_buf *buf, const uw *u);
+sw buf_inspect_uw_octal_size (const uw *u);
diff --git a/libc3/buf_parse.c b/libc3/buf_parse.c
index 5816481..7c34e4a 100644
--- a/libc3/buf_parse.c
+++ b/libc3/buf_parse.c
@@ -2205,23 +2205,23 @@ sw buf_parse_tag_primary (s_buf *buf, s_tag *dest)
result += r;
}
if ((r = buf_parse_tag_array(buf, dest)) != 0 ||
+ (r = buf_parse_tag_call(buf, dest)) != 0 ||
(r = buf_parse_tag_call_paren(buf, dest)) != 0 ||
(r = buf_parse_tag_call_op_unary(buf, dest)) != 0 ||
- (r = buf_parse_tag_bool(buf, dest)) != 0 ||
- (r = buf_parse_tag_character(buf, dest)) != 0)
+ (r = buf_parse_tag_bool(buf, dest)) != 0)
goto end;
if ((r = buf_parse_tag_integer(buf, dest)) != 0) {
tag_integer_reduce(dest);
goto end;
}
- if ((r = buf_parse_tag_str(buf, dest)) != 0 ||
+ if ((r = buf_parse_tag_character(buf, dest)) != 0 ||
+ (r = buf_parse_tag_str(buf, dest)) != 0 ||
(r = buf_parse_tag_tuple(buf, dest)) != 0 ||
(r = buf_parse_tag_quote(buf, dest)) != 0 ||
(r = buf_parse_tag_cfn(buf, dest)) != 0 ||
(r = buf_parse_tag_fn(buf, dest)) != 0 ||
(r = buf_parse_tag_ident(buf, dest)) != 0 ||
(r = buf_parse_tag_list(buf, dest)) != 0 ||
- (r = buf_parse_tag_call(buf, dest)) != 0 ||
(r = buf_parse_tag_sym(buf, dest)) != 0)
goto end;
goto restore;
diff --git a/libc3/gen.mk b/libc3/gen.mk
index 827ce1b..3b602e8 100644
--- a/libc3/gen.mk
+++ b/libc3/gen.mk
@@ -12,19 +12,51 @@
GENERATED_FILES = \
buf_inspect_s8.c buf_inspect_s8.h \
+ buf_inspect_s8_binary.c buf_inspect_s8_binary.h \
+ buf_inspect_s8_octal.c buf_inspect_s8_octal.h \
+ buf_inspect_s8_decimal.c buf_inspect_s8_decimal.h \
+ buf_inspect_s8_hexadecimal.c buf_inspect_s8_hexadecimal.h \
buf_inspect_s16.c buf_inspect_s16.h \
+ buf_inspect_s16_binary.c buf_inspect_s16_binary.h \
+ buf_inspect_s16_octal.c buf_inspect_s16_octal.h \
+ buf_inspect_s16_decimal.c buf_inspect_s16_decimal.h \
+ buf_inspect_s16_hexadecimal.c buf_inspect_s16_hexadecimal.h \
buf_inspect_s32.c buf_inspect_s32.h \
+ buf_inspect_s32_binary.c buf_inspect_s32_binary.h \
+ buf_inspect_s32_octal.c buf_inspect_s32_octal.h \
+ buf_inspect_s32_decimal.c buf_inspect_s32_decimal.h \
+ buf_inspect_s32_hexadecimal.c buf_inspect_s32_hexadecimal.h \
buf_inspect_s64.c buf_inspect_s64.h \
+ buf_inspect_s64_binary.c buf_inspect_s64_binary.h \
+ buf_inspect_s64_octal.c buf_inspect_s64_octal.h \
+ buf_inspect_s64_decimal.c buf_inspect_s64_decimal.h \
+ buf_inspect_s64_hexadecimal.c buf_inspect_s64_hexadecimal.h \
buf_inspect_sw.c buf_inspect_sw.h \
+ buf_inspect_sw_binary.c buf_inspect_sw_binary.h \
+ buf_inspect_sw_octal.c buf_inspect_sw_octal.h \
+ buf_inspect_sw_decimal.c buf_inspect_sw_decimal.h \
+ buf_inspect_sw_hexadecimal.c buf_inspect_sw_hexadecimal.h \
buf_inspect_u8.c buf_inspect_u8.h \
buf_inspect_u16.c buf_inspect_u16.h \
+ buf_inspect_u16_binary.c buf_inspect_u16_binary.h \
+ buf_inspect_u16_octal.c buf_inspect_u16_octal.h \
+ buf_inspect_u16_decimal.c buf_inspect_u16_decimal.h \
+ buf_inspect_u16_hexadecimal.c buf_inspect_u16_hexadecimal.h \
buf_inspect_u32.c buf_inspect_u32.h \
+ buf_inspect_u32_binary.c buf_inspect_u32_binary.h \
+ buf_inspect_u32_octal.c buf_inspect_u32_octal.h \
+ buf_inspect_u32_decimal.c buf_inspect_u32_decimal.h \
+ buf_inspect_u32_hexadecimal.c buf_inspect_u32_hexadecimal.h \
buf_inspect_u64.c buf_inspect_u64.h \
buf_inspect_u64_binary.c buf_inspect_u64_binary.h \
buf_inspect_u64_octal.c buf_inspect_u64_octal.h \
buf_inspect_u64_decimal.c buf_inspect_u64_decimal.h \
buf_inspect_u64_hexadecimal.c buf_inspect_u64_hexadecimal.h \
buf_inspect_uw.c buf_inspect_uw.h \
+ buf_inspect_uw_binary.c buf_inspect_uw_binary.h \
+ buf_inspect_uw_octal.c buf_inspect_uw_octal.h \
+ buf_inspect_uw_decimal.c buf_inspect_uw_decimal.h \
+ buf_inspect_uw_hexadecimal.c buf_inspect_uw_hexadecimal.h \
buf_parse_s8.c buf_parse_s8.h \
buf_parse_s16.c buf_parse_s16.h \
buf_parse_s32.c buf_parse_s32.h \
@@ -50,18 +82,78 @@ SED_BITS_8 = sed \
-e 's/_BITS[$$]/8/g' \
-e 's/_bits[$$]/8/g'
+SED_BITS_8_BINARY = ${SED_BITS_8} \
+ -e 's/_BASE[$$]/binary/g'
+
+SED_BITS_8_OCTAL = ${SED_BITS_8} \
+ -e 's/_BASE[$$]/octal/g'
+
+SED_BITS_8_DECIMAL = ${SED_BITS_8} \
+ -e 's/_BASE[$$]/decimal/g'
+
+SED_BITS_8_HEXADECIMAL = ${SED_BITS_8} \
+ -e 's/_BASE[$$]/hexadecimal/g'
+
buf_inspect_s8.c: buf_inspect_s.c.in gen.mk
${SED_BITS_8} < buf_inspect_s.c.in > buf_inspect_s8.c
buf_inspect_s8.h: buf_inspect_s.h.in gen.mk
${SED_BITS_8} < buf_inspect_s.h.in > buf_inspect_s8.h
+buf_inspect_s8_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_BINARY} < buf_inspect_u_base.c.in > buf_inspect_s8_binary.c
+
+buf_inspect_s8_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_BINARY} < buf_inspect_u_base.h.in > buf_inspect_s8_binary.h
+
+buf_inspect_s8_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_s8_octal.c
+
+buf_inspect_s8_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_s8_octal.h
+
+buf_inspect_s8_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s8_decimal.c
+
+buf_inspect_s8_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s8_decimal.h
+
+buf_inspect_s8_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s8_hexadecimal.c
+
+buf_inspect_s8_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s8_hexadecimal.h
+
buf_inspect_u8.c: buf_inspect_u.c.in gen.mk
${SED_BITS_8} < buf_inspect_u.c.in > buf_inspect_u8.c
buf_inspect_u8.h: buf_inspect_u.h.in gen.mk
${SED_BITS_8} < buf_inspect_u.h.in > buf_inspect_u8.h
+buf_inspect_u8_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_BINARY} < buf_inspect_u_base.c.in > buf_inspect_u8_binary.c
+
+buf_inspect_u8_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_BINARY} < buf_inspect_u_base.h.in > buf_inspect_u8_binary.h
+
+buf_inspect_u8_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_u8_octal.c
+
+buf_inspect_u8_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_u8_octal.h
+
+buf_inspect_u8_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_u8_decimal.c
+
+buf_inspect_u8_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_u8_decimal.h
+
+buf_inspect_u8_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_8_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_u8_hexadecimal.c
+
+buf_inspect_u8_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_8_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_u8_hexadecimal.h
+
buf_parse_s8.c: buf_parse_s.c.in gen.mk
${SED_BITS_8} < buf_parse_s.c.in > buf_parse_s8.c
@@ -78,18 +170,78 @@ SED_BITS_16 = sed \
-e 's/_BITS[$$]/16/g' \
-e 's/_bits[$$]/16/g'
+SED_BITS_16_BINARY = ${SED_BITS_16} \
+ -e 's/_BASE[$$]/binary/g'
+
+SED_BITS_16_OCTAL = ${SED_BITS_16} \
+ -e 's/_BASE[$$]/octal/g'
+
+SED_BITS_16_DECIMAL = ${SED_BITS_16} \
+ -e 's/_BASE[$$]/decimal/g'
+
+SED_BITS_16_HEXADECIMAL = ${SED_BITS_16} \
+ -e 's/_BASE[$$]/hexadecimal/g'
+
buf_inspect_s16.c: buf_inspect_s.c.in gen.mk
${SED_BITS_16} < buf_inspect_s.c.in > buf_inspect_s16.c
buf_inspect_s16.h: buf_inspect_s.h.in gen.mk
${SED_BITS_16} < buf_inspect_s.h.in > buf_inspect_s16.h
+buf_inspect_s16_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_BINARY} < buf_inspect_u_base.c.in > buf_inspect_s16_binary.c
+
+buf_inspect_s16_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_BINARY} < buf_inspect_u_base.h.in > buf_inspect_s16_binary.h
+
+buf_inspect_s16_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_s16_octal.c
+
+buf_inspect_s16_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_s16_octal.h
+
+buf_inspect_s16_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s16_decimal.c
+
+buf_inspect_s16_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s16_decimal.h
+
+buf_inspect_s16_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s16_hexadecimal.c
+
+buf_inspect_s16_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s16_hexadecimal.h
+
buf_inspect_u16.c: buf_inspect_u.c.in gen.mk
${SED_BITS_16} < buf_inspect_u.c.in > buf_inspect_u16.c
buf_inspect_u16.h: buf_inspect_u.h.in gen.mk
${SED_BITS_16} < buf_inspect_u.h.in > buf_inspect_u16.h
+buf_inspect_u16_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_BINARY} < buf_inspect_u_base.c.in > buf_inspect_u16_binary.c
+
+buf_inspect_u16_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_BINARY} < buf_inspect_u_base.h.in > buf_inspect_u16_binary.h
+
+buf_inspect_u16_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_u16_octal.c
+
+buf_inspect_u16_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_u16_octal.h
+
+buf_inspect_u16_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_u16_decimal.c
+
+buf_inspect_u16_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_u16_decimal.h
+
+buf_inspect_u16_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_16_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_u16_hexadecimal.c
+
+buf_inspect_u16_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_16_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_u16_hexadecimal.h
+
buf_parse_s16.c: buf_parse_s.c.in gen.mk
${SED_BITS_16} < buf_parse_s.c.in > buf_parse_s16.c
@@ -106,18 +258,78 @@ SED_BITS_32 = sed \
-e 's/_BITS[$$]/32/g' \
-e 's/_bits[$$]/32/g'
+SED_BITS_32_BINARY = ${SED_BITS_32} \
+ -e 's/_BASE[$$]/binary/g'
+
+SED_BITS_32_OCTAL = ${SED_BITS_32} \
+ -e 's/_BASE[$$]/octal/g'
+
+SED_BITS_32_DECIMAL = ${SED_BITS_32} \
+ -e 's/_BASE[$$]/decimal/g'
+
+SED_BITS_32_HEXADECIMAL = ${SED_BITS_32} \
+ -e 's/_BASE[$$]/hexadecimal/g'
+
buf_inspect_s32.c: buf_inspect_s.c.in gen.mk
${SED_BITS_32} < buf_inspect_s.c.in > buf_inspect_s32.c
buf_inspect_s32.h: buf_inspect_s.h.in gen.mk
${SED_BITS_32} < buf_inspect_s.h.in > buf_inspect_s32.h
+buf_inspect_s32_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_BINARY} < buf_inspect_u_base.c.in > buf_inspect_s32_binary.c
+
+buf_inspect_s32_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_BINARY} < buf_inspect_u_base.h.in > buf_inspect_s32_binary.h
+
+buf_inspect_s32_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_s32_octal.c
+
+buf_inspect_s32_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_s32_octal.h
+
+buf_inspect_s32_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s32_decimal.c
+
+buf_inspect_s32_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s32_decimal.h
+
+buf_inspect_s32_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s32_hexadecimal.c
+
+buf_inspect_s32_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s32_hexadecimal.h
+
buf_inspect_u32.c: buf_inspect_u.c.in gen.mk
${SED_BITS_32} < buf_inspect_u.c.in > buf_inspect_u32.c
buf_inspect_u32.h: buf_inspect_u.h.in gen.mk
${SED_BITS_32} < buf_inspect_u.h.in > buf_inspect_u32.h
+buf_inspect_u32_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_BINARY} < buf_inspect_u_base.c.in > buf_inspect_u32_binary.c
+
+buf_inspect_u32_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_BINARY} < buf_inspect_u_base.h.in > buf_inspect_u32_binary.h
+
+buf_inspect_u32_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_u32_octal.c
+
+buf_inspect_u32_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_u32_octal.h
+
+buf_inspect_u32_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_u32_decimal.c
+
+buf_inspect_u32_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_u32_decimal.h
+
+buf_inspect_u32_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_32_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_u32_hexadecimal.c
+
+buf_inspect_u32_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_32_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_u32_hexadecimal.h
+
buf_parse_s32.c: buf_parse_s.c.in gen.mk
${SED_BITS_32} < buf_parse_s.c.in > buf_parse_s32.c
@@ -152,6 +364,30 @@ buf_inspect_s64.c: buf_inspect_s.c.in gen.mk
buf_inspect_s64.h: buf_inspect_s.h.in gen.mk
${SED_BITS_64} < buf_inspect_s.h.in > buf_inspect_s64.h
+buf_inspect_s64_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_64_BINARY} < buf_inspect_u_base.c.in > buf_inspect_s64_binary.c
+
+buf_inspect_s64_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_64_BINARY} < buf_inspect_u_base.h.in > buf_inspect_s64_binary.h
+
+buf_inspect_s64_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_64_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_s64_octal.c
+
+buf_inspect_s64_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_64_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_s64_octal.h
+
+buf_inspect_s64_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_64_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s64_decimal.c
+
+buf_inspect_s64_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_64_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s64_decimal.h
+
+buf_inspect_s64_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_64_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_s64_hexadecimal.c
+
+buf_inspect_s64_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_64_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_s64_hexadecimal.h
+
buf_inspect_u64.c: buf_inspect_u.c.in gen.mk
${SED_BITS_64} < buf_inspect_u.c.in > buf_inspect_u64.c
@@ -198,18 +434,78 @@ SED_BITS_W = sed \
-e 's/_BITS[$$]/W/g' \
-e 's/_bits[$$]/w/g'
+SED_BITS_W_BINARY = ${SED_BITS_W} \
+ -e 's/_BASE[$$]/binary/g'
+
+SED_BITS_W_OCTAL = ${SED_BITS_W} \
+ -e 's/_BASE[$$]/octal/g'
+
+SED_BITS_W_DECIMAL = ${SED_BITS_W} \
+ -e 's/_BASE[$$]/decimal/g'
+
+SED_BITS_W_HEXADECIMAL = ${SED_BITS_W} \
+ -e 's/_BASE[$$]/hexadecimal/g'
+
buf_inspect_sw.c: buf_inspect_s.c.in gen.mk
${SED_BITS_W} < buf_inspect_s.c.in > buf_inspect_sw.c
buf_inspect_sw.h: buf_inspect_s.h.in gen.mk
${SED_BITS_W} < buf_inspect_s.h.in > buf_inspect_sw.h
+buf_inspect_sw_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_BINARY} < buf_inspect_u_base.c.in > buf_inspect_sw_binary.c
+
+buf_inspect_sw_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_BINARY} < buf_inspect_u_base.h.in > buf_inspect_sw_binary.h
+
+buf_inspect_sw_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_sw_octal.c
+
+buf_inspect_sw_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_sw_octal.h
+
+buf_inspect_sw_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_sw_decimal.c
+
+buf_inspect_sw_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_sw_decimal.h
+
+buf_inspect_sw_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_sw_hexadecimal.c
+
+buf_inspect_sw_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_sw_hexadecimal.h
+
buf_inspect_uw.c: buf_inspect_u.c.in gen.mk
${SED_BITS_W} < buf_inspect_u.c.in > buf_inspect_uw.c
buf_inspect_uw.h: buf_inspect_u.h.in gen.mk
${SED_BITS_W} < buf_inspect_u.h.in > buf_inspect_uw.h
+buf_inspect_uw_binary.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_BINARY} < buf_inspect_u_base.c.in > buf_inspect_uw_binary.c
+
+buf_inspect_uw_binary.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_BINARY} < buf_inspect_u_base.h.in > buf_inspect_uw_binary.h
+
+buf_inspect_uw_octal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_OCTAL} < buf_inspect_u_base.c.in > buf_inspect_uw_octal.c
+
+buf_inspect_uw_octal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_OCTAL} < buf_inspect_u_base.h.in > buf_inspect_uw_octal.h
+
+buf_inspect_uw_decimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_DECIMAL} < buf_inspect_u_base.c.in > buf_inspect_uw_decimal.c
+
+buf_inspect_uw_decimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_DECIMAL} < buf_inspect_u_base.h.in > buf_inspect_uw_decimal.h
+
+buf_inspect_uw_hexadecimal.c: buf_inspect_u_base.c.in gen.mk
+ ${SED_BITS_W_HEXADECIMAL} < buf_inspect_u_base.c.in > buf_inspect_uw_hexadecimal.c
+
+buf_inspect_uw_hexadecimal.h: buf_inspect_u_base.h.in gen.mk
+ ${SED_BITS_W_HEXADECIMAL} < buf_inspect_u_base.h.in > buf_inspect_uw_hexadecimal.h
+
buf_parse_sw.c: buf_parse_s.c.in gen.mk
${SED_BITS_W} < buf_parse_s.c.in > buf_parse_sw.c
diff --git a/libc3/sources.mk b/libc3/sources.mk
index a4d6442..d48dc21 100644
--- a/libc3/sources.mk
+++ b/libc3/sources.mk
@@ -9,12 +9,40 @@ HEADERS = \
buf_file.h \
buf_inspect.h \
buf_inspect_s16.h \
+ buf_inspect_s16_binary.h \
+ buf_inspect_s16_decimal.h \
+ buf_inspect_s16_hexadecimal.h \
+ buf_inspect_s16_octal.h \
buf_inspect_s32.h \
+ buf_inspect_s32_binary.h \
+ buf_inspect_s32_decimal.h \
+ buf_inspect_s32_hexadecimal.h \
+ buf_inspect_s32_octal.h \
buf_inspect_s64.h \
+ buf_inspect_s64_binary.h \
+ buf_inspect_s64_decimal.h \
+ buf_inspect_s64_hexadecimal.h \
+ buf_inspect_s64_octal.h \
buf_inspect_s8.h \
+ buf_inspect_s8_binary.h \
+ buf_inspect_s8_decimal.h \
+ buf_inspect_s8_hexadecimal.h \
+ buf_inspect_s8_octal.h \
buf_inspect_sw.h \
+ buf_inspect_sw_binary.h \
+ buf_inspect_sw_decimal.h \
+ buf_inspect_sw_hexadecimal.h \
+ buf_inspect_sw_octal.h \
buf_inspect_u16.h \
+ buf_inspect_u16_binary.h \
+ buf_inspect_u16_decimal.h \
+ buf_inspect_u16_hexadecimal.h \
+ buf_inspect_u16_octal.h \
buf_inspect_u32.h \
+ buf_inspect_u32_binary.h \
+ buf_inspect_u32_decimal.h \
+ buf_inspect_u32_hexadecimal.h \
+ buf_inspect_u32_octal.h \
buf_inspect_u64.h \
buf_inspect_u64_binary.h \
buf_inspect_u64_decimal.h \
@@ -22,6 +50,10 @@ HEADERS = \
buf_inspect_u64_octal.h \
buf_inspect_u8.h \
buf_inspect_uw.h \
+ buf_inspect_uw_binary.h \
+ buf_inspect_uw_decimal.h \
+ buf_inspect_uw_hexadecimal.h \
+ buf_inspect_uw_octal.h \
buf_parse.h \
buf_parse_c.h \
buf_parse_s16.h \
@@ -94,12 +126,40 @@ SOURCES = \
buf_file.c \
buf_inspect.c \
buf_inspect_s16.c \
+ buf_inspect_s16_binary.c \
+ buf_inspect_s16_decimal.c \
+ buf_inspect_s16_hexadecimal.c \
+ buf_inspect_s16_octal.c \
buf_inspect_s32.c \
+ buf_inspect_s32_binary.c \
+ buf_inspect_s32_decimal.c \
+ buf_inspect_s32_hexadecimal.c \
+ buf_inspect_s32_octal.c \
buf_inspect_s64.c \
+ buf_inspect_s64_binary.c \
+ buf_inspect_s64_decimal.c \
+ buf_inspect_s64_hexadecimal.c \
+ buf_inspect_s64_octal.c \
buf_inspect_s8.c \
+ buf_inspect_s8_binary.c \
+ buf_inspect_s8_decimal.c \
+ buf_inspect_s8_hexadecimal.c \
+ buf_inspect_s8_octal.c \
buf_inspect_sw.c \
+ buf_inspect_sw_binary.c \
+ buf_inspect_sw_decimal.c \
+ buf_inspect_sw_hexadecimal.c \
+ buf_inspect_sw_octal.c \
buf_inspect_u16.c \
+ buf_inspect_u16_binary.c \
+ buf_inspect_u16_decimal.c \
+ buf_inspect_u16_hexadecimal.c \
+ buf_inspect_u16_octal.c \
buf_inspect_u32.c \
+ buf_inspect_u32_binary.c \
+ buf_inspect_u32_decimal.c \
+ buf_inspect_u32_hexadecimal.c \
+ buf_inspect_u32_octal.c \
buf_inspect_u64.c \
buf_inspect_u64_binary.c \
buf_inspect_u64_decimal.c \
@@ -107,6 +167,10 @@ SOURCES = \
buf_inspect_u64_octal.c \
buf_inspect_u8.c \
buf_inspect_uw.c \
+ buf_inspect_uw_binary.c \
+ buf_inspect_uw_decimal.c \
+ buf_inspect_uw_hexadecimal.c \
+ buf_inspect_uw_octal.c \
buf_parse.c \
buf_parse_c.c \
buf_parse_s16.c \
@@ -174,12 +238,40 @@ LO_SOURCES = \
buf_file.c \
buf_inspect.c \
buf_inspect_s16.c \
+ buf_inspect_s16_binary.c \
+ buf_inspect_s16_decimal.c \
+ buf_inspect_s16_hexadecimal.c \
+ buf_inspect_s16_octal.c \
buf_inspect_s32.c \
+ buf_inspect_s32_binary.c \
+ buf_inspect_s32_decimal.c \
+ buf_inspect_s32_hexadecimal.c \
+ buf_inspect_s32_octal.c \
buf_inspect_s64.c \
+ buf_inspect_s64_binary.c \
+ buf_inspect_s64_decimal.c \
+ buf_inspect_s64_hexadecimal.c \
+ buf_inspect_s64_octal.c \
buf_inspect_s8.c \
+ buf_inspect_s8_binary.c \
+ buf_inspect_s8_decimal.c \
+ buf_inspect_s8_hexadecimal.c \
+ buf_inspect_s8_octal.c \
buf_inspect_sw.c \
+ buf_inspect_sw_binary.c \
+ buf_inspect_sw_decimal.c \
+ buf_inspect_sw_hexadecimal.c \
+ buf_inspect_sw_octal.c \
buf_inspect_u16.c \
+ buf_inspect_u16_binary.c \
+ buf_inspect_u16_decimal.c \
+ buf_inspect_u16_hexadecimal.c \
+ buf_inspect_u16_octal.c \
buf_inspect_u32.c \
+ buf_inspect_u32_binary.c \
+ buf_inspect_u32_decimal.c \
+ buf_inspect_u32_hexadecimal.c \
+ buf_inspect_u32_octal.c \
buf_inspect_u64.c \
buf_inspect_u64_binary.c \
buf_inspect_u64_decimal.c \
@@ -187,6 +279,10 @@ LO_SOURCES = \
buf_inspect_u64_octal.c \
buf_inspect_u8.c \
buf_inspect_uw.c \
+ buf_inspect_uw_binary.c \
+ buf_inspect_uw_decimal.c \
+ buf_inspect_uw_hexadecimal.c \
+ buf_inspect_uw_octal.c \
buf_parse.c \
buf_parse_c.c \
buf_parse_s16.c \
diff --git a/libc3/sources.sh b/libc3/sources.sh
index 2b0c2c8..d283c43 100644
--- a/libc3/sources.sh
+++ b/libc3/sources.sh
@@ -1,4 +1,4 @@
# sources.sh generated by update_sources
-HEADERS='abs.h arg.h array.h binding.h bool.h buf.h buf_file.h buf_inspect.h buf_inspect_s16.h buf_inspect_s32.h buf_inspect_s64.h buf_inspect_s8.h buf_inspect_sw.h buf_inspect_u16.h buf_inspect_u32.h buf_inspect_u64.h buf_inspect_u64_binary.h buf_inspect_u64_decimal.h buf_inspect_u64_hexadecimal.h buf_inspect_u64_octal.h buf_inspect_u8.h buf_inspect_uw.h buf_parse.h buf_parse_c.h buf_parse_s16.h buf_parse_s32.h buf_parse_s64.h buf_parse_s8.h buf_parse_sw.h buf_parse_u16.h buf_parse_u32.h buf_parse_u64.h buf_parse_u8.h buf_parse_uw.h buf_save.h c3.h c_types.h call.h ceiling.h cfn.h character.h compare.h config.h env.h error.h error_handler.h eval.h fact.h facts.h facts_cursor.h facts_spec.h facts_spec_cursor.h facts_with.h facts_with_cursor.h float.h fn.h frame.h hash.h ident.h integer.h io.h list.h log.h module.h operator.h quote.h set__fact.h set__tag.h set_cursor__fact.h set_cursor__tag.h set_item__fact.h set_item__tag.h sha1.h sign.h skiplist__fact.h skiplist_node__fact.h str.h sym.h tag.h tuple.h type.h types.h ucd.h '
-SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s32.c buf_inspect_s64.c buf_inspect_s8.c buf_inspect_sw.c buf_inspect_u16.c buf_inspect_u32.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_uw.c buf_parse.c buf_parse_c.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c fn.c frame.c hash.c ident.c integer.c io.c list.c log.c module.c operator.c quote.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sym.c tag.c tuple.c type.c ucd.c '
-LO_SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s32.c buf_inspect_s64.c buf_inspect_s8.c buf_inspect_sw.c buf_inspect_u16.c buf_inspect_u32.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_uw.c buf_parse.c buf_parse_c.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c fn.c frame.c hash.c ident.c integer.c io.c list.c log.c module.c operator.c quote.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sym.c tag.c tuple.c type.c ucd.c ../libtommath/bn_cutoffs.c ../libtommath/bn_mp_2expt.c ../libtommath/bn_mp_abs.c ../libtommath/bn_mp_add.c ../libtommath/bn_mp_add_d.c ../libtommath/bn_mp_and.c ../libtommath/bn_mp_clamp.c ../libtommath/bn_mp_clear.c ../libtommath/bn_mp_clear_multi.c ../libtommath/bn_mp_cmp.c ../libtommath/bn_mp_cmp_d.c ../libtommath/bn_mp_cmp_mag.c ../libtommath/bn_mp_cnt_lsb.c ../libtommath/bn_mp_complement.c ../libtommath/bn_mp_copy.c ../libtommath/bn_mp_count_bits.c ../libtommath/bn_mp_div.c ../libtommath/bn_mp_div_2.c ../libtommath/bn_mp_div_2d.c ../libtommath/bn_mp_div_3.c ../libtommath/bn_mp_div_d.c ../libtommath/bn_mp_dr_is_modulus.c ../libtommath/bn_mp_dr_reduce.c ../libtommath/bn_mp_dr_setup.c ../libtommath/bn_mp_error_to_string.c ../libtommath/bn_mp_exch.c ../libtommath/bn_mp_exptmod.c ../libtommath/bn_mp_gcd.c ../libtommath/bn_mp_get_i32.c ../libtommath/bn_mp_get_i64.c ../libtommath/bn_mp_get_mag_u32.c ../libtommath/bn_mp_get_mag_u64.c ../libtommath/bn_mp_grow.c ../libtommath/bn_mp_init.c ../libtommath/bn_mp_init_copy.c ../libtommath/bn_mp_init_multi.c ../libtommath/bn_mp_init_size.c ../libtommath/bn_mp_invmod.c ../libtommath/bn_mp_lcm.c ../libtommath/bn_mp_lshd.c ../libtommath/bn_mp_mod.c ../libtommath/bn_mp_mod_2d.c ../libtommath/bn_mp_montgomery_calc_normalization.c ../libtommath/bn_mp_montgomery_reduce.c ../libtommath/bn_mp_montgomery_setup.c ../libtommath/bn_mp_mul.c ../libtommath/bn_mp_mul_2.c ../libtommath/bn_mp_mul_2d.c ../libtommath/bn_mp_mul_d.c ../libtommath/bn_mp_mulmod.c ../libtommath/bn_mp_neg.c ../libtommath/bn_mp_or.c ../libtommath/bn_mp_radix_size.c ../libtommath/bn_mp_reduce.c ../libtommath/bn_mp_reduce_2k.c ../libtommath/bn_mp_reduce_2k_l.c ../libtommath/bn_mp_reduce_2k_setup.c ../libtommath/bn_mp_reduce_2k_setup_l.c ../libtommath/bn_mp_reduce_is_2k.c ../libtommath/bn_mp_reduce_is_2k_l.c ../libtommath/bn_mp_reduce_setup.c ../libtommath/bn_mp_rshd.c ../libtommath/bn_mp_set.c ../libtommath/bn_mp_sqr.c ../libtommath/bn_mp_sqrt.c ../libtommath/bn_mp_sub.c ../libtommath/bn_mp_sub_d.c ../libtommath/bn_mp_xor.c ../libtommath/bn_mp_zero.c ../libtommath/bn_s_mp_add.c ../libtommath/bn_s_mp_balance_mul.c ../libtommath/bn_s_mp_exptmod.c ../libtommath/bn_s_mp_exptmod_fast.c ../libtommath/bn_s_mp_invmod_fast.c ../libtommath/bn_s_mp_invmod_slow.c ../libtommath/bn_s_mp_karatsuba_mul.c ../libtommath/bn_s_mp_karatsuba_sqr.c ../libtommath/bn_s_mp_montgomery_reduce_fast.c ../libtommath/bn_s_mp_mul_digs.c ../libtommath/bn_s_mp_mul_digs_fast.c ../libtommath/bn_s_mp_mul_high_digs.c ../libtommath/bn_s_mp_mul_high_digs_fast.c ../libtommath/bn_s_mp_rand_platform.c ../libtommath/bn_s_mp_sqr.c ../libtommath/bn_s_mp_sqr_fast.c ../libtommath/bn_s_mp_sub.c ../libtommath/bn_s_mp_toom_mul.c ../libtommath/bn_s_mp_toom_sqr.c '
+HEADERS='abs.h arg.h array.h binding.h bool.h buf.h buf_file.h buf_inspect.h buf_inspect_s16.h buf_inspect_s16_binary.h buf_inspect_s16_decimal.h buf_inspect_s16_hexadecimal.h buf_inspect_s16_octal.h buf_inspect_s32.h buf_inspect_s32_binary.h buf_inspect_s32_decimal.h buf_inspect_s32_hexadecimal.h buf_inspect_s32_octal.h buf_inspect_s64.h buf_inspect_s64_binary.h buf_inspect_s64_decimal.h buf_inspect_s64_hexadecimal.h buf_inspect_s64_octal.h buf_inspect_s8.h buf_inspect_s8_binary.h buf_inspect_s8_decimal.h buf_inspect_s8_hexadecimal.h buf_inspect_s8_octal.h buf_inspect_sw.h buf_inspect_sw_binary.h buf_inspect_sw_decimal.h buf_inspect_sw_hexadecimal.h buf_inspect_sw_octal.h buf_inspect_u16.h buf_inspect_u16_binary.h buf_inspect_u16_decimal.h buf_inspect_u16_hexadecimal.h buf_inspect_u16_octal.h buf_inspect_u32.h buf_inspect_u32_binary.h buf_inspect_u32_decimal.h buf_inspect_u32_hexadecimal.h buf_inspect_u32_octal.h buf_inspect_u64.h buf_inspect_u64_binary.h buf_inspect_u64_decimal.h buf_inspect_u64_hexadecimal.h buf_inspect_u64_octal.h buf_inspect_u8.h buf_inspect_uw.h buf_inspect_uw_binary.h buf_inspect_uw_decimal.h buf_inspect_uw_hexadecimal.h buf_inspect_uw_octal.h buf_parse.h buf_parse_c.h buf_parse_s16.h buf_parse_s32.h buf_parse_s64.h buf_parse_s8.h buf_parse_sw.h buf_parse_u16.h buf_parse_u32.h buf_parse_u64.h buf_parse_u8.h buf_parse_uw.h buf_save.h c3.h c_types.h call.h ceiling.h cfn.h character.h compare.h config.h env.h error.h error_handler.h eval.h fact.h facts.h facts_cursor.h facts_spec.h facts_spec_cursor.h facts_with.h facts_with_cursor.h float.h fn.h frame.h hash.h ident.h integer.h io.h list.h log.h module.h operator.h quote.h set__fact.h set__tag.h set_cursor__fact.h set_cursor__tag.h set_item__fact.h set_item__tag.h sha1.h sign.h skiplist__fact.h skiplist_node__fact.h str.h sym.h tag.h tuple.h type.h types.h ucd.h '
+SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_c.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c fn.c frame.c hash.c ident.c integer.c io.c list.c log.c module.c operator.c quote.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sym.c tag.c tuple.c type.c ucd.c '
+LO_SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_c.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c fn.c frame.c hash.c ident.c integer.c io.c list.c log.c module.c operator.c quote.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sym.c tag.c tuple.c type.c ucd.c ../libtommath/bn_cutoffs.c ../libtommath/bn_mp_2expt.c ../libtommath/bn_mp_abs.c ../libtommath/bn_mp_add.c ../libtommath/bn_mp_add_d.c ../libtommath/bn_mp_and.c ../libtommath/bn_mp_clamp.c ../libtommath/bn_mp_clear.c ../libtommath/bn_mp_clear_multi.c ../libtommath/bn_mp_cmp.c ../libtommath/bn_mp_cmp_d.c ../libtommath/bn_mp_cmp_mag.c ../libtommath/bn_mp_cnt_lsb.c ../libtommath/bn_mp_complement.c ../libtommath/bn_mp_copy.c ../libtommath/bn_mp_count_bits.c ../libtommath/bn_mp_div.c ../libtommath/bn_mp_div_2.c ../libtommath/bn_mp_div_2d.c ../libtommath/bn_mp_div_3.c ../libtommath/bn_mp_div_d.c ../libtommath/bn_mp_dr_is_modulus.c ../libtommath/bn_mp_dr_reduce.c ../libtommath/bn_mp_dr_setup.c ../libtommath/bn_mp_error_to_string.c ../libtommath/bn_mp_exch.c ../libtommath/bn_mp_exptmod.c ../libtommath/bn_mp_gcd.c ../libtommath/bn_mp_get_i32.c ../libtommath/bn_mp_get_i64.c ../libtommath/bn_mp_get_mag_u32.c ../libtommath/bn_mp_get_mag_u64.c ../libtommath/bn_mp_grow.c ../libtommath/bn_mp_init.c ../libtommath/bn_mp_init_copy.c ../libtommath/bn_mp_init_multi.c ../libtommath/bn_mp_init_size.c ../libtommath/bn_mp_invmod.c ../libtommath/bn_mp_lcm.c ../libtommath/bn_mp_lshd.c ../libtommath/bn_mp_mod.c ../libtommath/bn_mp_mod_2d.c ../libtommath/bn_mp_montgomery_calc_normalization.c ../libtommath/bn_mp_montgomery_reduce.c ../libtommath/bn_mp_montgomery_setup.c ../libtommath/bn_mp_mul.c ../libtommath/bn_mp_mul_2.c ../libtommath/bn_mp_mul_2d.c ../libtommath/bn_mp_mul_d.c ../libtommath/bn_mp_mulmod.c ../libtommath/bn_mp_neg.c ../libtommath/bn_mp_or.c ../libtommath/bn_mp_radix_size.c ../libtommath/bn_mp_reduce.c ../libtommath/bn_mp_reduce_2k.c ../libtommath/bn_mp_reduce_2k_l.c ../libtommath/bn_mp_reduce_2k_setup.c ../libtommath/bn_mp_reduce_2k_setup_l.c ../libtommath/bn_mp_reduce_is_2k.c ../libtommath/bn_mp_reduce_is_2k_l.c ../libtommath/bn_mp_reduce_setup.c ../libtommath/bn_mp_rshd.c ../libtommath/bn_mp_set.c ../libtommath/bn_mp_sqr.c ../libtommath/bn_mp_sqrt.c ../libtommath/bn_mp_sub.c ../libtommath/bn_mp_sub_d.c ../libtommath/bn_mp_xor.c ../libtommath/bn_mp_zero.c ../libtommath/bn_s_mp_add.c ../libtommath/bn_s_mp_balance_mul.c ../libtommath/bn_s_mp_exptmod.c ../libtommath/bn_s_mp_exptmod_fast.c ../libtommath/bn_s_mp_invmod_fast.c ../libtommath/bn_s_mp_invmod_slow.c ../libtommath/bn_s_mp_karatsuba_mul.c ../libtommath/bn_s_mp_karatsuba_sqr.c ../libtommath/bn_s_mp_montgomery_reduce_fast.c ../libtommath/bn_s_mp_mul_digs.c ../libtommath/bn_s_mp_mul_digs_fast.c ../libtommath/bn_s_mp_mul_high_digs.c ../libtommath/bn_s_mp_mul_high_digs_fast.c ../libtommath/bn_s_mp_rand_platform.c ../libtommath/bn_s_mp_sqr.c ../libtommath/bn_s_mp_sqr_fast.c ../libtommath/bn_s_mp_sub.c ../libtommath/bn_s_mp_toom_mul.c ../libtommath/bn_s_mp_toom_sqr.c '
diff --git a/sources.mk b/sources.mk
index 0e54e06..dafb96a 100644
--- a/sources.mk
+++ b/sources.mk
@@ -5,8 +5,8 @@ C3_CONFIGURES = \
c3s/update_sources \
ic3/configure \
ic3/update_sources \
- libc3/update_sources \
libc3/configure \
+ libc3/update_sources \
libtommath/configure \
libtommath/update_sources \
test/configure \
@@ -32,228 +32,292 @@ C3_C_SOURCES = \
ic3/ic3.c \
ic3/buf_linenoise.h \
ic3/linenoise.c \
- libc3/buf_parse_u32.c \
- libc3/buf_parse_u32.h \
- libc3/buf_parse_u64.c \
+ libc3/abs.c \
+ libc3/abs.h \
+ libc3/buf_inspect_s8.c \
libc3/arg.c \
libc3/arg.h \
- libc3/buf_parse_u64.h \
- libc3/buf_parse_uw.c \
- libc3/buf_parse_uw.h \
- libc3/set__fact.c \
- libc3/set__fact.h \
- libc3/set__tag.c \
- libc3/set__tag.h \
- libc3/set_cursor__fact.c \
- libc3/set_cursor__fact.h \
- libc3/set_cursor__tag.c \
- libc3/set_cursor__tag.h \
- libc3/set_item__fact.c \
- libc3/set_item__tag.c \
- libc3/facts.c \
- libc3/binding.c \
- libc3/binding.h \
- libc3/facts_with_cursor.c \
libc3/array.c \
libc3/array.h \
- libc3/buf.c \
- libc3/buf_parse.c \
- libc3/integer.h \
- libc3/types.h \
- libc3/type.c \
- libc3/buf_inspect_s8.c \
- libc3/buf_inspect_s8.h \
- libc3/buf_inspect_s16.c \
- libc3/buf_inspect_s16.h \
- libc3/buf_inspect_s32.c \
- libc3/buf_inspect_s32.h \
- libc3/buf_file.c \
- libc3/buf_file.h \
- libc3/bool.c \
- libc3/io.h \
- libc3/set_item__fact.h \
- libc3/set_item__tag.h \
+ libc3/binding.c \
+ libc3/c3.c \
libc3/skiplist__fact.c \
libc3/skiplist__fact.h \
libc3/skiplist_node__fact.c \
libc3/skiplist_node__fact.h \
- libc3/io.c \
- libc3/abs.h \
- libc3/ceiling.c \
+ libc3/binding.h \
+ libc3/bool.c \
+ libc3/bool.h \
+ libc3/buf.c \
+ libc3/buf.h \
+ libc3/buf_file.c \
+ libc3/buf_file.h \
+ libc3/buf_inspect.h \
+ libc3/buf_parse.h \
libc3/buf_parse_c.c \
- libc3/buf_parse_c.h \
+ libc3/buf_parse_u16.c \
libc3/buf_save.c \
- libc3/buf_parse.h \
- libc3/compare.c \
- libc3/buf_inspect.c \
- libc3/buf_inspect_u64_hexadecimal.c \
- libc3/buf_inspect_u64_hexadecimal.h \
- libc3/buf_inspect_uw.c \
- libc3/buf_inspect_uw.h \
- libc3/buf_parse_s8.c \
- libc3/buf_parse_s8.h \
- libc3/buf_parse_s16.c \
- libc3/buf_parse_s16.h \
- libc3/call.c \
- libc3/bool.h \
+ libc3/facts_spec_cursor.c \
+ libc3/buf_parse_u16.h \
+ libc3/buf_parse_u32.c \
+ libc3/buf_parse_u32.h \
+ libc3/buf_parse_u64.c \
+ libc3/buf_parse_u64.h \
+ libc3/buf_parse_uw.c \
+ libc3/buf_parse_uw.h \
+ libc3/set__fact.c \
+ libc3/set__fact.h \
+ libc3/set__tag.c \
+ libc3/buf_parse_c.h \
libc3/buf_save.h \
- libc3/fact.h \
- libc3/error.c \
- libc3/list.h \
- libc3/c3.c \
libc3/c3.h \
- libc3/tag.c \
- libc3/error.h \
- libc3/env.h \
+ libc3/c_types.h \
+ libc3/call.c \
+ libc3/call.h \
+ libc3/ceiling.c \
+ libc3/ceiling.h \
+ libc3/cfn.c \
+ libc3/cfn.h \
+ libc3/character.c \
libc3/character.h \
+ libc3/buf_inspect_s8_binary.c \
+ libc3/compare.c \
+ libc3/buf_inspect_u32.h \
+ libc3/buf_inspect_u64.c \
libc3/compare.h \
- libc3/operator.h \
- libc3/operator.c \
- libc3/tag.h \
- libc3/sign.h \
- libc3/buf.h \
- libc3/buf_inspect_s64.c \
- libc3/buf_inspect_s64.h \
- libc3/buf_inspect_sw.c \
- libc3/buf_inspect_sw.h \
- libc3/buf_inspect_u8.c \
- libc3/buf_inspect_u8.h \
- libc3/buf_inspect_u16.c \
- libc3/ident.c \
+ libc3/buf_inspect_u64.h \
+ libc3/buf_inspect_u64_binary.c \
+ libc3/buf_inspect_u64_binary.h \
+ libc3/env.c \
+ libc3/buf_inspect_u64_octal.c \
+ libc3/buf_inspect_u64_octal.h \
+ libc3/env.h \
+ libc3/error.c \
+ libc3/error.h \
libc3/error_handler.c \
- libc3/frame.c \
- libc3/set_cursor.c.in \
- libc3/set_cursor.h.in \
- libc3/set_item.c.in \
- libc3/set_item.h.in \
libc3/error_handler.h \
libc3/eval.c \
libc3/eval.h \
libc3/fact.c \
+ libc3/fact.h \
libc3/facts.h \
libc3/facts_cursor.c \
- libc3/fn.h \
- libc3/ceiling.h \
- libc3/buf_inspect.h \
- libc3/buf_inspect_u64_binary.c \
- libc3/buf_inspect_u64_binary.h \
- libc3/buf_inspect_u64_octal.c \
- libc3/buf_inspect_u64_octal.h \
- libc3/buf_inspect_u64_decimal.c \
- libc3/buf_inspect_u64_decimal.h \
- libc3/env.c \
+ libc3/buf_parse.c \
+ libc3/tag.c \
+ libc3/buf_inspect.c \
libc3/facts_cursor.h \
libc3/facts_spec.c \
- libc3/frame.h \
- libc3/sign.c \
libc3/facts_spec.h \
- libc3/facts_spec_cursor.c \
- libc3/hash.c \
libc3/facts_spec_cursor.h \
libc3/facts_with.c \
libc3/facts_with.h \
- libc3/hash.h \
- libc3/cfn.h \
- libc3/buf_parse_u.c.in \
- libc3/abs.c \
+ libc3/facts_with_cursor.c \
libc3/facts_with_cursor.h \
+ libc3/buf_inspect_u64_decimal.c \
+ libc3/float.h \
+ libc3/fn.c \
+ libc3/buf_inspect_u64_decimal.h \
+ libc3/fn.h \
+ libc3/frame.c \
+ libc3/buf_inspect_u64_hexadecimal.c \
+ libc3/buf_inspect_u64_hexadecimal.h \
+ libc3/frame.h \
+ libc3/buf_inspect_uw.c \
+ libc3/buf_inspect_uw.h \
+ libc3/buf_parse_s8.h \
+ libc3/hash.c \
+ libc3/hash.h \
+ libc3/ident.c \
libc3/ident.h \
- libc3/str.c \
- libc3/c_types.h \
+ libc3/integer.c \
+ libc3/integer.h \
+ libc3/io.c \
+ libc3/io.h \
+ libc3/buf_inspect_s8_binary.h \
+ libc3/list.c \
+ libc3/list.h \
+ libc3/log.c \
+ libc3/log.h \
+ libc3/buf_inspect_s.h.in \
+ libc3/module.c \
+ libc3/buf_parse_s16.c \
+ libc3/buf_parse_s16.h \
libc3/buf_parse_s32.c \
libc3/buf_parse_s32.h \
libc3/buf_parse_s64.c \
libc3/buf_parse_s64.h \
libc3/buf_parse_sw.c \
- libc3/buf_parse_s.c.in \
libc3/buf_parse_sw.h \
libc3/buf_parse_u8.c \
libc3/buf_parse_u8.h \
- libc3/buf_parse_u16.c \
- libc3/buf_parse_u16.h \
- libc3/integer.c \
- libc3/list.c \
- libc3/log.c \
- libc3/log.h \
- libc3/sym.h \
- libc3/module.c \
+ libc3/facts.c \
+ libc3/str.c \
+ libc3/module.h \
+ libc3/operator.c \
+ libc3/set__tag.h \
+ libc3/operator.h \
+ libc3/buf_parse_u.c.in \
libc3/quote.c \
libc3/quote.h \
- libc3/character.c \
- libc3/cfn.c \
- libc3/fn.c \
- libc3/module.h \
+ libc3/set_cursor__fact.c \
+ libc3/set_cursor__fact.h \
+ libc3/set_cursor__tag.c \
+ libc3/set_cursor__tag.h \
+ libc3/set_item__fact.c \
+ libc3/set_item__fact.h \
+ libc3/set_item__tag.c \
+ libc3/set_item__tag.h \
libc3/set.c.in \
- libc3/call.h \
libc3/set.h.in \
+ libc3/tag.h \
+ libc3/buf_inspect_s8.h \
+ libc3/buf_inspect_s16.c \
+ libc3/buf_inspect_s16.h \
+ libc3/buf_inspect_s32.c \
+ libc3/buf_inspect_s32.h \
+ libc3/buf_inspect_s64.c \
+ libc3/buf_inspect_s64.h \
libc3/sha1.h \
+ libc3/set_cursor.c.in \
+ libc3/set_cursor.h.in \
+ libc3/set_item.c.in \
+ libc3/set_item.h.in \
+ libc3/sign.c \
+ libc3/sign.h \
libc3/skiplist.c.in \
libc3/skiplist.h.in \
+ libc3/type.h \
libc3/skiplist_node.c.in \
libc3/skiplist_node.h.in \
libc3/str.h \
+ libc3/types.h \
+ libc3/ucd.c \
libc3/sym.c \
+ libc3/sym.h \
libc3/tuple.c \
libc3/tuple.h \
- libc3/ucd.c \
+ libc3/type.c \
libc3/ucd.h \
- libc3/type.h \
+ libc3/buf_inspect_sw.c \
+ libc3/buf_parse_s.c.in \
libc3/buf_parse_s.h.in \
- libc3/buf_parse_u.h.in \
- libc3/float.h \
- libc3/buf_inspect_s_base.c.in \
- libc3/buf_inspect_s.c.in \
+ libc3/buf_inspect_sw.h \
+ libc3/buf_inspect_u8.c \
+ libc3/buf_inspect_u8.h \
+ libc3/buf_inspect_u16.c \
libc3/buf_inspect_u16.h \
- libc3/buf_inspect_s.h.in \
libc3/buf_inspect_u32.c \
- libc3/buf_inspect_u32.h \
- libc3/buf_inspect_u64.c \
- libc3/buf_inspect_u64.h \
+ libc3/buf_inspect_s.c.in \
+ libc3/buf_parse_s8.c \
+ libc3/buf_parse_u.h.in \
+ libc3/buf_inspect_s8_octal.c \
+ libc3/buf_inspect_s8_octal.h \
+ libc3/buf_inspect_s8_decimal.c \
+ libc3/buf_inspect_s8_decimal.h \
+ libc3/buf_inspect_s8_hexadecimal.c \
+ libc3/buf_inspect_s_base.c.in \
+ libc3/buf_inspect_s8_hexadecimal.h \
libc3/buf_inspect_u.c.in \
- libc3/buf_inspect_u_base.c.in \
libc3/buf_inspect_u.h.in \
+ libc3/buf_inspect_s16_binary.c \
+ libc3/buf_inspect_s16_binary.h \
+ libc3/buf_inspect_s16_octal.c \
+ libc3/buf_inspect_s16_octal.h \
+ libc3/buf_inspect_s16_decimal.c \
+ libc3/buf_inspect_s16_decimal.h \
+ libc3/buf_inspect_s16_hexadecimal.c \
+ libc3/buf_inspect_s16_hexadecimal.h \
+ libc3/buf_inspect_s32_binary.c \
+ libc3/buf_inspect_s32_binary.h \
+ libc3/buf_inspect_s32_octal.c \
+ libc3/buf_inspect_s32_octal.h \
+ libc3/buf_inspect_s32_decimal.c \
+ libc3/buf_inspect_s32_decimal.h \
+ libc3/buf_inspect_u_base.c.in \
libc3/buf_inspect_u_base.h.in \
+ libc3/buf_inspect_s32_hexadecimal.c \
+ libc3/buf_inspect_s32_hexadecimal.h \
+ libc3/buf_inspect_s64_binary.c \
+ libc3/buf_inspect_s64_binary.h \
+ libc3/buf_inspect_s64_octal.c \
+ libc3/buf_inspect_s64_octal.h \
+ libc3/buf_inspect_s64_decimal.c \
+ libc3/buf_inspect_s64_decimal.h \
+ libc3/buf_inspect_s64_hexadecimal.c \
+ libc3/buf_inspect_s64_hexadecimal.h \
+ libc3/buf_inspect_sw_binary.c \
+ libc3/buf_inspect_sw_binary.h \
+ libc3/buf_inspect_sw_octal.c \
+ libc3/buf_inspect_sw_octal.h \
+ libc3/buf_inspect_sw_decimal.c \
+ libc3/buf_inspect_sw_decimal.h \
+ libc3/buf_inspect_sw_hexadecimal.c \
+ libc3/buf_inspect_sw_hexadecimal.h \
+ libc3/buf_inspect_u16_binary.c \
+ libc3/buf_inspect_u16_binary.h \
+ libc3/buf_inspect_u16_octal.c \
+ libc3/buf_inspect_u16_octal.h \
+ libc3/buf_inspect_u16_decimal.c \
+ libc3/buf_inspect_u16_decimal.h \
+ libc3/buf_inspect_u16_hexadecimal.c \
+ libc3/buf_inspect_u16_hexadecimal.h \
+ libc3/buf_inspect_u32_binary.c \
+ libc3/buf_inspect_u32_binary.h \
+ libc3/buf_inspect_u32_octal.c \
+ libc3/buf_inspect_u32_octal.h \
+ libc3/buf_inspect_u32_decimal.c \
+ libc3/buf_inspect_u32_decimal.h \
+ libc3/buf_inspect_u32_hexadecimal.c \
+ libc3/buf_inspect_u32_hexadecimal.h \
+ libc3/buf_inspect_uw_binary.c \
+ libc3/buf_inspect_uw_binary.h \
+ libc3/buf_inspect_uw_octal.c \
+ libc3/buf_inspect_uw_octal.h \
+ libc3/buf_inspect_uw_decimal.c \
+ libc3/buf_inspect_uw_decimal.h \
+ libc3/buf_inspect_uw_hexadecimal.c \
+ libc3/buf_inspect_uw_hexadecimal.h \
+ test/bool_test.c \
+ test/buf_file_test.c \
+ test/buf_inspect_test.c \
+ test/buf_parse_test_u8.c \
+ test/buf_parse_test.h \
+ test/buf_parse_test_s16.c \
+ test/buf_parse_test_s32.c \
+ test/list_test.c \
+ test/buf_parse_test_s64.c \
+ test/buf_parse_test_s8.c \
+ test/buf_parse_test_su.h \
+ test/buf_parse_test_u16.c \
+ test/buf_parse_test_u32.c \
+ test/buf_test.c \
+ test/buf_parse_test_u64.c \
+ test/call_test.c \
test/facts_cursor_test.c \
+ test/test.c \
+ test/cfn_test.c \
+ test/character_test.c \
+ test/compare_test.c \
+ test/compare_test.h \
+ test/env_test.c \
+ test/fact_test.c \
+ test/fact_test.h \
test/facts_test.c \
+ test/buf_parse_test.c \
test/facts_with_test.c \
+ test/hash_test.c \
+ test/ident_test.c \
+ test/libc3_test.c \
test/set__fact_test.c \
test/set__tag_test.c \
- test/test.c \
- test/tag_test.c \
+ test/skiplist__fact_test.c \
+ test/str_test.c \
test/sym_test.c \
+ test/tag_test.c \
test/tag_test.h \
+ test/test.h \
test/tuple_test.c \
test/types_test.c \
- test/skiplist__fact_test.c \
- test/fact_test.c \
- test/compare_test.h \
- test/fact_test.h \
- test/str_test.c \
- test/list_test.c \
- test/hash_test.c \
- test/compare_test.c \
- test/call_test.c \
- test/ident_test.c \
- test/libc3_test.c \
- test/buf_inspect_test.c \
- test/test.h \
- test/bool_test.c \
- test/cfn_test.c \
- test/buf_parse_test_s8.c \
- test/buf_parse_test_s32.c \
- test/buf_parse_test_s64.c \
- test/buf_parse_test_u16.c \
- test/buf_parse_test_u8.c \
- test/buf_parse_test_u32.c \
- test/buf_parse_test_u64.c \
- test/buf_parse_test.h \
- test/buf_test.c \
- test/env_test.c \
- test/buf_parse_test_su.h \
- test/character_test.c \
- test/buf_parse_test.c \
- test/buf_parse_test_s16.c \
- test/buf_file_test.c \
ucd2c/ucd.h \
ucd2c/ucd2c.c \
diff --git a/sources.sh b/sources.sh
index bf2c82b..893e959 100644
--- a/sources.sh
+++ b/sources.sh
@@ -1,4 +1,4 @@
# sources.sh generated by update_sources
-C3_CONFIGURES='c3c/configure c3s/configure c3s/update_sources ic3/configure ic3/update_sources libc3/update_sources libc3/configure libtommath/configure libtommath/update_sources test/configure test/update_sources ucd2c/configure '
+C3_CONFIGURES='c3c/configure c3s/configure c3s/update_sources ic3/configure ic3/update_sources libc3/configure libc3/update_sources libtommath/configure libtommath/update_sources test/configure test/update_sources ucd2c/configure '
C3_MAKEFILES='c3c/Makefile c3s/Makefile ic3/Makefile libc3/Makefile libc3/gen.mk libtommath/Makefile test/Makefile ucd2c/Makefile '
-C3_C_SOURCES='c3c/c3c.c c3s/buf_readline.c c3s/c3s.c c3s/buf_readline.h ic3/buf_linenoise.c ic3/ic3.c ic3/buf_linenoise.h ic3/linenoise.c libc3/buf_parse_u32.c libc3/buf_parse_u32.h libc3/buf_parse_u64.c libc3/arg.c libc3/arg.h libc3/buf_parse_u64.h libc3/buf_parse_uw.c libc3/buf_parse_uw.h libc3/set__fact.c libc3/set__fact.h libc3/set__tag.c libc3/set__tag.h libc3/set_cursor__fact.c libc3/set_cursor__fact.h libc3/set_cursor__tag.c libc3/set_cursor__tag.h libc3/set_item__fact.c libc3/set_item__tag.c libc3/facts.c libc3/binding.c libc3/binding.h libc3/facts_with_cursor.c libc3/array.c libc3/array.h libc3/buf.c libc3/buf_parse.c libc3/integer.h libc3/types.h libc3/type.c libc3/buf_inspect_s8.c libc3/buf_inspect_s8.h libc3/buf_inspect_s16.c libc3/buf_inspect_s16.h libc3/buf_inspect_s32.c libc3/buf_inspect_s32.h libc3/buf_file.c libc3/buf_file.h libc3/bool.c libc3/io.h libc3/set_item__fact.h libc3/set_item__tag.h libc3/skiplist__fact.c libc3/skiplist__fact.h libc3/skiplist_node__fact.c libc3/skiplist_node__fact.h libc3/io.c libc3/abs.h libc3/ceiling.c libc3/buf_parse_c.c libc3/buf_parse_c.h libc3/buf_save.c libc3/buf_parse.h libc3/compare.c libc3/buf_inspect.c libc3/buf_inspect_u64_hexadecimal.c libc3/buf_inspect_u64_hexadecimal.h libc3/buf_inspect_uw.c libc3/buf_inspect_uw.h libc3/buf_parse_s8.c libc3/buf_parse_s8.h libc3/buf_parse_s16.c libc3/buf_parse_s16.h libc3/call.c libc3/bool.h libc3/buf_save.h libc3/fact.h libc3/error.c libc3/list.h libc3/c3.c libc3/c3.h libc3/tag.c libc3/error.h libc3/env.h libc3/character.h libc3/compare.h libc3/operator.h libc3/operator.c libc3/tag.h libc3/sign.h libc3/buf.h libc3/buf_inspect_s64.c libc3/buf_inspect_s64.h libc3/buf_inspect_sw.c libc3/buf_inspect_sw.h libc3/buf_inspect_u8.c libc3/buf_inspect_u8.h libc3/buf_inspect_u16.c libc3/ident.c libc3/error_handler.c libc3/frame.c libc3/set_cursor.c.in libc3/set_cursor.h.in libc3/set_item.c.in libc3/set_item.h.in libc3/error_handler.h libc3/eval.c libc3/eval.h libc3/fact.c libc3/facts.h libc3/facts_cursor.c libc3/fn.h libc3/ceiling.h libc3/buf_inspect.h libc3/buf_inspect_u64_binary.c libc3/buf_inspect_u64_binary.h libc3/buf_inspect_u64_octal.c libc3/buf_inspect_u64_octal.h libc3/buf_inspect_u64_decimal.c libc3/buf_inspect_u64_decimal.h libc3/env.c libc3/facts_cursor.h libc3/facts_spec.c libc3/frame.h libc3/sign.c libc3/facts_spec.h libc3/facts_spec_cursor.c libc3/hash.c libc3/facts_spec_cursor.h libc3/facts_with.c libc3/facts_with.h libc3/hash.h libc3/cfn.h libc3/buf_parse_u.c.in libc3/abs.c libc3/facts_with_cursor.h libc3/ident.h libc3/str.c libc3/c_types.h libc3/buf_parse_s32.c libc3/buf_parse_s32.h libc3/buf_parse_s64.c libc3/buf_parse_s64.h libc3/buf_parse_sw.c libc3/buf_parse_s.c.in libc3/buf_parse_sw.h libc3/buf_parse_u8.c libc3/buf_parse_u8.h libc3/buf_parse_u16.c libc3/buf_parse_u16.h libc3/integer.c libc3/list.c libc3/log.c libc3/log.h libc3/sym.h libc3/module.c libc3/quote.c libc3/quote.h libc3/character.c libc3/cfn.c libc3/fn.c libc3/module.h libc3/set.c.in libc3/call.h libc3/set.h.in libc3/sha1.h libc3/skiplist.c.in libc3/skiplist.h.in libc3/skiplist_node.c.in libc3/skiplist_node.h.in libc3/str.h libc3/sym.c libc3/tuple.c libc3/tuple.h libc3/ucd.c libc3/ucd.h libc3/type.h libc3/buf_parse_s.h.in libc3/buf_parse_u.h.in libc3/float.h libc3/buf_inspect_s_base.c.in libc3/buf_inspect_s.c.in libc3/buf_inspect_u16.h libc3/buf_inspect_s.h.in libc3/buf_inspect_u32.c libc3/buf_inspect_u32.h libc3/buf_inspect_u64.c libc3/buf_inspect_u64.h libc3/buf_inspect_u.c.in libc3/buf_inspect_u_base.c.in libc3/buf_inspect_u.h.in libc3/buf_inspect_u_base.h.in test/facts_cursor_test.c test/facts_test.c test/facts_with_test.c test/set__fact_test.c test/set__tag_test.c test/test.c test/tag_test.c test/sym_test.c test/tag_test.h test/tuple_test.c test/types_test.c test/skiplist__fact_test.c test/fact_test.c test/compare_test.h test/fact_test.h test/str_test.c test/list_test.c test/hash_test.c test/compare_test.c test/call_test.c test/ident_test.c test/libc3_test.c test/buf_inspect_test.c test/test.h test/bool_test.c test/cfn_test.c test/buf_parse_test_s8.c test/buf_parse_test_s32.c test/buf_parse_test_s64.c test/buf_parse_test_u16.c test/buf_parse_test_u8.c test/buf_parse_test_u32.c test/buf_parse_test_u64.c test/buf_parse_test.h test/buf_test.c test/env_test.c test/buf_parse_test_su.h test/character_test.c test/buf_parse_test.c test/buf_parse_test_s16.c test/buf_file_test.c ucd2c/ucd.h ucd2c/ucd2c.c '
+C3_C_SOURCES='c3c/c3c.c c3s/buf_readline.c c3s/c3s.c c3s/buf_readline.h ic3/buf_linenoise.c ic3/ic3.c ic3/buf_linenoise.h ic3/linenoise.c libc3/abs.c libc3/abs.h libc3/buf_inspect_s8.c libc3/arg.c libc3/arg.h libc3/array.c libc3/array.h libc3/binding.c libc3/c3.c libc3/skiplist__fact.c libc3/skiplist__fact.h libc3/skiplist_node__fact.c libc3/skiplist_node__fact.h libc3/binding.h libc3/bool.c libc3/bool.h libc3/buf.c libc3/buf.h libc3/buf_file.c libc3/buf_file.h libc3/buf_inspect.h libc3/buf_parse.h libc3/buf_parse_c.c libc3/buf_parse_u16.c libc3/buf_save.c libc3/facts_spec_cursor.c libc3/buf_parse_u16.h libc3/buf_parse_u32.c libc3/buf_parse_u32.h libc3/buf_parse_u64.c libc3/buf_parse_u64.h libc3/buf_parse_uw.c libc3/buf_parse_uw.h libc3/set__fact.c libc3/set__fact.h libc3/set__tag.c libc3/buf_parse_c.h libc3/buf_save.h libc3/c3.h libc3/c_types.h libc3/call.c libc3/call.h libc3/ceiling.c libc3/ceiling.h libc3/cfn.c libc3/cfn.h libc3/character.c libc3/character.h libc3/buf_inspect_s8_binary.c libc3/compare.c libc3/buf_inspect_u32.h libc3/buf_inspect_u64.c libc3/compare.h libc3/buf_inspect_u64.h libc3/buf_inspect_u64_binary.c libc3/buf_inspect_u64_binary.h libc3/env.c libc3/buf_inspect_u64_octal.c libc3/buf_inspect_u64_octal.h libc3/env.h libc3/error.c libc3/error.h libc3/error_handler.c libc3/error_handler.h libc3/eval.c libc3/eval.h libc3/fact.c libc3/fact.h libc3/facts.h libc3/facts_cursor.c libc3/buf_parse.c libc3/tag.c libc3/buf_inspect.c libc3/facts_cursor.h libc3/facts_spec.c libc3/facts_spec.h libc3/facts_spec_cursor.h libc3/facts_with.c libc3/facts_with.h libc3/facts_with_cursor.c libc3/facts_with_cursor.h libc3/buf_inspect_u64_decimal.c libc3/float.h libc3/fn.c libc3/buf_inspect_u64_decimal.h libc3/fn.h libc3/frame.c libc3/buf_inspect_u64_hexadecimal.c libc3/buf_inspect_u64_hexadecimal.h libc3/frame.h libc3/buf_inspect_uw.c libc3/buf_inspect_uw.h libc3/buf_parse_s8.h libc3/hash.c libc3/hash.h libc3/ident.c libc3/ident.h libc3/integer.c libc3/integer.h libc3/io.c libc3/io.h libc3/buf_inspect_s8_binary.h libc3/list.c libc3/list.h libc3/log.c libc3/log.h libc3/buf_inspect_s.h.in libc3/module.c libc3/buf_parse_s16.c libc3/buf_parse_s16.h libc3/buf_parse_s32.c libc3/buf_parse_s32.h libc3/buf_parse_s64.c libc3/buf_parse_s64.h libc3/buf_parse_sw.c libc3/buf_parse_sw.h libc3/buf_parse_u8.c libc3/buf_parse_u8.h libc3/facts.c libc3/str.c libc3/module.h libc3/operator.c libc3/set__tag.h libc3/operator.h libc3/buf_parse_u.c.in libc3/quote.c libc3/quote.h libc3/set_cursor__fact.c libc3/set_cursor__fact.h libc3/set_cursor__tag.c libc3/set_cursor__tag.h libc3/set_item__fact.c libc3/set_item__fact.h libc3/set_item__tag.c libc3/set_item__tag.h libc3/set.c.in libc3/set.h.in libc3/tag.h libc3/buf_inspect_s8.h libc3/buf_inspect_s16.c libc3/buf_inspect_s16.h libc3/buf_inspect_s32.c libc3/buf_inspect_s32.h libc3/buf_inspect_s64.c libc3/buf_inspect_s64.h libc3/sha1.h libc3/set_cursor.c.in libc3/set_cursor.h.in libc3/set_item.c.in libc3/set_item.h.in libc3/sign.c libc3/sign.h libc3/skiplist.c.in libc3/skiplist.h.in libc3/type.h libc3/skiplist_node.c.in libc3/skiplist_node.h.in libc3/str.h libc3/types.h libc3/ucd.c libc3/sym.c libc3/sym.h libc3/tuple.c libc3/tuple.h libc3/type.c libc3/ucd.h libc3/buf_inspect_sw.c libc3/buf_parse_s.c.in libc3/buf_parse_s.h.in libc3/buf_inspect_sw.h libc3/buf_inspect_u8.c libc3/buf_inspect_u8.h libc3/buf_inspect_u16.c libc3/buf_inspect_u16.h libc3/buf_inspect_u32.c libc3/buf_inspect_s.c.in libc3/buf_parse_s8.c libc3/buf_parse_u.h.in libc3/buf_inspect_s8_octal.c libc3/buf_inspect_s8_octal.h libc3/buf_inspect_s8_decimal.c libc3/buf_inspect_s8_decimal.h libc3/buf_inspect_s8_hexadecimal.c libc3/buf_inspect_s_base.c.in libc3/buf_inspect_s8_hexadecimal.h libc3/buf_inspect_u.c.in libc3/buf_inspect_u.h.in libc3/buf_inspect_s16_binary.c libc3/buf_inspect_s16_binary.h libc3/buf_inspect_s16_octal.c libc3/buf_inspect_s16_octal.h libc3/buf_inspect_s16_decimal.c libc3/buf_inspect_s16_decimal.h libc3/buf_inspect_s16_hexadecimal.c libc3/buf_inspect_s16_hexadecimal.h libc3/buf_inspect_s32_binary.c libc3/buf_inspect_s32_binary.h libc3/buf_inspect_s32_octal.c libc3/buf_inspect_s32_octal.h libc3/buf_inspect_s32_decimal.c libc3/buf_inspect_s32_decimal.h libc3/buf_inspect_u_base.c.in libc3/buf_inspect_u_base.h.in libc3/buf_inspect_s32_hexadecimal.c libc3/buf_inspect_s32_hexadecimal.h libc3/buf_inspect_s64_binary.c libc3/buf_inspect_s64_binary.h libc3/buf_inspect_s64_octal.c libc3/buf_inspect_s64_octal.h libc3/buf_inspect_s64_decimal.c libc3/buf_inspect_s64_decimal.h libc3/buf_inspect_s64_hexadecimal.c libc3/buf_inspect_s64_hexadecimal.h libc3/buf_inspect_sw_binary.c libc3/buf_inspect_sw_binary.h libc3/buf_inspect_sw_octal.c libc3/buf_inspect_sw_octal.h libc3/buf_inspect_sw_decimal.c libc3/buf_inspect_sw_decimal.h libc3/buf_inspect_sw_hexadecimal.c libc3/buf_inspect_sw_hexadecimal.h libc3/buf_inspect_u16_binary.c libc3/buf_inspect_u16_binary.h libc3/buf_inspect_u16_octal.c libc3/buf_inspect_u16_octal.h libc3/buf_inspect_u16_decimal.c libc3/buf_inspect_u16_decimal.h libc3/buf_inspect_u16_hexadecimal.c libc3/buf_inspect_u16_hexadecimal.h libc3/buf_inspect_u32_binary.c libc3/buf_inspect_u32_binary.h libc3/buf_inspect_u32_octal.c libc3/buf_inspect_u32_octal.h libc3/buf_inspect_u32_decimal.c libc3/buf_inspect_u32_decimal.h libc3/buf_inspect_u32_hexadecimal.c libc3/buf_inspect_u32_hexadecimal.h libc3/buf_inspect_uw_binary.c libc3/buf_inspect_uw_binary.h libc3/buf_inspect_uw_octal.c libc3/buf_inspect_uw_octal.h libc3/buf_inspect_uw_decimal.c libc3/buf_inspect_uw_decimal.h libc3/buf_inspect_uw_hexadecimal.c libc3/buf_inspect_uw_hexadecimal.h test/bool_test.c test/buf_file_test.c test/buf_inspect_test.c test/buf_parse_test_u8.c test/buf_parse_test.h test/buf_parse_test_s16.c test/buf_parse_test_s32.c test/list_test.c test/buf_parse_test_s64.c test/buf_parse_test_s8.c test/buf_parse_test_su.h test/buf_parse_test_u16.c test/buf_parse_test_u32.c test/buf_test.c test/buf_parse_test_u64.c test/call_test.c test/facts_cursor_test.c test/test.c test/cfn_test.c test/character_test.c test/compare_test.c test/compare_test.h test/env_test.c test/fact_test.c test/fact_test.h test/facts_test.c test/buf_parse_test.c test/facts_with_test.c test/hash_test.c test/ident_test.c test/libc3_test.c test/set__fact_test.c test/set__tag_test.c test/skiplist__fact_test.c test/str_test.c test/sym_test.c test/tag_test.c test/tag_test.h test/test.h test/tuple_test.c test/types_test.c ucd2c/ucd.h ucd2c/ucd2c.c '