humanize 0.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,18 +1,46 @@
1
- # Ordinali(z|s)e
1
+ # Humanize
2
2
 
3
- From the creator who brought you the wildly popular [humanize](http://github.com/radar/humanize), comes ordinali(s|z)e!
3
+ Converts numbers to strings.
4
+
5
+ 2 => "two"
6
+ 4 => "four"
7
+ 8 => "eight"
8
+ 15 => "fifteen"
9
+ 16 => "sixteen"
10
+ 23 => "twenty tree"
11
+ 42 => "forty two"
12
+
13
+ All the way up to 156 digit numbers:
4
14
 
5
- # Install
6
15
 
7
- sudo gem install ordinalize
16
+ 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
8
17
 
9
- # Usage
10
-
11
- >> 1.ordinalize
12
- => "first"
18
+ =>
19
+
20
+ nine hundred and ninety nine quinquagintillion, nine hundred and ninety nine novenquadragintillion, nine hundred and ninety nine octoquadragintillion, nine hundred and ninety nine septenquadragintillion, nine hundred and ninety nine sesquadragintillion, nine hundred and ninety nine quinquadragintillion, nine hundred and ninety nine quattuorquadragintillion, nine hundred and ninety nine trequadragintillion, nine hundred and ninety nine duoquadragintillion, nine hundred and ninety nine unquadragintillion, nine hundred and ninety nine quadragintillion, nine hundred and ninety nine novemtrigintillion, nine hundred and ninety nine octotrigintillion, nine hundred and ninety nine septentrigintillion, nine hundred and ninety nine sextrigintillion, nine hundred and ninety nine quintrigintillion, nine hundred and ninety nine quattuortrigintillion, nine hundred and ninety nine trestrigintillion, nine hundred and ninety nine duotrigintillion, nine hundred and ninety nine untrigintillion, nine hundred and ninety nine trigintillion, nine hundred and ninety nine novemvigintillion, nine hundred and ninety nine octovigintillion, nine hundred and ninety nine septenvigintillion, nine hundred and ninety nine sexvigintillion, nine hundred and ninety nine quinvigintillion, nine hundred and ninety nine quattuortillion, nine hundred and ninety nine trevigintillion, nine hundred and ninety nine duovigintillion, nine hundred and ninety nine unvigintillion, nine hundred and ninety nine vigintillion, nine hundred and ninety nine novemdecillion, nine hundred and ninety nine octodecillion, nine hundred and ninety nine septendecillion, nine hundred and ninety nine sexdecillion, nine hundred and ninety nine quindecillion, nine hundred and ninety nine quattuordecillion, nine hundred and ninety nine tredecillion, nine hundred and ninety nine duodecillion, nine hundred and ninety nine undecillion, nine hundred and ninety nine decillion, nine hundred and ninety nine nonillion, nine hundred and ninety nine octillion, nine hundred and ninety nine septillion, nine hundred and ninety nine sextillion, nine hundred and ninety nine quintrillion, nine hundred and ninety nine quadrillion, nine hundred and ninety nine trillion, nine hundred and ninety nine billion, nine hundred and ninety nine million, nine hundred and ninety nine thousand nine hundred and ninety nine
13
21
 
14
- >> 1024.ordinalize
15
- => "one thousand and twenty-fourth"
16
22
 
17
- >> 1.ordinalise
18
- => "first"
23
+ If you are dealing with numbers larger than 156, we accept patches. Word list is sourced from: http://home.hetnet.nl/~vanadovv/BignumbyN.html
24
+
25
+ ## Benchmarks
26
+
27
+ ### Late 2008 Macbook Pro - Ruby 1.8.7p286
28
+
29
+ 1. 0.540000 0.010000 0.550000 ( 0.554433)
30
+ 2. 0.560000 0.010000 0.570000 ( 0.564226)
31
+ 3. 0.560000 0.010000 0.570000 ( 0.581700)
32
+
33
+ ### Late 2008 Macbook Pro - Ruby 1.91p0
34
+
35
+
36
+ 1. 0.360000 0.000000 0.360000 ( 0.370702)
37
+ 2. 0.360000 0.000000 0.360000 ( 0.367845)
38
+ 3. 0.360000 0.000000 0.360000 ( 0.370599)
39
+
40
+ ## Credits
41
+
42
+ * *Original idea*: Brenton Fletcher
43
+ * *Unbastardisation of original idea*: Ryan Bigg
44
+ * *Awesome speed up*: Jack "Chendo" Chen
45
+
46
+
data/Rakefile CHANGED
@@ -8,11 +8,11 @@ begin
8
8
  gem.homepage = "http://github.com/radar/"
9
9
  gem.authors = ["Ryan Bigg"]
10
10
  gem.add_development_dependency "rspec"
11
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
11
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 fo r additional settings
12
12
  end
13
13
  Jeweler::GemcutterTasks.new
14
14
  rescue LoadError
15
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
15
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
16
16
  end
17
17
 
18
18
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 1.1.0
@@ -0,0 +1,12 @@
1
+ require 'lib/humanize'
2
+ # require 'other'
3
+ require 'benchmark'
4
+ require 'tests'
5
+
6
+ Benchmark.benchmark do |x|
7
+ x.report do
8
+ 100.times { TESTS.each do |x, y|
9
+ x.humanize
10
+ end }
11
+ end
12
+ end
@@ -0,0 +1 @@
1
+ SUB_ONE_THOUSAND = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty', 'twenty-one', 'twenty-two', 'twenty-three', 'twenty-four', 'twenty-five', 'twenty-six', 'twenty-seven', 'twenty-eight', 'twenty-nine', 'thirty', 'thirty-one', 'thirty-two', 'thirty-three', 'thirty-four', 'thirty-five', 'thirty-six', 'thirty-seven', 'thirty-eight', 'thirty-nine', 'forty', 'forty-one', 'forty-two', 'forty-three', 'forty-four', 'forty-five', 'forty-six', 'forty-seven', 'forty-eight', 'forty-nine', 'fifty', 'fifty-one', 'fifty-two', 'fifty-three', 'fifty-four', 'fifty-five', 'fifty-six', 'fifty-seven', 'fifty-eight', 'fifty-nine', 'sixty', 'sixty-one', 'sixty-two', 'sixty-three', 'sixty-four', 'sixty-five', 'sixty-six', 'sixty-seven', 'sixty-eight', 'sixty-nine', 'seventy', 'seventy-one', 'seventy-two', 'seventy-three', 'seventy-four', 'seventy-five', 'seventy-six', 'seventy-seven', 'seventy-eight', 'seventy-nine', 'eighty', 'eighty-one', 'eighty-two', 'eighty-three', 'eighty-four', 'eighty-five', 'eighty-six', 'eighty-seven', 'eighty-eight', 'eighty-nine', 'ninety', 'ninety-one', 'ninety-two', 'ninety-three', 'ninety-four', 'ninety-five', 'ninety-six', 'ninety-seven', 'ninety-eight', 'ninety-nine', 'one hundred', 'one hundred and one', 'one hundred and two', 'one hundred and three', 'one hundred and four', 'one hundred and five', 'one hundred and six', 'one hundred and seven', 'one hundred and eight', 'one hundred and nine', 'one hundred and ten', 'one hundred and eleven', 'one hundred and twelve', 'one hundred and thirteen', 'one hundred and fourteen', 'one hundred and fifteen', 'one hundred and sixteen', 'one hundred and seventeen', 'one hundred and eighteen', 'one hundred and nineteen', 'one hundred and twenty', 'one hundred and twenty-one', 'one hundred and twenty-two', 'one hundred and twenty-three', 'one hundred and twenty-four', 'one hundred and twenty-five', 'one hundred and twenty-six', 'one hundred and twenty-seven', 'one hundred and twenty-eight', 'one hundred and twenty-nine', 'one hundred and thirty', 'one hundred and thirty-one', 'one hundred and thirty-two', 'one hundred and thirty-three', 'one hundred and thirty-four', 'one hundred and thirty-five', 'one hundred and thirty-six', 'one hundred and thirty-seven', 'one hundred and thirty-eight', 'one hundred and thirty-nine', 'one hundred and forty', 'one hundred and forty-one', 'one hundred and forty-two', 'one hundred and forty-three', 'one hundred and forty-four', 'one hundred and forty-five', 'one hundred and forty-six', 'one hundred and forty-seven', 'one hundred and forty-eight', 'one hundred and forty-nine', 'one hundred and fifty', 'one hundred and fifty-one', 'one hundred and fifty-two', 'one hundred and fifty-three', 'one hundred and fifty-four', 'one hundred and fifty-five', 'one hundred and fifty-six', 'one hundred and fifty-seven', 'one hundred and fifty-eight', 'one hundred and fifty-nine', 'one hundred and sixty', 'one hundred and sixty-one', 'one hundred and sixty-two', 'one hundred and sixty-three', 'one hundred and sixty-four', 'one hundred and sixty-five', 'one hundred and sixty-six', 'one hundred and sixty-seven', 'one hundred and sixty-eight', 'one hundred and sixty-nine', 'one hundred and seventy', 'one hundred and seventy-one', 'one hundred and seventy-two', 'one hundred and seventy-three', 'one hundred and seventy-four', 'one hundred and seventy-five', 'one hundred and seventy-six', 'one hundred and seventy-seven', 'one hundred and seventy-eight', 'one hundred and seventy-nine', 'one hundred and eighty', 'one hundred and eighty-one', 'one hundred and eighty-two', 'one hundred and eighty-three', 'one hundred and eighty-four', 'one hundred and eighty-five', 'one hundred and eighty-six', 'one hundred and eighty-seven', 'one hundred and eighty-eight', 'one hundred and eighty-nine', 'one hundred and ninety', 'one hundred and ninety-one', 'one hundred and ninety-two', 'one hundred and ninety-three', 'one hundred and ninety-four', 'one hundred and ninety-five', 'one hundred and ninety-six', 'one hundred and ninety-seven', 'one hundred and ninety-eight', 'one hundred and ninety-nine', 'two hundred', 'two hundred and one', 'two hundred and two', 'two hundred and three', 'two hundred and four', 'two hundred and five', 'two hundred and six', 'two hundred and seven', 'two hundred and eight', 'two hundred and nine', 'two hundred and ten', 'two hundred and eleven', 'two hundred and twelve', 'two hundred and thirteen', 'two hundred and fourteen', 'two hundred and fifteen', 'two hundred and sixteen', 'two hundred and seventeen', 'two hundred and eighteen', 'two hundred and nineteen', 'two hundred and twenty', 'two hundred and twenty-one', 'two hundred and twenty-two', 'two hundred and twenty-three', 'two hundred and twenty-four', 'two hundred and twenty-five', 'two hundred and twenty-six', 'two hundred and twenty-seven', 'two hundred and twenty-eight', 'two hundred and twenty-nine', 'two hundred and thirty', 'two hundred and thirty-one', 'two hundred and thirty-two', 'two hundred and thirty-three', 'two hundred and thirty-four', 'two hundred and thirty-five', 'two hundred and thirty-six', 'two hundred and thirty-seven', 'two hundred and thirty-eight', 'two hundred and thirty-nine', 'two hundred and forty', 'two hundred and forty-one', 'two hundred and forty-two', 'two hundred and forty-three', 'two hundred and forty-four', 'two hundred and forty-five', 'two hundred and forty-six', 'two hundred and forty-seven', 'two hundred and forty-eight', 'two hundred and forty-nine', 'two hundred and fifty', 'two hundred and fifty-one', 'two hundred and fifty-two', 'two hundred and fifty-three', 'two hundred and fifty-four', 'two hundred and fifty-five', 'two hundred and fifty-six', 'two hundred and fifty-seven', 'two hundred and fifty-eight', 'two hundred and fifty-nine', 'two hundred and sixty', 'two hundred and sixty-one', 'two hundred and sixty-two', 'two hundred and sixty-three', 'two hundred and sixty-four', 'two hundred and sixty-five', 'two hundred and sixty-six', 'two hundred and sixty-seven', 'two hundred and sixty-eight', 'two hundred and sixty-nine', 'two hundred and seventy', 'two hundred and seventy-one', 'two hundred and seventy-two', 'two hundred and seventy-three', 'two hundred and seventy-four', 'two hundred and seventy-five', 'two hundred and seventy-six', 'two hundred and seventy-seven', 'two hundred and seventy-eight', 'two hundred and seventy-nine', 'two hundred and eighty', 'two hundred and eighty-one', 'two hundred and eighty-two', 'two hundred and eighty-three', 'two hundred and eighty-four', 'two hundred and eighty-five', 'two hundred and eighty-six', 'two hundred and eighty-seven', 'two hundred and eighty-eight', 'two hundred and eighty-nine', 'two hundred and ninety', 'two hundred and ninety-one', 'two hundred and ninety-two', 'two hundred and ninety-three', 'two hundred and ninety-four', 'two hundred and ninety-five', 'two hundred and ninety-six', 'two hundred and ninety-seven', 'two hundred and ninety-eight', 'two hundred and ninety-nine', 'three hundred', 'three hundred and one', 'three hundred and two', 'three hundred and three', 'three hundred and four', 'three hundred and five', 'three hundred and six', 'three hundred and seven', 'three hundred and eight', 'three hundred and nine', 'three hundred and ten', 'three hundred and eleven', 'three hundred and twelve', 'three hundred and thirteen', 'three hundred and fourteen', 'three hundred and fifteen', 'three hundred and sixteen', 'three hundred and seventeen', 'three hundred and eighteen', 'three hundred and nineteen', 'three hundred and twenty', 'three hundred and twenty-one', 'three hundred and twenty-two', 'three hundred and twenty-three', 'three hundred and twenty-four', 'three hundred and twenty-five', 'three hundred and twenty-six', 'three hundred and twenty-seven', 'three hundred and twenty-eight', 'three hundred and twenty-nine', 'three hundred and thirty', 'three hundred and thirty-one', 'three hundred and thirty-two', 'three hundred and thirty-three', 'three hundred and thirty-four', 'three hundred and thirty-five', 'three hundred and thirty-six', 'three hundred and thirty-seven', 'three hundred and thirty-eight', 'three hundred and thirty-nine', 'three hundred and forty', 'three hundred and forty-one', 'three hundred and forty-two', 'three hundred and forty-three', 'three hundred and forty-four', 'three hundred and forty-five', 'three hundred and forty-six', 'three hundred and forty-seven', 'three hundred and forty-eight', 'three hundred and forty-nine', 'three hundred and fifty', 'three hundred and fifty-one', 'three hundred and fifty-two', 'three hundred and fifty-three', 'three hundred and fifty-four', 'three hundred and fifty-five', 'three hundred and fifty-six', 'three hundred and fifty-seven', 'three hundred and fifty-eight', 'three hundred and fifty-nine', 'three hundred and sixty', 'three hundred and sixty-one', 'three hundred and sixty-two', 'three hundred and sixty-three', 'three hundred and sixty-four', 'three hundred and sixty-five', 'three hundred and sixty-six', 'three hundred and sixty-seven', 'three hundred and sixty-eight', 'three hundred and sixty-nine', 'three hundred and seventy', 'three hundred and seventy-one', 'three hundred and seventy-two', 'three hundred and seventy-three', 'three hundred and seventy-four', 'three hundred and seventy-five', 'three hundred and seventy-six', 'three hundred and seventy-seven', 'three hundred and seventy-eight', 'three hundred and seventy-nine', 'three hundred and eighty', 'three hundred and eighty-one', 'three hundred and eighty-two', 'three hundred and eighty-three', 'three hundred and eighty-four', 'three hundred and eighty-five', 'three hundred and eighty-six', 'three hundred and eighty-seven', 'three hundred and eighty-eight', 'three hundred and eighty-nine', 'three hundred and ninety', 'three hundred and ninety-one', 'three hundred and ninety-two', 'three hundred and ninety-three', 'three hundred and ninety-four', 'three hundred and ninety-five', 'three hundred and ninety-six', 'three hundred and ninety-seven', 'three hundred and ninety-eight', 'three hundred and ninety-nine', 'four hundred', 'four hundred and one', 'four hundred and two', 'four hundred and three', 'four hundred and four', 'four hundred and five', 'four hundred and six', 'four hundred and seven', 'four hundred and eight', 'four hundred and nine', 'four hundred and ten', 'four hundred and eleven', 'four hundred and twelve', 'four hundred and thirteen', 'four hundred and fourteen', 'four hundred and fifteen', 'four hundred and sixteen', 'four hundred and seventeen', 'four hundred and eighteen', 'four hundred and nineteen', 'four hundred and twenty', 'four hundred and twenty-one', 'four hundred and twenty-two', 'four hundred and twenty-three', 'four hundred and twenty-four', 'four hundred and twenty-five', 'four hundred and twenty-six', 'four hundred and twenty-seven', 'four hundred and twenty-eight', 'four hundred and twenty-nine', 'four hundred and thirty', 'four hundred and thirty-one', 'four hundred and thirty-two', 'four hundred and thirty-three', 'four hundred and thirty-four', 'four hundred and thirty-five', 'four hundred and thirty-six', 'four hundred and thirty-seven', 'four hundred and thirty-eight', 'four hundred and thirty-nine', 'four hundred and forty', 'four hundred and forty-one', 'four hundred and forty-two', 'four hundred and forty-three', 'four hundred and forty-four', 'four hundred and forty-five', 'four hundred and forty-six', 'four hundred and forty-seven', 'four hundred and forty-eight', 'four hundred and forty-nine', 'four hundred and fifty', 'four hundred and fifty-one', 'four hundred and fifty-two', 'four hundred and fifty-three', 'four hundred and fifty-four', 'four hundred and fifty-five', 'four hundred and fifty-six', 'four hundred and fifty-seven', 'four hundred and fifty-eight', 'four hundred and fifty-nine', 'four hundred and sixty', 'four hundred and sixty-one', 'four hundred and sixty-two', 'four hundred and sixty-three', 'four hundred and sixty-four', 'four hundred and sixty-five', 'four hundred and sixty-six', 'four hundred and sixty-seven', 'four hundred and sixty-eight', 'four hundred and sixty-nine', 'four hundred and seventy', 'four hundred and seventy-one', 'four hundred and seventy-two', 'four hundred and seventy-three', 'four hundred and seventy-four', 'four hundred and seventy-five', 'four hundred and seventy-six', 'four hundred and seventy-seven', 'four hundred and seventy-eight', 'four hundred and seventy-nine', 'four hundred and eighty', 'four hundred and eighty-one', 'four hundred and eighty-two', 'four hundred and eighty-three', 'four hundred and eighty-four', 'four hundred and eighty-five', 'four hundred and eighty-six', 'four hundred and eighty-seven', 'four hundred and eighty-eight', 'four hundred and eighty-nine', 'four hundred and ninety', 'four hundred and ninety-one', 'four hundred and ninety-two', 'four hundred and ninety-three', 'four hundred and ninety-four', 'four hundred and ninety-five', 'four hundred and ninety-six', 'four hundred and ninety-seven', 'four hundred and ninety-eight', 'four hundred and ninety-nine', 'five hundred', 'five hundred and one', 'five hundred and two', 'five hundred and three', 'five hundred and four', 'five hundred and five', 'five hundred and six', 'five hundred and seven', 'five hundred and eight', 'five hundred and nine', 'five hundred and ten', 'five hundred and eleven', 'five hundred and twelve', 'five hundred and thirteen', 'five hundred and fourteen', 'five hundred and fifteen', 'five hundred and sixteen', 'five hundred and seventeen', 'five hundred and eighteen', 'five hundred and nineteen', 'five hundred and twenty', 'five hundred and twenty-one', 'five hundred and twenty-two', 'five hundred and twenty-three', 'five hundred and twenty-four', 'five hundred and twenty-five', 'five hundred and twenty-six', 'five hundred and twenty-seven', 'five hundred and twenty-eight', 'five hundred and twenty-nine', 'five hundred and thirty', 'five hundred and thirty-one', 'five hundred and thirty-two', 'five hundred and thirty-three', 'five hundred and thirty-four', 'five hundred and thirty-five', 'five hundred and thirty-six', 'five hundred and thirty-seven', 'five hundred and thirty-eight', 'five hundred and thirty-nine', 'five hundred and forty', 'five hundred and forty-one', 'five hundred and forty-two', 'five hundred and forty-three', 'five hundred and forty-four', 'five hundred and forty-five', 'five hundred and forty-six', 'five hundred and forty-seven', 'five hundred and forty-eight', 'five hundred and forty-nine', 'five hundred and fifty', 'five hundred and fifty-one', 'five hundred and fifty-two', 'five hundred and fifty-three', 'five hundred and fifty-four', 'five hundred and fifty-five', 'five hundred and fifty-six', 'five hundred and fifty-seven', 'five hundred and fifty-eight', 'five hundred and fifty-nine', 'five hundred and sixty', 'five hundred and sixty-one', 'five hundred and sixty-two', 'five hundred and sixty-three', 'five hundred and sixty-four', 'five hundred and sixty-five', 'five hundred and sixty-six', 'five hundred and sixty-seven', 'five hundred and sixty-eight', 'five hundred and sixty-nine', 'five hundred and seventy', 'five hundred and seventy-one', 'five hundred and seventy-two', 'five hundred and seventy-three', 'five hundred and seventy-four', 'five hundred and seventy-five', 'five hundred and seventy-six', 'five hundred and seventy-seven', 'five hundred and seventy-eight', 'five hundred and seventy-nine', 'five hundred and eighty', 'five hundred and eighty-one', 'five hundred and eighty-two', 'five hundred and eighty-three', 'five hundred and eighty-four', 'five hundred and eighty-five', 'five hundred and eighty-six', 'five hundred and eighty-seven', 'five hundred and eighty-eight', 'five hundred and eighty-nine', 'five hundred and ninety', 'five hundred and ninety-one', 'five hundred and ninety-two', 'five hundred and ninety-three', 'five hundred and ninety-four', 'five hundred and ninety-five', 'five hundred and ninety-six', 'five hundred and ninety-seven', 'five hundred and ninety-eight', 'five hundred and ninety-nine', 'six hundred', 'six hundred and one', 'six hundred and two', 'six hundred and three', 'six hundred and four', 'six hundred and five', 'six hundred and six', 'six hundred and seven', 'six hundred and eight', 'six hundred and nine', 'six hundred and ten', 'six hundred and eleven', 'six hundred and twelve', 'six hundred and thirteen', 'six hundred and fourteen', 'six hundred and fifteen', 'six hundred and sixteen', 'six hundred and seventeen', 'six hundred and eighteen', 'six hundred and nineteen', 'six hundred and twenty', 'six hundred and twenty-one', 'six hundred and twenty-two', 'six hundred and twenty-three', 'six hundred and twenty-four', 'six hundred and twenty-five', 'six hundred and twenty-six', 'six hundred and twenty-seven', 'six hundred and twenty-eight', 'six hundred and twenty-nine', 'six hundred and thirty', 'six hundred and thirty-one', 'six hundred and thirty-two', 'six hundred and thirty-three', 'six hundred and thirty-four', 'six hundred and thirty-five', 'six hundred and thirty-six', 'six hundred and thirty-seven', 'six hundred and thirty-eight', 'six hundred and thirty-nine', 'six hundred and forty', 'six hundred and forty-one', 'six hundred and forty-two', 'six hundred and forty-three', 'six hundred and forty-four', 'six hundred and forty-five', 'six hundred and forty-six', 'six hundred and forty-seven', 'six hundred and forty-eight', 'six hundred and forty-nine', 'six hundred and fifty', 'six hundred and fifty-one', 'six hundred and fifty-two', 'six hundred and fifty-three', 'six hundred and fifty-four', 'six hundred and fifty-five', 'six hundred and fifty-six', 'six hundred and fifty-seven', 'six hundred and fifty-eight', 'six hundred and fifty-nine', 'six hundred and sixty', 'six hundred and sixty-one', 'six hundred and sixty-two', 'six hundred and sixty-three', 'six hundred and sixty-four', 'six hundred and sixty-five', 'six hundred and sixty-six', 'six hundred and sixty-seven', 'six hundred and sixty-eight', 'six hundred and sixty-nine', 'six hundred and seventy', 'six hundred and seventy-one', 'six hundred and seventy-two', 'six hundred and seventy-three', 'six hundred and seventy-four', 'six hundred and seventy-five', 'six hundred and seventy-six', 'six hundred and seventy-seven', 'six hundred and seventy-eight', 'six hundred and seventy-nine', 'six hundred and eighty', 'six hundred and eighty-one', 'six hundred and eighty-two', 'six hundred and eighty-three', 'six hundred and eighty-four', 'six hundred and eighty-five', 'six hundred and eighty-six', 'six hundred and eighty-seven', 'six hundred and eighty-eight', 'six hundred and eighty-nine', 'six hundred and ninety', 'six hundred and ninety-one', 'six hundred and ninety-two', 'six hundred and ninety-three', 'six hundred and ninety-four', 'six hundred and ninety-five', 'six hundred and ninety-six', 'six hundred and ninety-seven', 'six hundred and ninety-eight', 'six hundred and ninety-nine', 'seven hundred', 'seven hundred and one', 'seven hundred and two', 'seven hundred and three', 'seven hundred and four', 'seven hundred and five', 'seven hundred and six', 'seven hundred and seven', 'seven hundred and eight', 'seven hundred and nine', 'seven hundred and ten', 'seven hundred and eleven', 'seven hundred and twelve', 'seven hundred and thirteen', 'seven hundred and fourteen', 'seven hundred and fifteen', 'seven hundred and sixteen', 'seven hundred and seventeen', 'seven hundred and eighteen', 'seven hundred and nineteen', 'seven hundred and twenty', 'seven hundred and twenty-one', 'seven hundred and twenty-two', 'seven hundred and twenty-three', 'seven hundred and twenty-four', 'seven hundred and twenty-five', 'seven hundred and twenty-six', 'seven hundred and twenty-seven', 'seven hundred and twenty-eight', 'seven hundred and twenty-nine', 'seven hundred and thirty', 'seven hundred and thirty-one', 'seven hundred and thirty-two', 'seven hundred and thirty-three', 'seven hundred and thirty-four', 'seven hundred and thirty-five', 'seven hundred and thirty-six', 'seven hundred and thirty-seven', 'seven hundred and thirty-eight', 'seven hundred and thirty-nine', 'seven hundred and forty', 'seven hundred and forty-one', 'seven hundred and forty-two', 'seven hundred and forty-three', 'seven hundred and forty-four', 'seven hundred and forty-five', 'seven hundred and forty-six', 'seven hundred and forty-seven', 'seven hundred and forty-eight', 'seven hundred and forty-nine', 'seven hundred and fifty', 'seven hundred and fifty-one', 'seven hundred and fifty-two', 'seven hundred and fifty-three', 'seven hundred and fifty-four', 'seven hundred and fifty-five', 'seven hundred and fifty-six', 'seven hundred and fifty-seven', 'seven hundred and fifty-eight', 'seven hundred and fifty-nine', 'seven hundred and sixty', 'seven hundred and sixty-one', 'seven hundred and sixty-two', 'seven hundred and sixty-three', 'seven hundred and sixty-four', 'seven hundred and sixty-five', 'seven hundred and sixty-six', 'seven hundred and sixty-seven', 'seven hundred and sixty-eight', 'seven hundred and sixty-nine', 'seven hundred and seventy', 'seven hundred and seventy-one', 'seven hundred and seventy-two', 'seven hundred and seventy-three', 'seven hundred and seventy-four', 'seven hundred and seventy-five', 'seven hundred and seventy-six', 'seven hundred and seventy-seven', 'seven hundred and seventy-eight', 'seven hundred and seventy-nine', 'seven hundred and eighty', 'seven hundred and eighty-one', 'seven hundred and eighty-two', 'seven hundred and eighty-three', 'seven hundred and eighty-four', 'seven hundred and eighty-five', 'seven hundred and eighty-six', 'seven hundred and eighty-seven', 'seven hundred and eighty-eight', 'seven hundred and eighty-nine', 'seven hundred and ninety', 'seven hundred and ninety-one', 'seven hundred and ninety-two', 'seven hundred and ninety-three', 'seven hundred and ninety-four', 'seven hundred and ninety-five', 'seven hundred and ninety-six', 'seven hundred and ninety-seven', 'seven hundred and ninety-eight', 'seven hundred and ninety-nine', 'eight hundred', 'eight hundred and one', 'eight hundred and two', 'eight hundred and three', 'eight hundred and four', 'eight hundred and five', 'eight hundred and six', 'eight hundred and seven', 'eight hundred and eight', 'eight hundred and nine', 'eight hundred and ten', 'eight hundred and eleven', 'eight hundred and twelve', 'eight hundred and thirteen', 'eight hundred and fourteen', 'eight hundred and fifteen', 'eight hundred and sixteen', 'eight hundred and seventeen', 'eight hundred and eighteen', 'eight hundred and nineteen', 'eight hundred and twenty', 'eight hundred and twenty-one', 'eight hundred and twenty-two', 'eight hundred and twenty-three', 'eight hundred and twenty-four', 'eight hundred and twenty-five', 'eight hundred and twenty-six', 'eight hundred and twenty-seven', 'eight hundred and twenty-eight', 'eight hundred and twenty-nine', 'eight hundred and thirty', 'eight hundred and thirty-one', 'eight hundred and thirty-two', 'eight hundred and thirty-three', 'eight hundred and thirty-four', 'eight hundred and thirty-five', 'eight hundred and thirty-six', 'eight hundred and thirty-seven', 'eight hundred and thirty-eight', 'eight hundred and thirty-nine', 'eight hundred and forty', 'eight hundred and forty-one', 'eight hundred and forty-two', 'eight hundred and forty-three', 'eight hundred and forty-four', 'eight hundred and forty-five', 'eight hundred and forty-six', 'eight hundred and forty-seven', 'eight hundred and forty-eight', 'eight hundred and forty-nine', 'eight hundred and fifty', 'eight hundred and fifty-one', 'eight hundred and fifty-two', 'eight hundred and fifty-three', 'eight hundred and fifty-four', 'eight hundred and fifty-five', 'eight hundred and fifty-six', 'eight hundred and fifty-seven', 'eight hundred and fifty-eight', 'eight hundred and fifty-nine', 'eight hundred and sixty', 'eight hundred and sixty-one', 'eight hundred and sixty-two', 'eight hundred and sixty-three', 'eight hundred and sixty-four', 'eight hundred and sixty-five', 'eight hundred and sixty-six', 'eight hundred and sixty-seven', 'eight hundred and sixty-eight', 'eight hundred and sixty-nine', 'eight hundred and seventy', 'eight hundred and seventy-one', 'eight hundred and seventy-two', 'eight hundred and seventy-three', 'eight hundred and seventy-four', 'eight hundred and seventy-five', 'eight hundred and seventy-six', 'eight hundred and seventy-seven', 'eight hundred and seventy-eight', 'eight hundred and seventy-nine', 'eight hundred and eighty', 'eight hundred and eighty-one', 'eight hundred and eighty-two', 'eight hundred and eighty-three', 'eight hundred and eighty-four', 'eight hundred and eighty-five', 'eight hundred and eighty-six', 'eight hundred and eighty-seven', 'eight hundred and eighty-eight', 'eight hundred and eighty-nine', 'eight hundred and ninety', 'eight hundred and ninety-one', 'eight hundred and ninety-two', 'eight hundred and ninety-three', 'eight hundred and ninety-four', 'eight hundred and ninety-five', 'eight hundred and ninety-six', 'eight hundred and ninety-seven', 'eight hundred and ninety-eight', 'eight hundred and ninety-nine', 'nine hundred', 'nine hundred and one', 'nine hundred and two', 'nine hundred and three', 'nine hundred and four', 'nine hundred and five', 'nine hundred and six', 'nine hundred and seven', 'nine hundred and eight', 'nine hundred and nine', 'nine hundred and ten', 'nine hundred and eleven', 'nine hundred and twelve', 'nine hundred and thirteen', 'nine hundred and fourteen', 'nine hundred and fifteen', 'nine hundred and sixteen', 'nine hundred and seventeen', 'nine hundred and eighteen', 'nine hundred and nineteen', 'nine hundred and twenty', 'nine hundred and twenty-one', 'nine hundred and twenty-two', 'nine hundred and twenty-three', 'nine hundred and twenty-four', 'nine hundred and twenty-five', 'nine hundred and twenty-six', 'nine hundred and twenty-seven', 'nine hundred and twenty-eight', 'nine hundred and twenty-nine', 'nine hundred and thirty', 'nine hundred and thirty-one', 'nine hundred and thirty-two', 'nine hundred and thirty-three', 'nine hundred and thirty-four', 'nine hundred and thirty-five', 'nine hundred and thirty-six', 'nine hundred and thirty-seven', 'nine hundred and thirty-eight', 'nine hundred and thirty-nine', 'nine hundred and forty', 'nine hundred and forty-one', 'nine hundred and forty-two', 'nine hundred and forty-three', 'nine hundred and forty-four', 'nine hundred and forty-five', 'nine hundred and forty-six', 'nine hundred and forty-seven', 'nine hundred and forty-eight', 'nine hundred and forty-nine', 'nine hundred and fifty', 'nine hundred and fifty-one', 'nine hundred and fifty-two', 'nine hundred and fifty-three', 'nine hundred and fifty-four', 'nine hundred and fifty-five', 'nine hundred and fifty-six', 'nine hundred and fifty-seven', 'nine hundred and fifty-eight', 'nine hundred and fifty-nine', 'nine hundred and sixty', 'nine hundred and sixty-one', 'nine hundred and sixty-two', 'nine hundred and sixty-three', 'nine hundred and sixty-four', 'nine hundred and sixty-five', 'nine hundred and sixty-six', 'nine hundred and sixty-seven', 'nine hundred and sixty-eight', 'nine hundred and sixty-nine', 'nine hundred and seventy', 'nine hundred and seventy-one', 'nine hundred and seventy-two', 'nine hundred and seventy-three', 'nine hundred and seventy-four', 'nine hundred and seventy-five', 'nine hundred and seventy-six', 'nine hundred and seventy-seven', 'nine hundred and seventy-eight', 'nine hundred and seventy-nine', 'nine hundred and eighty', 'nine hundred and eighty-one', 'nine hundred and eighty-two', 'nine hundred and eighty-three', 'nine hundred and eighty-four', 'nine hundred and eighty-five', 'nine hundred and eighty-six', 'nine hundred and eighty-seven', 'nine hundred and eighty-eight', 'nine hundred and eighty-nine', 'nine hundred and ninety', 'nine hundred and ninety-one', 'nine hundred and ninety-two', 'nine hundred and ninety-three', 'nine hundred and ninety-four', 'nine hundred and ninety-five', 'nine hundred and ninety-six', 'nine hundred and ninety-seven', 'nine hundred and ninety-eight', 'nine hundred and ninety-nine']
@@ -0,0 +1,40 @@
1
+ module Humanize
2
+
3
+ # Accommodate for large numbers
4
+ # Big numbers are big: http://wiki.answers.com/Q/What_number_is_after_vigintillion&src=ansTT
5
+ require File.join(File.dirname(__FILE__), 'lots')
6
+ require File.join(File.dirname(__FILE__), 'cache')
7
+
8
+ def humanize
9
+ num = self.to_i
10
+ o = ''
11
+ if num < 0
12
+ o += 'negative '
13
+ num = num.abs
14
+ end
15
+ if num.zero?
16
+ o += 'zero'
17
+ else
18
+ sets = []
19
+ i = 0
20
+ f = false
21
+ while !num.zero?
22
+ num, r = num.divmod(1000)
23
+ sets << LOTS[i] + (!sets.empty? ? (f ? ' and' : ',') : '') if !(r.zero? || i.zero?)
24
+ f = true if i.zero? && r < 100
25
+
26
+ sets << SUB_ONE_THOUSAND[r] if !r.zero?
27
+ i = i.succ
28
+
29
+ end
30
+ o += sets.reverse.join(' ')
31
+ end
32
+
33
+ o += ' point ' + self.to_s.split(/\./, 2).last.scan(/./).map { |n| SUB_ONE_THOUSAND[n.to_i] }.join(' ') if self.class == Float
34
+ o
35
+ end
36
+ end
37
+
38
+ class Numeric
39
+ include Humanize
40
+ end
@@ -0,0 +1 @@
1
+ LOTS = ['', 'thousand', 'million', 'billion', 'trillion', 'quadrillion', 'quintrillion', 'sextillion', 'septillion', 'octillion', 'nonillion', 'decillion', 'undecillion', 'duodecillion', 'tredecillion', 'quattuordecillion', 'quindecillion', 'sexdecillion', 'septendecillion', 'octodecillion', 'novemdecillion', 'vigintillion', 'unvigintillion', 'duovigintillion', 'trevigintillion', 'quattuortillion', 'quinvigintillion', 'sexvigintillion', 'septenvigintillion', 'octovigintillion', 'novemvigintillion', 'trigintillion', 'untrigintillion', 'duotrigintillion', 'trestrigintillion', 'quattuortrigintillion', 'quintrigintillion', 'sextrigintillion', 'septentrigintillion', 'octotrigintillion', 'novemtrigintillion', 'quadragintillion', 'unquadragintillion', 'duoquadragintillion', 'trequadragintillion', 'quattuorquadragintillion', 'quinquadragintillion', 'sesquadragintillion', 'septenquadragintillion', 'octoquadragintillion', 'novenquadragintillion', 'quinquagintillion']
data/prof.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+ require 'ruby-prof'
3
+ require 'lib/humanize'
4
+ RubyProf.start
5
+
6
+ require 'bench'
7
+ result = RubyProf.stop
8
+
9
+ # Print a flat profile to text
10
+ printer = RubyProf::FlatPrinter.new(result)
11
+ printer.print(STDOUT, 0)
@@ -0,0 +1 @@
1
+ * Fix processing of 8.14 and similar numbers.
@@ -0,0 +1,17 @@
1
+ require 'rubygems'
2
+ require 'lib/humanize'
3
+ require 'spec'
4
+ describe "Humanize" do
5
+ require 'tests'
6
+
7
+ TESTS.each do |num, human|
8
+ it "#{num} is #{human}" do
9
+ num.humanize.should eql(human)
10
+ end
11
+ end
12
+
13
+
14
+ end
15
+
16
+
17
+
@@ -0,0 +1,87 @@
1
+ TESTS = [
2
+ [-1, "negative one"],
3
+ [0, "zero"],
4
+ [8.15, "eight point one five"],
5
+ [8, "eight"],
6
+ [11, "eleven"],
7
+ [21, "twenty-one"],
8
+ [100, "one hundred"],
9
+ [101, "one hundred and one"],
10
+ [111, "one hundred and eleven"],
11
+ [121, "one hundred and twenty-one"],
12
+ [1079, "one thousand and seventy-nine"],
13
+ [10079, "ten thousand and seventy-nine"],
14
+ [235409, "two hundred and thirty-five thousand, four hundred and nine"],
15
+ [1007310, "one million, seven thousand, three hundred and ten"],
16
+ [21007310, "twenty-one million, seven thousand, three hundred and ten"],
17
+ [321007310, "three hundred and twenty-one million, seven thousand, three hundred and ten"],
18
+ [4321007310, "four billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
19
+ [14321007310, "fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
20
+ [514321007310, "five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
21
+ [6514321007310, "six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
22
+ [76514321007310, "seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
23
+ [176514321007310, "one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
24
+ [2176514321007310, "two quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
25
+ [12176514321007310, "twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
26
+ [112176514321007310, "one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
27
+ [1112176514321007310, "one quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
28
+ [11112176514321007310, "eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
29
+ [111112176514321007310, "one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
30
+ [1111112176514321007310, "one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
31
+ [21111112176514321007310, "twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
32
+ [221111112176514321007310, "two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
33
+ [3221111112176514321007310, "three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
34
+ [33221111112176514321007310, "thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
35
+ [333221111112176514321007310, "three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
36
+ [4333221111112176514321007310, "four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
37
+ [44333221111112176514321007310, "forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
38
+ [444333221111112176514321007310, "four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
39
+ [5444333221111112176514321007310, "five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
40
+ [55444333221111112176514321007310, "fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
41
+ [555444333221111112176514321007310, "five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
42
+ [6555444333221111112176514321007310, "six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
43
+ [66555444333221111112176514321007310, "sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
44
+ [666555444333221111112176514321007310, "six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
45
+ [7666555444333221111112176514321007310, "seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
46
+ [77666555444333221111112176514321007310, "seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
47
+ [777666555444333221111112176514321007310, "seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
48
+ [9777666555444333221111112176514321007310, "nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
49
+ [99777666555444333221111112176514321007310, "ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
50
+ [999777666555444333221111112176514321007310, "nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
51
+ [1999777666555444333221111112176514321007310, "one tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
52
+ [11999777666555444333221111112176514321007310, "eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
53
+ [111999777666555444333221111112176514321007310, "one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
54
+ [2111999777666555444333221111112176514321007310, "two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
55
+ [22111999777666555444333221111112176514321007310, "twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
56
+ [3222111999777666555444333221111112176514321007310, "three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
57
+ [33222111999777666555444333221111112176514321007310, "thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
58
+ [333222111999777666555444333221111112176514321007310, "three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
59
+ [4333222111999777666555444333221111112176514321007310, "four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
60
+ [44333222111999777666555444333221111112176514321007310, "forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
61
+ [444333222111999777666555444333221111112176514321007310, "four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
62
+ [5444333222111999777666555444333221111112176514321007310, "five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
63
+ [55444333222111999777666555444333221111112176514321007310, "fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
64
+ [555444333222111999777666555444333221111112176514321007310, "five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
65
+ [6555444333222111999777666555444333221111112176514321007310, "six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
66
+ [66555444333222111999777666555444333221111112176514321007310, "sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
67
+ [666555444333222111999777666555444333221111112176514321007310, "six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
68
+ [7666555444333222111999777666555444333221111112176514321007310, "seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
69
+ [77666555444333222111999777666555444333221111112176514321007310, "seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
70
+ [777666555444333222111999777666555444333221111112176514321007310, "seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
71
+ [9777666555444333222111999777666555444333221111112176514321007310, "nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
72
+ [99777666555444333222111999777666555444333221111112176514321007310, "ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
73
+ [999777666555444333222111999777666555444333221111112176514321007310, "nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
74
+ [1999777666555444333222111999777666555444333221111112176514321007310, "one unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
75
+ [11999777666555444333222111999777666555444333221111112176514321007310, "eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
76
+ [111999777666555444333222111999777666555444333221111112176514321007310, "one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
77
+ [2111999777666555444333222111999777666555444333221111112176514321007310, "two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
78
+ [22111999777666555444333222111999777666555444333221111112176514321007310, "twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
79
+ [222111999777666555444333222111999777666555444333221111112176514321007310, "two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
80
+ [3222111999777666555444333222111999777666555444333221111112176514321007310, "three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
81
+ [33222111999777666555444333222111999777666555444333221111112176514321007310, "thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
82
+ [333222111999777666555444333222111999777666555444333221111112176514321007310, "three hundred and thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
83
+ [4333222111999777666555444333222111999777666555444333221111112176514321007310, "four quattuortillion, three hundred and thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
84
+ [44333222111999777666555444333222111999777666555444333221111112176514321007310, "forty-four quattuortillion, three hundred and thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
85
+ [444333222111999777666555444333222111999777666555444333221111112176514321007310, "four hundred and forty-four quattuortillion, three hundred and thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
86
+ [444333222111999777666555444333222111999777666555444333221111112176514321007310444333222111999777666555444333222111999777666555444333221111112176514321007310, "four hundred and forty-four quinquagintillion, three hundred and thirty-three novenquadragintillion, two hundred and twenty-two octoquadragintillion, one hundred and eleven septenquadragintillion, nine hundred and ninety-nine sesquadragintillion, seven hundred and seventy-seven quinquadragintillion, six hundred and sixty-six quattuorquadragintillion, five hundred and fifty-five trequadragintillion, four hundred and forty-four duoquadragintillion, three hundred and thirty-three unquadragintillion, two hundred and twenty-two quadragintillion, one hundred and eleven novemtrigintillion, nine hundred and ninety-nine octotrigintillion, seven hundred and seventy-seven septentrigintillion, six hundred and sixty-six sextrigintillion, five hundred and fifty-five quintrigintillion, four hundred and forty-four quattuortrigintillion, three hundred and thirty-three trestrigintillion, two hundred and twenty-one duotrigintillion, one hundred and eleven untrigintillion, one hundred and twelve trigintillion, one hundred and seventy-six novemvigintillion, five hundred and fourteen octovigintillion, three hundred and twenty-one septenvigintillion, seven sexvigintillion, three hundred and ten quinvigintillion, four hundred and forty-four quattuortillion, three hundred and thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintrillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"]
87
+ ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: humanize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bigg
@@ -31,15 +31,17 @@ extensions: []
31
31
  extra_rdoc_files:
32
32
  - README.markdown
33
33
  files:
34
- - .document
35
- - .gitignore
36
34
  - README.markdown
37
35
  - Rakefile
38
36
  - VERSION
39
- - humanize.gemspec
40
- - lib/ordinalize.rb
41
- - spec/ordinalize_spec.rb
42
- - spec/spec_helper.rb
37
+ - bench.rb
38
+ - lib/cache.rb
39
+ - lib/humanize.rb
40
+ - lib/lots.rb
41
+ - prof.rb
42
+ - spec/TODO
43
+ - spec/humanize_spec.rb
44
+ - tests.rb
43
45
  has_rdoc: true
44
46
  homepage: http://github.com/radar/
45
47
  licenses: []
@@ -69,5 +71,4 @@ signing_key:
69
71
  specification_version: 3
70
72
  summary: Generates long winded string versions of numbers
71
73
  test_files:
72
- - spec/ordinalize_spec.rb
73
- - spec/spec_helper.rb
74
+ - spec/humanize_spec.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- *.sw?
2
- .DS_Store
3
- coverage
4
- rdoc
5
- pkg
@@ -1,51 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{humanize}
8
- s.version = "0.0.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Ryan Bigg"]
12
- s.date = %q{2009-12-26}
13
- s.description = %q{Generates long winded string versions of numbers}
14
- s.email = %q{radarlistener@gmail.com}
15
- s.extra_rdoc_files = [
16
- "README.markdown"
17
- ]
18
- s.files = [
19
- ".document",
20
- ".gitignore",
21
- "README.markdown",
22
- "Rakefile",
23
- "VERSION",
24
- "humanize.gemspec",
25
- "lib/ordinalize.rb",
26
- "spec/ordinalize_spec.rb",
27
- "spec/spec_helper.rb"
28
- ]
29
- s.homepage = %q{http://github.com/radar/}
30
- s.rdoc_options = ["--charset=UTF-8"]
31
- s.require_paths = ["lib"]
32
- s.rubygems_version = %q{1.3.5}
33
- s.summary = %q{Generates long winded string versions of numbers}
34
- s.test_files = [
35
- "spec/ordinalize_spec.rb",
36
- "spec/spec_helper.rb"
37
- ]
38
-
39
- if s.respond_to? :specification_version then
40
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
41
- s.specification_version = 3
42
-
43
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
44
- s.add_development_dependency(%q<rspec>, [">= 0"])
45
- else
46
- s.add_dependency(%q<rspec>, [">= 0"])
47
- end
48
- else
49
- s.add_dependency(%q<rspec>, [">= 0"])
50
- end
51
- end
@@ -1,49 +0,0 @@
1
- begin
2
- require 'rubygems'
3
- rescue LoadError; end
4
- require 'humanize'
5
-
6
- module Ordinalize
7
- def ordinalize
8
- humanized = self.humanize
9
- # 13-19
10
- humanized += "th" if humanized =~ /teen$/
11
-
12
- # 20, 30, 40, etc.
13
- humanized.gsub!(/ty$/, 'tieth')
14
-
15
- output = conversions[humanized] if conversions[humanized]
16
- output ||= split if split != ""
17
- output ||= humanized
18
- end
19
-
20
- alias_method :ordinalise, :ordinalize
21
-
22
- def split
23
- humanized = self.humanize
24
- parts = humanized.split("-")
25
- parts[-1] = conversions[parts.last]
26
- parts.join("-")
27
- end
28
-
29
- def conversions
30
- {
31
- "one" => "first",
32
- "two" => "second",
33
- "three" => "third",
34
- "four" => "fourth",
35
- "five" => "fifth",
36
- "six" => "sixth",
37
- "seven" => "seventh",
38
- "eight" => "eighth",
39
- "nine" => "ninth",
40
- "ten" => "tenth",
41
- "eleven" => "eleventh",
42
- "twelve" => "twelveth",
43
- }
44
- end
45
- end
46
-
47
- class Numeric
48
- include Ordinalize
49
- end
@@ -1,44 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "Ordinalize" do
4
- [
5
- [1, "first"],
6
- [2, "second"],
7
- [3, "third"],
8
- [4, "fourth"],
9
- [5, "fifth"],
10
- [6, "sixth"],
11
- [7, "seventh"],
12
- [8, "eighth"],
13
- [9, "ninth"],
14
- [10, "tenth"],
15
- [11, "eleventh"],
16
- [12, "twelveth"],
17
- [13, "thirteenth"],
18
- [14, "fourteenth"],
19
- [15, "fifteenth"],
20
- [16, "sixteenth"],
21
- [17, "seventeenth"],
22
- [18, "eighteenth"],
23
- [19, "nineteenth"],
24
- [20, "twentieth"],
25
- [21, "twenty-first"],
26
- [22, "twenty-second"],
27
- [23, "twenty-third"],
28
- [24, "twenty-fourth"],
29
- [25, "twenty-fifth"],
30
- [26, "twenty-sixth"],
31
- [27, "twenty-seventh"],
32
- [28, "twenty-eighth"],
33
- [29, "twenty-ninth"],
34
- [1024, "one thousand and twenty-fourth"]
35
- ].each do |num, expected|
36
- it "#{num} should be #{expected}" do
37
- num.ordinalize.should eql(expected)
38
- end
39
- end
40
-
41
- it "alternative spelling" do
42
- 1.ordinalise.should eql("first")
43
- end
44
- end
@@ -1,9 +0,0 @@
1
- $LOAD_PATH.unshift(File.dirname(__FILE__))
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require 'ordinalize'
4
- require 'spec'
5
- require 'spec/autorun'
6
-
7
- Spec::Runner.configure do |config|
8
-
9
- end