From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- rushs/tinyprintf/variant/variant.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 rushs/tinyprintf/variant/variant.h (limited to 'rushs/tinyprintf/variant/variant.h') diff --git a/rushs/tinyprintf/variant/variant.h b/rushs/tinyprintf/variant/variant.h new file mode 100644 index 0000000..9983bc1 --- /dev/null +++ b/rushs/tinyprintf/variant/variant.h @@ -0,0 +1,35 @@ +#ifndef VARIANT_H +#define VARIANT_H + +#include +#include + +enum type +{ + TYPE_INT, + TYPE_FLOAT, + TYPE_CHAR, + TYPE_STRING +}; + +union type_any +{ + int int_v; + float float_v; + char char_v; + const char *str_v; +}; + +struct variant +{ + enum type type; + union type_any value; +}; + +void variant_display(const struct variant *e); +bool variant_equal(const struct variant *left, const struct variant *right); +int variant_find(const struct variant *array, size_t len, enum type type, + union type_any value); +float variant_sum(const struct variant *array, size_t len); + +#endif /* !VARIANT_H */ -- cgit v1.2.3