# Path: num2words/lang_EN.py
# class Num2Word_EN(lang_EU.Num2Word_EU):
#     def set_high_numwords(self, high):
#         max = 3 + 3 * len(high)
#         for word, n in zip(high, range(max, 3, -3)):
#             self.cards[10 ** n] = word + "illion"
# 
#     def setup(self):
#         super(Num2Word_EN, self).setup()
# 
#         self.negword = "minus "
#         self.pointword = "point"
#         self.exclude_title = ["and", "point", "minus"]
# 
#         self.mid_numwords = [(1000, "thousand"), (100, "hundred"),
#                              (90, "ninety"), (80, "eighty"), (70, "seventy"),
#                              (60, "sixty"), (50, "fifty"), (40, "forty"),
#                              (30, "thirty")]
#         self.low_numwords = ["twenty", "nineteen", "eighteen", "seventeen",
#                              "sixteen", "fifteen", "fourteen", "thirteen",
#                              "twelve", "eleven", "ten", "nine", "eight",
#                              "seven", "six", "five", "four", "three", "two",
#                              "one", "zero"]
#         self.ords = {"one": "first",
#                      "two": "second",
#                      "three": "third",
#                      "four": "fourth",
#                      "five": "fifth",
#                      "six": "sixth",
#                      "seven": "seventh",
#                      "eight": "eighth",
#                      "nine": "ninth",
#                      "ten": "tenth",
#                      "eleven": "eleventh",
#                      "twelve": "twelfth"}
# 
#     def merge(self, lpair, rpair):
#         ltext, lnum = lpair
#         rtext, rnum = rpair
#         if lnum == 1 and rnum < 100:
#             return (rtext, rnum)
#         elif 100 > lnum > rnum:
#             return ("%s-%s" % (ltext, rtext), lnum + rnum)
#         elif lnum >= 100 > rnum:
#             return ("%s and %s" % (ltext, rtext), lnum + rnum)
#         elif rnum > lnum:
#             return ("%s %s" % (ltext, rtext), lnum * rnum)
#         return ("%s, %s" % (ltext, rtext), lnum + rnum)
# 
#     def to_ordinal(self, value):
#         self.verify_ordinal(value)
#         outwords = self.to_cardinal(value).split(" ")
#         lastwords = outwords[-1].split("-")
#         lastword = lastwords[-1].lower()
#         try:
#             lastword = self.ords[lastword]
#         except KeyError:
#             if lastword[-1] == "y":
#                 lastword = lastword[:-1] + "ie"
#             lastword += "th"
#         lastwords[-1] = self.title(lastword)
#         outwords[-1] = "-".join(lastwords)
#         return " ".join(outwords)
# 
#     def to_ordinal_num(self, value):
#         self.verify_ordinal(value)
#         return "%s%s" % (value, self.to_ordinal(value)[-2:])
# 
#     def to_year(self, val, suffix=None, longval=True):
#         if val < 0:
#             val = abs(val)
#             suffix = 'BC' if not suffix else suffix
#         high, low = (val // 100, val % 100)
#         # If year is 00XX, X00X, or beyond 9999, go cardinal.
#         if (high == 0
#                 or (high % 10 == 0 and low < 10)
#                 or high >= 100):
#             valtext = self.to_cardinal(val)
#         else:
#             hightext = self.to_cardinal(high)
#             if low == 0:
#                 lowtext = "hundred"
#             elif low < 10:
#                 lowtext = "oh-%s" % self.to_cardinal(low)
#             else:
#                 lowtext = self.to_cardinal(low)
#             valtext = "%s %s" % (hightext, lowtext)
#         return (valtext if not suffix
#                 else "%s %s" % (valtext, suffix))


from .lang_EN import Num2Word_EN
# -*- coding: utf-8 -*-
# Copyright (c) 2003, Taro Ogawa.  All Rights Reserved.
# Copyright (c) 2013, Savoir-faire Linux inc.  All Rights Reserved.

# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA

from __future__ import unicode_literals



class Num2Word_EN_IN(Num2Word_EN):
    def set_high_numwords(self, high):
        self.cards[10 ** 7] = "crore"

# Path: num2words/lang_EN.py
# class Num2Word_EN(lang_EU.Num2Word_EU):
#     def set_high_numwords(self, high):
#         max = 3 + 3 * len(high)
#         for word, n in zip(high, range(max, 3, -3)):
#             self.cards[10 ** n] = word + "illion"
# 
#     def setup(self):
#         super(Num2Word_EN, self).setup()
# 
#         self.negword = "minus "
#         self.pointword = "point"
#         self.exclude_title = ["and", "point", "minus"]
# 
#         self.mid_numwords = [(1000, "thousand"), (100, "hundred"),
#                              (90, "ninety"), (80, "eighty"), (70, "seventy"),
#                              (60, "sixty"), (50, "fifty"), (40, "forty"),
#                              (30, "thirty")]
#         self.low_numwords = ["twenty", "nineteen", "eighteen", "seventeen",
#                              "sixteen", "fifteen", "fourteen", "thirteen",
#                              "twelve", "eleven", "ten", "nine", "eight",
#                              "seven", "six", "five", "four", "three", "two",
#                              "one", "zero"]
#         self.ords = {"one": "first",
#                      "two": "second",
#                      "three": "third",
#                      "four": "fourth",
#                      "five": "fifth",
#                      "six": "sixth",
#                      "seven": "seventh",
#                      "eight": "eighth",
#                      "nine": "ninth",
#                      "ten": "tenth",
#                      "eleven": "eleventh",
#                      "twelve": "twelfth"}
# 
#     def merge(self, lpair, rpair):
#         ltext, lnum = lpair
#         rtext, rnum = rpair
#         if lnum == 1 and rnum < 100:
#             return (rtext, rnum)
#         elif 100 > lnum > rnum:
#             return ("%s-%s" % (ltext, rtext), lnum + rnum)
#         elif lnum >= 100 > rnum:
#             return ("%s and %s" % (ltext, rtext), lnum + rnum)
#         elif rnum > lnum:
#             return ("%s %s" % (ltext, rtext), lnum * rnum)
#         return ("%s, %s" % (ltext, rtext), lnum + rnum)
# 
#     def to_ordinal(self, value):
#         self.verify_ordinal(value)
#         outwords = self.to_cardinal(value).split(" ")
#         lastwords = outwords[-1].split("-")
#         lastword = lastwords[-1].lower()
#         try:
#             lastword = self.ords[lastword]
#         except KeyError:
#             if lastword[-1] == "y":
#                 lastword = lastword[:-1] + "ie"
#             lastword += "th"
#         lastwords[-1] = self.title(lastword)
#         outwords[-1] = "-".join(lastwords)
#         return " ".join(outwords)
# 
#     def to_ordinal_num(self, value):
#         self.verify_ordinal(value)
#         return "%s%s" % (value, self.to_ordinal(value)[-2:])
# 
#     def to_year(self, val, suffix=None, longval=True):
#         if val < 0:
#             val = abs(val)
#             suffix = 'BC' if not suffix else suffix
#         high, low = (val // 100, val % 100)
#         # If year is 00XX, X00X, or beyond 9999, go cardinal.
#         if (high == 0
#                 or (high % 10 == 0 and low < 10)
#                 or high >= 100):
#             valtext = self.to_cardinal(val)
#         else:
#             hightext = self.to_cardinal(high)
#             if low == 0:
#                 lowtext = "hundred"
#             elif low < 10:
#                 lowtext = "oh-%s" % self.to_cardinal(low)
#             else:
#                 lowtext = self.to_cardinal(low)
#             valtext = "%s %s" % (hightext, lowtext)
#         return (valtext if not suffix
#                 else "%s %s" % (valtext, suffix))


# Path: num2words/lang_EN_IN.py
from .lang_EN import Num2Word_EN

# -*- coding: utf-8 -*-
# Copyright (c) 2003, Taro Ogawa.  All Rights Reserved.
# Copyright (c) 2013, Savoir-faire Linux inc.  All Rights Reserved.

# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA

from __future__ import unicode_literals



class Num2Word_EN_IN(Num2Word_EN):
    def set_high_numwords(self, high):
        self.cards[10 ** 7] = "crore"

        self.cards[10 ** 5] = "lakh"