aboutsummaryrefslogtreecommitdiff
path: root/analyzer/utils/roman.h
diff options
context:
space:
mode:
Diffstat (limited to 'analyzer/utils/roman.h')
-rw-r--r--analyzer/utils/roman.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/analyzer/utils/roman.h b/analyzer/utils/roman.h
new file mode 100644
index 0000000..cebd16e
--- /dev/null
+++ b/analyzer/utils/roman.h
@@ -0,0 +1,29 @@
+// utils/roman.h
+// functions for roman numbers
+
+typedef struct {
+ int num;
+ char *symbol;
+} RomanSymbol;
+
+static const RomanSymbol roman_symbols[] = {
+ {1000, "M"},
+ {900, "CM"},
+ {500, "D"},
+ {400, "CD"},
+ {100, "C"},
+ {90, "XC"},
+ {50, "L"},
+ {40, "XL"},
+ {10, "X"},
+ {9, "IX"},
+ {5, "V"},
+ {4, "IV"},
+ {1, "I"},
+};
+
+// convert a arabic number to roman number
+// params:
+// buffer - buffer to save the roman number to
+// number - arabic number to convert
+extern void to_roman(char *buffer, int number);