local export = {numbers = {}}

export.additional_number_types = {
	{key = "number_of_musicians" },
}

local numbers = export.numbers

numbers[0] = {
	cardinal = "zero",
	ordinal = "zeroth",
}

numbers[1] = {
	cardinal = "one",
	ordinal = "first",
	frequency = "once",
	multiplier = "single",
	distributive = "singly",
	fractional = "whole",
	number_of_musicians = "solo",
}

numbers[2] = {
	cardinal = "two",
	ordinal = "second",
	frequency = "twice",
	multiplier = {"double", "twofold"},
	distributive = "doubly",
	fractional = "half",
	number_of_musicians = {"duo", "duet", "duplet"},
}

numbers[3] = {
	cardinal = "three",
	ordinal = "third",
	frequency = "thrice",
	multiplier = {"triple", "threefold"},
	distributive = "triply",
    fractional = "third",
    number_of_musicians = {"trio", "triplet"},
}

numbers[4] = {
	cardinal = "four",
	ordinal = "fourth",
	multiplier = "quadruple",
	distributive = "quadruply",
	fractional = {"quarter", "fourth"},
	number_of_musicians = "quartet",
}

numbers[5] = {
	cardinal = "five",
	ordinal = "fifth",
	multiplier = "quintuple",
	distributive = "quintuply",
    fractional = "fifth",
}

numbers[6] = {
	cardinal = "six",
	ordinal = "sixth",
	multiplier = "sextuple",
	distributive = "sextuply",
	fractional = "sixth",
}

numbers[7] = {
	cardinal = "seven",
	ordinal = "seventh",
	multiplier = "septuple",
	distributive = "septuply",
	fractional = "seventh",
}

numbers[8] = {
	cardinal = "eight",
	ordinal = "eighth",
	multiplier = "octuple",
	distributive = "octuply",
	fractional = "eighth",
}

numbers[9] = {
	cardinal = "nine",
	ordinal = "ninth",
	multiplier = "nonuple",
    fractional = "ninth",
}

numbers[10] = {
	cardinal = "ten",
	ordinal = "tenth",
	fractional = "tenth",
}

numbers[11] = {
	cardinal = "eleven",
	ordinal = "eleventh",
}

numbers[12] = {
	cardinal = "twelve",
	ordinal = "twelfth",
}

numbers[13] = {
	cardinal = "thirteen",
	ordinal = "thirteenth",
}

numbers[14] = {
	cardinal = "fourteen",
	ordinal = "fourteenth",
}

numbers[15] = {
	cardinal = "fifteen",
	ordinal = "fifteenth",
}

numbers[16] = {
	cardinal = "sixteen",
	ordinal = "sixteenth",
}

numbers[17] = {
	cardinal = "seventeen",
	ordinal = "seventeenth",
}

numbers[18] = {
	cardinal = "eighteen",
	ordinal = "eighteenth",
}

numbers[19] = {
	cardinal = "nineteen",
	ordinal = "nineteenth",
}

for i, tens_cardinal in ipairs {
	"twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety",
} do
	local tens = (i + 1) * 10
	numbers[tens] = {
		cardinal = tens_cardinal,
		ordinal = tens_cardinal:gsub("y$", "ieth"),
	}
	
	for ones = 1, 9 do
		numbers[tens + ones] = {
			cardinal = tens_cardinal .. "-" .. numbers[ones].cardinal,
			ordinal = tens_cardinal .. "-" .. numbers[ones].ordinal,
		}
	end
end

numbers[100] = {
	cardinal = "hundred",
	ordinal = "hundredth",
}

numbers[101] = {
	cardinal = {"one hundred and one", "one hundred one"},
	ordinal = {"one hundred and first", "one hundred first"},
}
numbers[200] = {
	cardinal = "two hundred",
	ordinal = "two hundredth",
}

numbers[300] = {
	cardinal = "three hundred",
	ordinal = "three hundredth",
}

numbers[400] = {
	cardinal = "four hundred",
	ordinal = "four hundredth",
}

numbers[500] = {
	cardinal = "five hundred",
	ordinal = "five hundredth",
}

numbers[600] = {
	cardinal = "six hundred",
	ordinal = "six hundredth",
}

numbers[700] = {
	cardinal = "seven hundred",
	ordinal = "seven hundredth",
}

numbers[800] = {
	cardinal = "eight hundred",
	ordinal = "eight hundredth",
}

numbers[900] = {
	cardinal = "nine hundred",
	ordinal = "nine hundredth",
}

numbers[1000] = {
	cardinal = "thousand",
	ordinal = "thousandth",
}

numbers[1000000] = {
	cardinal = "million",
	ordinal = "millionth",
}

numbers[1000000000] = {
	cardinal = {"billion", "milliard"},
	ordinal = {"billionth", "milliardth"},
}

return export