aboutsummaryrefslogtreecommitdiff
path: root/analyzer/utils/roman.h
blob: 572f866d66f4bd297f6048b6a19e41f2014fbbe3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// utils/roman.h
// functions for roman numbers

typedef struct {
    unsigned 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, unsigned int number);