days360 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
 - data/.gitignore +18 -0
 - data/.travis.yml +5 -0
 - data/Gemfile +4 -0
 - data/LICENSE.txt +22 -0
 - data/README.md +55 -0
 - data/Rakefile +11 -0
 - data/days360.gemspec +24 -0
 - data/lib/days360.rb +81 -0
 - data/lib/days360/version.rb +3 -0
 - data/test/data/NASD_reference_DAYS360_US.csv +37 -0
 - data/test/data/README +12 -0
 - data/test/data/calc_DAYS360_EU.csv +37 -0
 - data/test/data/calc_DAYS360_US.csv +37 -0
 - data/test/data/excel_DAYS360_EU.csv +37 -0
 - data/test/data/excel_DAYS360_US.csv +37 -0
 - data/test/days360_test.rb +70 -0
 - data/test/test_helper.rb +42 -0
 - metadata +113 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            !binary "U0hBMQ==":
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: !binary |-
         
     | 
| 
      
 4 
     | 
    
         
            +
                NzMxNTc5ZThiYTliZGYyMjE2NDg3ZjQyYTg4Y2UyNDRhMjBiOTYzZA==
         
     | 
| 
      
 5 
     | 
    
         
            +
              data.tar.gz: !binary |-
         
     | 
| 
      
 6 
     | 
    
         
            +
                YzM2Y2RmZWJiNWNlZGU2OGIzMDY2MGRjNGY1ODQzZmU5OTNjYzZlMQ==
         
     | 
| 
      
 7 
     | 
    
         
            +
            !binary "U0hBNTEy":
         
     | 
| 
      
 8 
     | 
    
         
            +
              metadata.gz: !binary |-
         
     | 
| 
      
 9 
     | 
    
         
            +
                YWJlZjVjYmY2Y2UxMDFhMjI2OGY0MDc5ZmZiMmU0OGE1MDM5NmE2MDQ1Mjdh
         
     | 
| 
      
 10 
     | 
    
         
            +
                Mjk1ZTk5MjEwNDU3N2FkZWY3MTQ0ZjhmYWJiYmE5NjQ5Mzk3MjUyYWNkZTIz
         
     | 
| 
      
 11 
     | 
    
         
            +
                NzljNGFiZmUzMDNjNDM2YjM1YTM3NDU0MjFjMWUzZmM3ZjgzZjA=
         
     | 
| 
      
 12 
     | 
    
         
            +
              data.tar.gz: !binary |-
         
     | 
| 
      
 13 
     | 
    
         
            +
                NTYzMTJkYTg5ZTdhYzBlZWMzNDMyNWVmZjYxNDI5NDZkOTY4OWJhZTI3ZDJl
         
     | 
| 
      
 14 
     | 
    
         
            +
                ZmQ1YTUxNmU1ZTJiYTE1NjVmMTQyOWYzZGM1NGQyMzIxZDhhMGFkZTYxM2Zk
         
     | 
| 
      
 15 
     | 
    
         
            +
                MjUxZTc5ZTU0MjUyODZmMmI5NWFiYjgwNWZlMDQ2ZDEwY2E0ZjU=
         
     | 
    
        data/.gitignore
    ADDED
    
    
    
        data/.travis.yml
    ADDED
    
    
    
        data/Gemfile
    ADDED
    
    
    
        data/LICENSE.txt
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Copyright (c) 2013 Michael Prilop
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            MIT License
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining
         
     | 
| 
      
 6 
     | 
    
         
            +
            a copy of this software and associated documentation files (the
         
     | 
| 
      
 7 
     | 
    
         
            +
            "Software"), to deal in the Software without restriction, including
         
     | 
| 
      
 8 
     | 
    
         
            +
            without limitation the rights to use, copy, modify, merge, publish,
         
     | 
| 
      
 9 
     | 
    
         
            +
            distribute, sublicense, and/or sell copies of the Software, and to
         
     | 
| 
      
 10 
     | 
    
         
            +
            permit persons to whom the Software is furnished to do so, subject to
         
     | 
| 
      
 11 
     | 
    
         
            +
            the following conditions:
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be
         
     | 
| 
      
 14 
     | 
    
         
            +
            included in all copies or substantial portions of the Software.
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
         
     | 
| 
      
 17 
     | 
    
         
            +
            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
         
     | 
| 
      
 18 
     | 
    
         
            +
            MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
         
     | 
| 
      
 19 
     | 
    
         
            +
            NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
         
     | 
| 
      
 20 
     | 
    
         
            +
            LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
         
     | 
| 
      
 21 
     | 
    
         
            +
            OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
         
     | 
| 
      
 22 
     | 
    
         
            +
            WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,55 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Days360
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Calculates the difference between two dates based on the 360 day year used in interest calculations
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            [](https://travis-ci.org/tamaloa/days360)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ## Notes on DAY360 calculations
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            Discussion of bug in Calc compared to Excel (including several spreadsheet attachments).
         
     | 
| 
      
 10 
     | 
    
         
            +
            https://issues.apache.org/ooo/show_bug.cgi?id=84934
         
     | 
| 
      
 11 
     | 
    
         
            +
            Documentation explaining how calc/excel differ from NASD method
         
     | 
| 
      
 12 
     | 
    
         
            +
            http://wiki.openoffice.org/wiki/Documentation/How_Tos/Calc:_Date_%26_Time_functions#Financial_date_systems
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            Page explaining different calculation methods and laws (in german)
         
     | 
| 
      
 15 
     | 
    
         
            +
            http://zinsmethoden.de/
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            ISDA Page containing several documents related to interest calculation (including one document showing different 30/360 30E/360 variants)
         
     | 
| 
      
 18 
     | 
    
         
            +
            http://www.isda.org/c_and_a/trading_practice.html
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            Add this line to your application's Gemfile:
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                gem 'days360'
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            And then execute:
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                $ bundle
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            Or install it yourself as:
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                $ gem install days360
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            ## Usage
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                class MyFinancialCalculation
         
     | 
| 
      
 37 
     | 
    
         
            +
                include Days360
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                def interest_using_US_method(from, till)
         
     | 
| 
      
 40 
     | 
    
         
            +
                  interest_days = days360(from, till)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  #equals
         
     | 
| 
      
 42 
     | 
    
         
            +
                  #interest_days = days360_us(from, till)
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                  interest = balance * interest_rate * (interest_days / 360)
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  interest
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            ## Contributing
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            1. Fork it
         
     | 
| 
      
 52 
     | 
    
         
            +
            2. Create your feature branch (`git checkout -b my-new-feature`)
         
     | 
| 
      
 53 
     | 
    
         
            +
            3. Commit your changes (`git commit -am 'Add some feature'`)
         
     | 
| 
      
 54 
     | 
    
         
            +
            4. Push to the branch (`git push origin my-new-feature`)
         
     | 
| 
      
 55 
     | 
    
         
            +
            5. Create new Pull Request
         
     | 
    
        data/Rakefile
    ADDED
    
    
    
        data/days360.gemspec
    ADDED
    
    | 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # coding: utf-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            lib = File.expand_path('../lib', __FILE__)
         
     | 
| 
      
 3 
     | 
    
         
            +
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'days360/version'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            Gem::Specification.new do |spec|
         
     | 
| 
      
 7 
     | 
    
         
            +
              spec.name          = "days360"
         
     | 
| 
      
 8 
     | 
    
         
            +
              spec.version       = Days360::VERSION
         
     | 
| 
      
 9 
     | 
    
         
            +
              spec.authors       = ["Michael Prilop"]
         
     | 
| 
      
 10 
     | 
    
         
            +
              spec.email         = ["Michael.Prilop@gmail.com"]
         
     | 
| 
      
 11 
     | 
    
         
            +
              spec.description   = %q{Calculates the difference between two dates based on the 360 day year used in interest calculations}
         
     | 
| 
      
 12 
     | 
    
         
            +
              spec.summary       = %q{Calculates the difference between two dates based on the 360 day year used in interest calculations. Several methods for calculation are available.}
         
     | 
| 
      
 13 
     | 
    
         
            +
              spec.homepage      = "https://github.com/tamaloa/days360"
         
     | 
| 
      
 14 
     | 
    
         
            +
              spec.license       = "MIT"
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              spec.files         = `git ls-files`.split($/)
         
     | 
| 
      
 17 
     | 
    
         
            +
              spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
         
     | 
| 
      
 18 
     | 
    
         
            +
              spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
      
 19 
     | 
    
         
            +
              spec.require_paths = ["lib"]
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              spec.add_development_dependency "bundler", "~> 1.3"
         
     | 
| 
      
 22 
     | 
    
         
            +
              spec.add_development_dependency "rake"
         
     | 
| 
      
 23 
     | 
    
         
            +
              spec.add_development_dependency "test-unit"
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/days360.rb
    ADDED
    
    | 
         @@ -0,0 +1,81 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "days360/version"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'date'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Days360
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                def Days360.included cls
         
     | 
| 
      
 7 
     | 
    
         
            +
                  cls.extend Days360
         
     | 
| 
      
 8 
     | 
    
         
            +
                end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                def days360(date_a, date_b, method = :US)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  return days360_US(date_a, date_b) if method.eql?(:US)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  return days360_US_NASD(date_a, date_b) if method.eql?(:US_NASD)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  return days360_EU(date_a, date_b) if method.eql?(:EU)
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                ##
         
     | 
| 
      
 18 
     | 
    
         
            +
                # This method uses the the US/NASD Method (30US/360) to calculate the days between two dates
         
     | 
| 
      
 19 
     | 
    
         
            +
                #
         
     | 
| 
      
 20 
     | 
    
         
            +
                # NOTE: to use the reference calculation method 'preserve_excel_compatibility' must be set to false
         
     | 
| 
      
 21 
     | 
    
         
            +
                # The default is to preserve compatibility. This means results are comparable to those obtained with
         
     | 
| 
      
 22 
     | 
    
         
            +
                #  Excel or Calc. This is a bug in Microsoft Office which is preserved for reasons of backward compatibility. Open Office Calc also
         
     | 
| 
      
 23 
     | 
    
         
            +
                # choose to "implement" this bug to be MS-Excel compatible [1].
         
     | 
| 
      
 24 
     | 
    
         
            +
                #
         
     | 
| 
      
 25 
     | 
    
         
            +
                # [1] http://wiki.openoffice.org/wiki/Documentation/How_Tos/Calc:_Date_%26_Time_functions#Financial_date_systems
         
     | 
| 
      
 26 
     | 
    
         
            +
                #
         
     | 
| 
      
 27 
     | 
    
         
            +
                # Implementation as given by http://en.wikipedia.org/w/index.php?title=360-day_calendar&oldid=546566236
         
     | 
| 
      
 28 
     | 
    
         
            +
                #
         
     | 
| 
      
 29 
     | 
    
         
            +
                def days360_US(date_a, date_b, preserve_excel_compatibility = true)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  day_a = date_a.day
         
     | 
| 
      
 31 
     | 
    
         
            +
                  day_b = date_b.day
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  # Step 1 must be skipped to preserve Excel compatibility
         
     | 
| 
      
 34 
     | 
    
         
            +
                  # (1) If both date A and B fall on the last day of February, then date B will be changed to the 30th.
         
     | 
| 
      
 35 
     | 
    
         
            +
                  day_b = 30 if last_day_of_february?(date_a) and last_day_of_february?(date_b) and not preserve_excel_compatibility
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                  # (2) If date A falls on the 31st of a month or last day of February, then date A will be changed to the 30th.
         
     | 
| 
      
 38 
     | 
    
         
            +
                  day_a = 30 if day_a.eql?(31) or last_day_of_february?(date_a)
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                  # (3) If date A falls on the 30th of a month after applying (2) above and date B falls on the 31st of a month, then date B will be changed to the 30th.
         
     | 
| 
      
 41 
     | 
    
         
            +
                  day_b = 30 if day_a.eql?(30) and day_b.eql?(31)
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                  days = (date_b.year - date_a.year)*360 + (date_b.month - date_a.month)*30 + (day_b - day_a)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  return days
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                def days360_US_NASD(date_a, date_b)
         
     | 
| 
      
 49 
     | 
    
         
            +
                  days360_US(date_a, date_b, false)
         
     | 
| 
      
 50 
     | 
    
         
            +
                end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                ##
         
     | 
| 
      
 53 
     | 
    
         
            +
                # This method uses the the European method (30E/360) to calculate the days between two dates
         
     | 
| 
      
 54 
     | 
    
         
            +
                #
         
     | 
| 
      
 55 
     | 
    
         
            +
                # Implementation as given by http://en.wikipedia.org/w/index.php?title=360-day_calendar&oldid=546566236
         
     | 
| 
      
 56 
     | 
    
         
            +
                #
         
     | 
| 
      
 57 
     | 
    
         
            +
                def days360_EU(date_a, date_b)
         
     | 
| 
      
 58 
     | 
    
         
            +
                  day_a = date_a.day
         
     | 
| 
      
 59 
     | 
    
         
            +
                  day_b = date_b.day
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                  #If either date A or B falls on the 31st of the month, that date will be changed to the 30th;
         
     | 
| 
      
 63 
     | 
    
         
            +
                  day_a = 30 if day_a.eql?(31)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  day_b = 30 if day_b.eql?(31)
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                  #Where date B falls on the last day of February, the actual date B will be used.
         
     | 
| 
      
 67 
     | 
    
         
            +
                  #This rule is actually only a note and does not change the calculation.
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
                  days = (date_b.year - date_a.year)*360 + (date_b.month - date_a.month)*30 + (day_b - day_a)
         
     | 
| 
      
 70 
     | 
    
         
            +
                  return days
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                private
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
                def last_day_of_february?(date)
         
     | 
| 
      
 77 
     | 
    
         
            +
                  last_february_day_in_given_year = Date.new(date.year, 2, -1)
         
     | 
| 
      
 78 
     | 
    
         
            +
                  date.eql?(last_february_day_in_given_year)
         
     | 
| 
      
 79 
     | 
    
         
            +
                end
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ,2007-01-01,2007-01-28,2007-01-29,2007-01-30,2007-01-31,2007-01-30,2007-02-28,2007-03-29,2007-03-30,2007-03-31,2007-04-29,2007-04-30,2007-05-29,2007-05-30,2007-05-31,2007-06-29,2007-06-30,2007-07-29,2007-07-30,2007-07-31,2007-08-29,2007-08-30,2007-08-31,2007-09-29,2007-09-30,2007-10-29,2007-10-30,2007-10-31,2007-11-29,2007-11-30,2007-12-29,2007-12-30,2007-12-31,2008-02-28,2008-02-29,2008-03-01
         
     | 
| 
      
 2 
     | 
    
         
            +
            2007-01-01,0,27,28,29,30,29,57,88,89,90,118,119,148,149,150,178,179,208,209,210,238,239,240,268,269,298,299,300,328,329,358,359,360,417,418,420
         
     | 
| 
      
 3 
     | 
    
         
            +
            2007-01-28,-27,0,1,2,3,2,30,61,62,63,91,92,121,122,123,151,152,181,182,183,211,212,213,241,242,271,272,273,301,302,331,332,333,390,391,393
         
     | 
| 
      
 4 
     | 
    
         
            +
            2007-01-29,-28,-1,0,1,2,1,29,60,61,62,90,91,120,121,122,150,151,180,181,182,210,211,212,240,241,270,271,272,300,301,330,331,332,389,390,392
         
     | 
| 
      
 5 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 6 
     | 
    
         
            +
            2007-01-31,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 7 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 8 
     | 
    
         
            +
            2007-02-28,-59,-32,-31,-30,-30,-30,0,29,30,30,59,60,89,90,90,119,120,149,150,150,179,180,180,209,210,239,240,240,269,270,299,300,300,358,360,361
         
     | 
| 
      
 9 
     | 
    
         
            +
            2007-03-29,-88,-61,-60,-59,-58,-59,-31,0,1,2,30,31,60,61,62,90,91,120,121,122,150,151,152,180,181,210,211,212,240,241,270,271,272,329,330,332
         
     | 
| 
      
 10 
     | 
    
         
            +
            2007-03-30,-89,-62,-61,-60,-60,-60,-32,-1,0,0,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 11 
     | 
    
         
            +
            2007-03-31,-89,-62,-61,-60,-60,-60,-32,-1,0,0,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 12 
     | 
    
         
            +
            2007-04-29,-118,-91,-90,-89,-88,-89,-61,-30,-29,-28,0,1,30,31,32,60,61,90,91,92,120,121,122,150,151,180,181,182,210,211,240,241,242,299,300,302
         
     | 
| 
      
 13 
     | 
    
         
            +
            2007-04-30,-119,-92,-91,-90,-90,-90,-62,-31,-30,-30,-1,0,29,30,30,59,60,89,90,90,119,120,120,149,150,179,180,180,209,210,239,240,240,298,299,301
         
     | 
| 
      
 14 
     | 
    
         
            +
            2007-05-29,-148,-121,-120,-119,-118,-119,-91,-60,-59,-58,-30,-29,0,1,2,30,31,60,61,62,90,91,92,120,121,150,151,152,180,181,210,211,212,269,270,272
         
     | 
| 
      
 15 
     | 
    
         
            +
            2007-05-30,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 16 
     | 
    
         
            +
            2007-05-31,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 17 
     | 
    
         
            +
            2007-06-29,-178,-151,-150,-149,-148,-149,-121,-90,-89,-88,-60,-59,-30,-29,-28,0,1,30,31,32,60,61,62,90,91,120,121,122,150,151,180,181,182,239,240,242
         
     | 
| 
      
 18 
     | 
    
         
            +
            2007-06-30,-179,-152,-151,-150,-150,-150,-122,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,29,30,30,59,60,60,89,90,119,120,120,149,150,179,180,180,238,239,241
         
     | 
| 
      
 19 
     | 
    
         
            +
            2007-07-29,-208,-181,-180,-179,-178,-179,-151,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,0,1,2,30,31,32,60,61,90,91,92,120,121,150,151,152,209,210,212
         
     | 
| 
      
 20 
     | 
    
         
            +
            2007-07-30,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 21 
     | 
    
         
            +
            2007-07-31,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 22 
     | 
    
         
            +
            2007-08-29,-238,-211,-210,-209,-208,-209,-181,-150,-149,-148,-120,-119,-90,-89,-88,-60,-59,-30,-29,-28,0,1,2,30,31,60,61,62,90,91,120,121,122,179,180,182
         
     | 
| 
      
 23 
     | 
    
         
            +
            2007-08-30,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,0,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 24 
     | 
    
         
            +
            2007-08-31,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,0,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 25 
     | 
    
         
            +
            2007-09-29,-268,-241,-240,-239,-238,-239,-211,-180,-179,-178,-150,-149,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,-28,0,1,30,31,32,60,61,90,91,92,149,150,152
         
     | 
| 
      
 26 
     | 
    
         
            +
            2007-09-30,-269,-242,-241,-240,-240,-240,-212,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-30,-1,0,29,30,30,59,60,89,90,90,148,149,151
         
     | 
| 
      
 27 
     | 
    
         
            +
            2007-10-29,-298,-271,-270,-269,-268,-269,-241,-210,-209,-208,-180,-179,-150,-149,-148,-120,-119,-90,-89,-88,-60,-59,-58,-30,-29,0,1,2,30,31,60,61,62,119,120,122
         
     | 
| 
      
 28 
     | 
    
         
            +
            2007-10-30,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,118,119,121
         
     | 
| 
      
 29 
     | 
    
         
            +
            2007-10-31,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,118,119,121
         
     | 
| 
      
 30 
     | 
    
         
            +
            2007-11-29,-328,-301,-300,-299,-298,-299,-271,-240,-239,-238,-210,-209,-180,-179,-178,-150,-149,-120,-119,-118,-90,-89,-88,-60,-59,-30,-29,-28,0,1,30,31,32,89,90,92
         
     | 
| 
      
 31 
     | 
    
         
            +
            2007-11-30,-329,-302,-301,-300,-300,-300,-272,-241,-240,-240,-211,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,29,30,30,88,89,91
         
     | 
| 
      
 32 
     | 
    
         
            +
            2007-12-29,-358,-331,-330,-329,-328,-329,-301,-270,-269,-268,-240,-239,-210,-209,-208,-180,-179,-150,-149,-148,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,0,1,2,59,60,62
         
     | 
| 
      
 33 
     | 
    
         
            +
            2007-12-30,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,58,59,61
         
     | 
| 
      
 34 
     | 
    
         
            +
            2007-12-31,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,58,59,61
         
     | 
| 
      
 35 
     | 
    
         
            +
            2008-02-28,-417,-390,-389,-388,-387,-388,-360,-329,-328,-327,-299,-298,-269,-268,-267,-239,-238,-209,-208,-207,-179,-178,-177,-149,-148,-119,-118,-117,-89,-88,-59,-58,-57,0,1,3
         
     | 
| 
      
 36 
     | 
    
         
            +
            2008-02-29,-419,-392,-391,-390,-390,-390,-360,-331,-330,-330,-301,-300,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-2,0,1
         
     | 
| 
      
 37 
     | 
    
         
            +
            2008-03-01,-420,-393,-392,-391,-390,-391,-363,-332,-331,-330,-302,-301,-272,-271,-270,-242,-241,-212,-211,-210,-182,-181,-180,-152,-151,-122,-121,-120,-92,-91,-62,-61,-60,-3,-2,0
         
     | 
    
        data/test/data/README
    ADDED
    
    | 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            This directory contains test data to verify compliance against common office suits.
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Bot MsOffice and OpenOffice / LibreOffice have a days360 method. In both cases the method takes an optional third
         
     | 
| 
      
 4 
     | 
    
         
            +
            parameter and thus uses either the US method or the EU method.
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            calc_DAYS360*.csv sheets were generated using LibreOffice Calc 3.5.7.2 
         
     | 
| 
      
 7 
     | 
    
         
            +
            excel_DAYS360*.csv sheets were generated using Microsoft Office Excel 2010 (version 14.0)
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            The test data is an 36x36 test vector of dates which is taken from
         
     | 
| 
      
 10 
     | 
    
         
            +
            https://issues.apache.org/ooo/show_bug.cgi?id=84934 (credits to terrye) but was freshly generate with more up to date
         
     | 
| 
      
 11 
     | 
    
         
            +
            office suites (and thus do not contain the bug mentioned in before issue).
         
     | 
| 
      
 12 
     | 
    
         
            +
             
         
     | 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ,2007-01-01,2007-01-28,2007-01-29,2007-01-30,2007-01-31,2007-01-30,2007-02-28,2007-03-29,2007-03-30,2007-03-31,2007-04-29,2007-04-30,2007-05-29,2007-05-30,2007-05-31,2007-06-29,2007-06-30,2007-07-29,2007-07-30,2007-07-31,2007-08-29,2007-08-30,2007-08-31,2007-09-29,2007-09-30,2007-10-29,2007-10-30,2007-10-31,2007-11-29,2007-11-30,2007-12-29,2007-12-30,2007-12-31,2008-02-28,2008-02-29,2008-03-01
         
     | 
| 
      
 2 
     | 
    
         
            +
            2007-01-01,0,27,28,29,29,29,57,88,89,89,118,119,148,149,149,178,179,208,209,209,238,239,239,268,269,298,299,299,328,329,358,359,359,417,418,420
         
     | 
| 
      
 3 
     | 
    
         
            +
            2007-01-28,-27,0,1,2,2,2,30,61,62,62,91,92,121,122,122,151,152,181,182,182,211,212,212,241,242,271,272,272,301,302,331,332,332,390,391,393
         
     | 
| 
      
 4 
     | 
    
         
            +
            2007-01-29,-28,-1,0,1,1,1,29,60,61,61,90,91,120,121,121,150,151,180,181,181,210,211,211,240,241,270,271,271,300,301,330,331,331,389,390,392
         
     | 
| 
      
 5 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 6 
     | 
    
         
            +
            2007-01-31,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 7 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 8 
     | 
    
         
            +
            2007-02-28,-57,-30,-29,-28,-28,-28,0,31,32,32,61,62,91,92,92,121,122,151,152,152,181,182,182,211,212,241,242,242,271,272,301,302,302,360,361,363
         
     | 
| 
      
 9 
     | 
    
         
            +
            2007-03-29,-88,-61,-60,-59,-59,-59,-31,0,1,1,30,31,60,61,61,90,91,120,121,121,150,151,151,180,181,210,211,211,240,241,270,271,271,329,330,332
         
     | 
| 
      
 10 
     | 
    
         
            +
            2007-03-30,-89,-62,-61,-60,-60,-60,-32,-1,0,0,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 11 
     | 
    
         
            +
            2007-03-31,-89,-62,-61,-60,-60,-60,-32,-1,0,0,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 12 
     | 
    
         
            +
            2007-04-29,-118,-91,-90,-89,-89,-89,-61,-30,-29,-29,0,1,30,31,31,60,61,90,91,91,120,121,121,150,151,180,181,181,210,211,240,241,241,299,300,302
         
     | 
| 
      
 13 
     | 
    
         
            +
            2007-04-30,-119,-92,-91,-90,-90,-90,-62,-31,-30,-30,-1,0,29,30,30,59,60,89,90,90,119,120,120,149,150,179,180,180,209,210,239,240,240,298,299,301
         
     | 
| 
      
 14 
     | 
    
         
            +
            2007-05-29,-148,-121,-120,-119,-119,-119,-91,-60,-59,-59,-30,-29,0,1,1,30,31,60,61,61,90,91,91,120,121,150,151,151,180,181,210,211,211,269,270,272
         
     | 
| 
      
 15 
     | 
    
         
            +
            2007-05-30,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 16 
     | 
    
         
            +
            2007-05-31,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 17 
     | 
    
         
            +
            2007-06-29,-178,-151,-150,-149,-149,-149,-121,-90,-89,-89,-60,-59,-30,-29,-29,0,1,30,31,31,60,61,61,90,91,120,121,121,150,151,180,181,181,239,240,242
         
     | 
| 
      
 18 
     | 
    
         
            +
            2007-06-30,-179,-152,-151,-150,-150,-150,-122,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,29,30,30,59,60,60,89,90,119,120,120,149,150,179,180,180,238,239,241
         
     | 
| 
      
 19 
     | 
    
         
            +
            2007-07-29,-208,-181,-180,-179,-179,-179,-151,-120,-119,-119,-90,-89,-60,-59,-59,-30,-29,0,1,1,30,31,31,60,61,90,91,91,120,121,150,151,151,209,210,212
         
     | 
| 
      
 20 
     | 
    
         
            +
            2007-07-30,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 21 
     | 
    
         
            +
            2007-07-31,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 22 
     | 
    
         
            +
            2007-08-29,-238,-211,-210,-209,-209,-209,-181,-150,-149,-149,-120,-119,-90,-89,-89,-60,-59,-30,-29,-29,0,1,1,30,31,60,61,61,90,91,120,121,121,179,180,182
         
     | 
| 
      
 23 
     | 
    
         
            +
            2007-08-30,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,0,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 24 
     | 
    
         
            +
            2007-08-31,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,0,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 25 
     | 
    
         
            +
            2007-09-29,-268,-241,-240,-239,-239,-239,-211,-180,-179,-179,-150,-149,-120,-119,-119,-90,-89,-60,-59,-59,-30,-29,-29,0,1,30,31,31,60,61,90,91,91,149,150,152
         
     | 
| 
      
 26 
     | 
    
         
            +
            2007-09-30,-269,-242,-241,-240,-240,-240,-212,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-30,-1,0,29,30,30,59,60,89,90,90,148,149,151
         
     | 
| 
      
 27 
     | 
    
         
            +
            2007-10-29,-298,-271,-270,-269,-269,-269,-241,-210,-209,-209,-180,-179,-150,-149,-149,-120,-119,-90,-89,-89,-60,-59,-59,-30,-29,0,1,1,30,31,60,61,61,119,120,122
         
     | 
| 
      
 28 
     | 
    
         
            +
            2007-10-30,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,118,119,121
         
     | 
| 
      
 29 
     | 
    
         
            +
            2007-10-31,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,118,119,121
         
     | 
| 
      
 30 
     | 
    
         
            +
            2007-11-29,-328,-301,-300,-299,-299,-299,-271,-240,-239,-239,-210,-209,-180,-179,-179,-150,-149,-120,-119,-119,-90,-89,-89,-60,-59,-30,-29,-29,0,1,30,31,31,89,90,92
         
     | 
| 
      
 31 
     | 
    
         
            +
            2007-11-30,-329,-302,-301,-300,-300,-300,-272,-241,-240,-240,-211,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,29,30,30,88,89,91
         
     | 
| 
      
 32 
     | 
    
         
            +
            2007-12-29,-358,-331,-330,-329,-329,-329,-301,-270,-269,-269,-240,-239,-210,-209,-209,-180,-179,-150,-149,-149,-120,-119,-119,-90,-89,-60,-59,-59,-30,-29,0,1,1,59,60,62
         
     | 
| 
      
 33 
     | 
    
         
            +
            2007-12-30,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,58,59,61
         
     | 
| 
      
 34 
     | 
    
         
            +
            2007-12-31,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,58,59,61
         
     | 
| 
      
 35 
     | 
    
         
            +
            2008-02-28,-417,-390,-389,-388,-388,-388,-360,-329,-328,-328,-299,-298,-269,-268,-268,-239,-238,-209,-208,-208,-179,-178,-178,-149,-148,-119,-118,-118,-89,-88,-59,-58,-58,0,1,3
         
     | 
| 
      
 36 
     | 
    
         
            +
            2008-02-29,-418,-391,-390,-389,-389,-389,-361,-330,-329,-329,-300,-299,-270,-269,-269,-240,-239,-210,-209,-209,-180,-179,-179,-150,-149,-120,-119,-119,-90,-89,-60,-59,-59,-1,0,2
         
     | 
| 
      
 37 
     | 
    
         
            +
            2008-03-01,-420,-393,-392,-391,-391,-391,-363,-332,-331,-331,-302,-301,-272,-271,-271,-242,-241,-212,-211,-211,-182,-181,-181,-152,-151,-122,-121,-121,-92,-91,-62,-61,-61,-3,-2,0
         
     | 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ,2007-01-01,2007-01-28,2007-01-29,2007-01-30,2007-01-31,2007-01-30,2007-02-28,2007-03-29,2007-03-30,2007-03-31,2007-04-29,2007-04-30,2007-05-29,2007-05-30,2007-05-31,2007-06-29,2007-06-30,2007-07-29,2007-07-30,2007-07-31,2007-08-29,2007-08-30,2007-08-31,2007-09-29,2007-09-30,2007-10-29,2007-10-30,2007-10-31,2007-11-29,2007-11-30,2007-12-29,2007-12-30,2007-12-31,2008-02-28,2008-02-29,2008-03-01
         
     | 
| 
      
 2 
     | 
    
         
            +
            2007-01-01,0,27,28,29,30,29,57,88,89,90,118,119,148,149,150,178,179,208,209,210,238,239,240,268,269,298,299,300,328,329,358,359,360,417,418,420
         
     | 
| 
      
 3 
     | 
    
         
            +
            2007-01-28,-27,0,1,2,3,2,30,61,62,63,91,92,121,122,123,151,152,181,182,183,211,212,213,241,242,271,272,273,301,302,331,332,333,390,391,393
         
     | 
| 
      
 4 
     | 
    
         
            +
            2007-01-29,-28,-1,0,1,2,1,29,60,61,62,90,91,120,121,122,150,151,180,181,182,210,211,212,240,241,270,271,272,300,301,330,331,332,389,390,392
         
     | 
| 
      
 5 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 6 
     | 
    
         
            +
            2007-01-31,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 7 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,0,0,0,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 8 
     | 
    
         
            +
            2007-02-28,-59,-32,-31,-30,-30,-30,-2,29,30,30,59,60,89,90,90,119,120,149,150,150,179,180,180,209,210,239,240,240,269,270,299,300,300,358,359,361
         
     | 
| 
      
 9 
     | 
    
         
            +
            2007-03-29,-88,-61,-60,-59,-58,-59,-31,0,1,2,30,31,60,61,62,90,91,120,121,122,150,151,152,180,181,210,211,212,240,241,270,271,272,329,330,332
         
     | 
| 
      
 10 
     | 
    
         
            +
            2007-03-30,-89,-62,-61,-60,-60,-60,-32,-1,0,0,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 11 
     | 
    
         
            +
            2007-03-31,-89,-62,-61,-60,-60,-60,-32,-1,0,0,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 12 
     | 
    
         
            +
            2007-04-29,-118,-91,-90,-89,-88,-89,-61,-30,-29,-28,0,1,30,31,32,60,61,90,91,92,120,121,122,150,151,180,181,182,210,211,240,241,242,299,300,302
         
     | 
| 
      
 13 
     | 
    
         
            +
            2007-04-30,-119,-92,-91,-90,-90,-90,-62,-31,-30,-30,-1,0,29,30,30,59,60,89,90,90,119,120,120,149,150,179,180,180,209,210,239,240,240,298,299,301
         
     | 
| 
      
 14 
     | 
    
         
            +
            2007-05-29,-148,-121,-120,-119,-118,-119,-91,-60,-59,-58,-30,-29,0,1,2,30,31,60,61,62,90,91,92,120,121,150,151,152,180,181,210,211,212,269,270,272
         
     | 
| 
      
 15 
     | 
    
         
            +
            2007-05-30,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 16 
     | 
    
         
            +
            2007-05-31,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 17 
     | 
    
         
            +
            2007-06-29,-178,-151,-150,-149,-148,-149,-121,-90,-89,-88,-60,-59,-30,-29,-28,0,1,30,31,32,60,61,62,90,91,120,121,122,150,151,180,181,182,239,240,242
         
     | 
| 
      
 18 
     | 
    
         
            +
            2007-06-30,-179,-152,-151,-150,-150,-150,-122,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,29,30,30,59,60,60,89,90,119,120,120,149,150,179,180,180,238,239,241
         
     | 
| 
      
 19 
     | 
    
         
            +
            2007-07-29,-208,-181,-180,-179,-178,-179,-151,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,0,1,2,30,31,32,60,61,90,91,92,120,121,150,151,152,209,210,212
         
     | 
| 
      
 20 
     | 
    
         
            +
            2007-07-30,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 21 
     | 
    
         
            +
            2007-07-31,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 22 
     | 
    
         
            +
            2007-08-29,-238,-211,-210,-209,-208,-209,-181,-150,-149,-148,-120,-119,-90,-89,-88,-60,-59,-30,-29,-28,0,1,2,30,31,60,61,62,90,91,120,121,122,179,180,182
         
     | 
| 
      
 23 
     | 
    
         
            +
            2007-08-30,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,0,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 24 
     | 
    
         
            +
            2007-08-31,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,0,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 25 
     | 
    
         
            +
            2007-09-29,-268,-241,-240,-239,-238,-239,-211,-180,-179,-178,-150,-149,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,-28,0,1,30,31,32,60,61,90,91,92,149,150,152
         
     | 
| 
      
 26 
     | 
    
         
            +
            2007-09-30,-269,-242,-241,-240,-240,-240,-212,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-30,-1,0,29,30,30,59,60,89,90,90,148,149,151
         
     | 
| 
      
 27 
     | 
    
         
            +
            2007-10-29,-298,-271,-270,-269,-268,-269,-241,-210,-209,-208,-180,-179,-150,-149,-148,-120,-119,-90,-89,-88,-60,-59,-58,-30,-29,0,1,2,30,31,60,61,62,119,120,122
         
     | 
| 
      
 28 
     | 
    
         
            +
            2007-10-30,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,118,119,121
         
     | 
| 
      
 29 
     | 
    
         
            +
            2007-10-31,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,0,0,29,30,59,60,60,118,119,121
         
     | 
| 
      
 30 
     | 
    
         
            +
            2007-11-29,-328,-301,-300,-299,-298,-299,-271,-240,-239,-238,-210,-209,-180,-179,-178,-150,-149,-120,-119,-118,-90,-89,-88,-60,-59,-30,-29,-28,0,1,30,31,32,89,90,92
         
     | 
| 
      
 31 
     | 
    
         
            +
            2007-11-30,-329,-302,-301,-300,-300,-300,-272,-241,-240,-240,-211,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,0,29,30,30,88,89,91
         
     | 
| 
      
 32 
     | 
    
         
            +
            2007-12-29,-358,-331,-330,-329,-328,-329,-301,-270,-269,-268,-240,-239,-210,-209,-208,-180,-179,-150,-149,-148,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,0,1,2,59,60,62
         
     | 
| 
      
 33 
     | 
    
         
            +
            2007-12-30,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,58,59,61
         
     | 
| 
      
 34 
     | 
    
         
            +
            2007-12-31,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,0,0,58,59,61
         
     | 
| 
      
 35 
     | 
    
         
            +
            2008-02-28,-417,-390,-389,-388,-387,-388,-360,-329,-328,-327,-299,-298,-269,-268,-267,-239,-238,-209,-208,-207,-179,-178,-177,-149,-148,-119,-118,-117,-89,-88,-59,-58,-57,0,1,3
         
     | 
| 
      
 36 
     | 
    
         
            +
            2008-02-29,-419,-392,-391,-390,-390,-390,-362,-331,-330,-330,-301,-300,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-2,-1,1
         
     | 
| 
      
 37 
     | 
    
         
            +
            2008-03-01,-420,-393,-392,-391,-390,-391,-363,-332,-331,-330,-302,-301,-272,-271,-270,-242,-241,-212,-211,-210,-182,-181,-180,-152,-151,-122,-121,-120,-92,-91,-62,-61,-60,-3,-2,0
         
     | 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ,2007-01-01,2007-01-28,2007-01-29,2007-01-30,2007-01-31,2007-01-30,2007-02-28,2007-03-29,2007-03-30,2007-03-31,2007-04-29,2007-04-30,2007-05-29,2007-05-30,2007-05-31,2007-06-29,2007-06-30,2007-07-29,2007-07-30,2007-07-31,2007-08-29,2007-08-30,2007-08-31,2007-09-29,2007-09-30,2007-10-29,2007-10-30,2007-10-31,2007-11-29,2007-11-30,2007-12-29,2007-12-30,2007-12-31,2008-02-28,2008-02-29,2008-03-01
         
     | 
| 
      
 2 
     | 
    
         
            +
            2007-01-01,,27,28,29,29,29,57,88,89,89,118,119,148,149,149,178,179,208,209,209,238,239,239,268,269,298,299,299,328,329,358,359,359,417,418,420
         
     | 
| 
      
 3 
     | 
    
         
            +
            2007-01-28,-27,,1,2,2,2,30,61,62,62,91,92,121,122,122,151,152,181,182,182,211,212,212,241,242,271,272,272,301,302,331,332,332,390,391,393
         
     | 
| 
      
 4 
     | 
    
         
            +
            2007-01-29,-28,-1,,1,1,1,29,60,61,61,90,91,120,121,121,150,151,180,181,181,210,211,211,240,241,270,271,271,300,301,330,331,331,389,390,392
         
     | 
| 
      
 5 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,,,,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 6 
     | 
    
         
            +
            2007-01-31,-29,-2,-1,,,,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 7 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,,,,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 8 
     | 
    
         
            +
            2007-02-28,-57,-30,-29,-28,-28,-28,,31,32,32,61,62,91,92,92,121,122,151,152,152,181,182,182,211,212,241,242,242,271,272,301,302,302,360,361,363
         
     | 
| 
      
 9 
     | 
    
         
            +
            2007-03-29,-88,-61,-60,-59,-59,-59,-31,,1,1,30,31,60,61,61,90,91,120,121,121,150,151,151,180,181,210,211,211,240,241,270,271,271,329,330,332
         
     | 
| 
      
 10 
     | 
    
         
            +
            2007-03-30,-89,-62,-61,-60,-60,-60,-32,-1,,,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 11 
     | 
    
         
            +
            2007-03-31,-89,-62,-61,-60,-60,-60,-32,-1,,,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 12 
     | 
    
         
            +
            2007-04-29,-118,-91,-90,-89,-89,-89,-61,-30,-29,-29,,1,30,31,31,60,61,90,91,91,120,121,121,150,151,180,181,181,210,211,240,241,241,299,300,302
         
     | 
| 
      
 13 
     | 
    
         
            +
            2007-04-30,-119,-92,-91,-90,-90,-90,-62,-31,-30,-30,-1,,29,30,30,59,60,89,90,90,119,120,120,149,150,179,180,180,209,210,239,240,240,298,299,301
         
     | 
| 
      
 14 
     | 
    
         
            +
            2007-05-29,-148,-121,-120,-119,-119,-119,-91,-60,-59,-59,-30,-29,,1,1,30,31,60,61,61,90,91,91,120,121,150,151,151,180,181,210,211,211,269,270,272
         
     | 
| 
      
 15 
     | 
    
         
            +
            2007-05-30,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 16 
     | 
    
         
            +
            2007-05-31,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 17 
     | 
    
         
            +
            2007-06-29,-178,-151,-150,-149,-149,-149,-121,-90,-89,-89,-60,-59,-30,-29,-29,,1,30,31,31,60,61,61,90,91,120,121,121,150,151,180,181,181,239,240,242
         
     | 
| 
      
 18 
     | 
    
         
            +
            2007-06-30,-179,-152,-151,-150,-150,-150,-122,-91,-90,-90,-61,-60,-31,-30,-30,-1,,29,30,30,59,60,60,89,90,119,120,120,149,150,179,180,180,238,239,241
         
     | 
| 
      
 19 
     | 
    
         
            +
            2007-07-29,-208,-181,-180,-179,-179,-179,-151,-120,-119,-119,-90,-89,-60,-59,-59,-30,-29,,1,1,30,31,31,60,61,90,91,91,120,121,150,151,151,209,210,212
         
     | 
| 
      
 20 
     | 
    
         
            +
            2007-07-30,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 21 
     | 
    
         
            +
            2007-07-31,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 22 
     | 
    
         
            +
            2007-08-29,-238,-211,-210,-209,-209,-209,-181,-150,-149,-149,-120,-119,-90,-89,-89,-60,-59,-30,-29,-29,,1,1,30,31,60,61,61,90,91,120,121,121,179,180,182
         
     | 
| 
      
 23 
     | 
    
         
            +
            2007-08-30,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,,,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 24 
     | 
    
         
            +
            2007-08-31,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,,,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 25 
     | 
    
         
            +
            2007-09-29,-268,-241,-240,-239,-239,-239,-211,-180,-179,-179,-150,-149,-120,-119,-119,-90,-89,-60,-59,-59,-30,-29,-29,,1,30,31,31,60,61,90,91,91,149,150,152
         
     | 
| 
      
 26 
     | 
    
         
            +
            2007-09-30,-269,-242,-241,-240,-240,-240,-212,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-30,-1,,29,30,30,59,60,89,90,90,148,149,151
         
     | 
| 
      
 27 
     | 
    
         
            +
            2007-10-29,-298,-271,-270,-269,-269,-269,-241,-210,-209,-209,-180,-179,-150,-149,-149,-120,-119,-90,-89,-89,-60,-59,-59,-30,-29,,1,1,30,31,60,61,61,119,120,122
         
     | 
| 
      
 28 
     | 
    
         
            +
            2007-10-30,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,118,119,121
         
     | 
| 
      
 29 
     | 
    
         
            +
            2007-10-31,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,118,119,121
         
     | 
| 
      
 30 
     | 
    
         
            +
            2007-11-29,-328,-301,-300,-299,-299,-299,-271,-240,-239,-239,-210,-209,-180,-179,-179,-150,-149,-120,-119,-119,-90,-89,-89,-60,-59,-30,-29,-29,,1,30,31,31,89,90,92
         
     | 
| 
      
 31 
     | 
    
         
            +
            2007-11-30,-329,-302,-301,-300,-300,-300,-272,-241,-240,-240,-211,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,,29,30,30,88,89,91
         
     | 
| 
      
 32 
     | 
    
         
            +
            2007-12-29,-358,-331,-330,-329,-329,-329,-301,-270,-269,-269,-240,-239,-210,-209,-209,-180,-179,-150,-149,-149,-120,-119,-119,-90,-89,-60,-59,-59,-30,-29,,1,1,59,60,62
         
     | 
| 
      
 33 
     | 
    
         
            +
            2007-12-30,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,58,59,61
         
     | 
| 
      
 34 
     | 
    
         
            +
            2007-12-31,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,58,59,61
         
     | 
| 
      
 35 
     | 
    
         
            +
            2008-02-28,-417,-390,-389,-388,-388,-388,-360,-329,-328,-328,-299,-298,-269,-268,-268,-239,-238,-209,-208,-208,-179,-178,-178,-149,-148,-119,-118,-118,-89,-88,-59,-58,-58,,1,3
         
     | 
| 
      
 36 
     | 
    
         
            +
            2008-02-29,-418,-391,-390,-389,-389,-389,-361,-330,-329,-329,-300,-299,-270,-269,-269,-240,-239,-210,-209,-209,-180,-179,-179,-150,-149,-120,-119,-119,-90,-89,-60,-59,-59,-1,,2
         
     | 
| 
      
 37 
     | 
    
         
            +
            2008-03-01,-420,-393,-392,-391,-391,-391,-363,-332,-331,-331,-302,-301,-272,-271,-271,-242,-241,-212,-211,-211,-182,-181,-181,-152,-151,-122,-121,-121,-92,-91,-62,-61,-61,-3,-2,
         
     | 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ,2007-01-01,2007-01-28,2007-01-29,2007-01-30,2007-01-31,2007-01-30,2007-02-28,2007-03-29,2007-03-30,2007-03-31,2007-04-29,2007-04-30,2007-05-29,2007-05-30,2007-05-31,2007-06-29,2007-06-30,2007-07-29,2007-07-30,2007-07-31,2007-08-29,2007-08-30,2007-08-31,2007-09-29,2007-09-30,2007-10-29,2007-10-30,2007-10-31,2007-11-29,2007-11-30,2007-12-29,2007-12-30,2007-12-31,2008-02-28,2008-02-29,2008-03-01
         
     | 
| 
      
 2 
     | 
    
         
            +
            2007-01-01,,27,28,29,30,29,57,88,89,90,118,119,148,149,150,178,179,208,209,210,238,239,240,268,269,298,299,300,328,329,358,359,360,417,418,420
         
     | 
| 
      
 3 
     | 
    
         
            +
            2007-01-28,-27,,1,2,3,2,30,61,62,63,91,92,121,122,123,151,152,181,182,183,211,212,213,241,242,271,272,273,301,302,331,332,333,390,391,393
         
     | 
| 
      
 4 
     | 
    
         
            +
            2007-01-29,-28,-1,,1,2,1,29,60,61,62,90,91,120,121,122,150,151,180,181,182,210,211,212,240,241,270,271,272,300,301,330,331,332,389,390,392
         
     | 
| 
      
 5 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,,,,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 6 
     | 
    
         
            +
            2007-01-31,-29,-2,-1,,,,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 7 
     | 
    
         
            +
            2007-01-30,-29,-2,-1,,,,28,59,60,60,89,90,119,120,120,149,150,179,180,180,209,210,210,239,240,269,270,270,299,300,329,330,330,388,389,391
         
     | 
| 
      
 8 
     | 
    
         
            +
            2007-02-28,-59,-32,-31,-30,-30,-30,-2,29,30,30,59,60,89,90,90,119,120,149,150,150,179,180,180,209,210,239,240,240,269,270,299,300,300,358,359,361
         
     | 
| 
      
 9 
     | 
    
         
            +
            2007-03-29,-88,-61,-60,-59,-58,-59,-31,,1,2,30,31,60,61,62,90,91,120,121,122,150,151,152,180,181,210,211,212,240,241,270,271,272,329,330,332
         
     | 
| 
      
 10 
     | 
    
         
            +
            2007-03-30,-89,-62,-61,-60,-60,-60,-32,-1,,,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 11 
     | 
    
         
            +
            2007-03-31,-89,-62,-61,-60,-60,-60,-32,-1,,,29,30,59,60,60,89,90,119,120,120,149,150,150,179,180,209,210,210,239,240,269,270,270,328,329,331
         
     | 
| 
      
 12 
     | 
    
         
            +
            2007-04-29,-118,-91,-90,-89,-88,-89,-61,-30,-29,-28,,1,30,31,32,60,61,90,91,92,120,121,122,150,151,180,181,182,210,211,240,241,242,299,300,302
         
     | 
| 
      
 13 
     | 
    
         
            +
            2007-04-30,-119,-92,-91,-90,-90,-90,-62,-31,-30,-30,-1,,29,30,30,59,60,89,90,90,119,120,120,149,150,179,180,180,209,210,239,240,240,298,299,301
         
     | 
| 
      
 14 
     | 
    
         
            +
            2007-05-29,-148,-121,-120,-119,-118,-119,-91,-60,-59,-58,-30,-29,,1,2,30,31,60,61,62,90,91,92,120,121,150,151,152,180,181,210,211,212,269,270,272
         
     | 
| 
      
 15 
     | 
    
         
            +
            2007-05-30,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 16 
     | 
    
         
            +
            2007-05-31,-149,-122,-121,-120,-120,-120,-92,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,89,90,90,119,120,149,150,150,179,180,209,210,210,268,269,271
         
     | 
| 
      
 17 
     | 
    
         
            +
            2007-06-29,-178,-151,-150,-149,-148,-149,-121,-90,-89,-88,-60,-59,-30,-29,-28,,1,30,31,32,60,61,62,90,91,120,121,122,150,151,180,181,182,239,240,242
         
     | 
| 
      
 18 
     | 
    
         
            +
            2007-06-30,-179,-152,-151,-150,-150,-150,-122,-91,-90,-90,-61,-60,-31,-30,-30,-1,,29,30,30,59,60,60,89,90,119,120,120,149,150,179,180,180,238,239,241
         
     | 
| 
      
 19 
     | 
    
         
            +
            2007-07-29,-208,-181,-180,-179,-178,-179,-151,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,,1,2,30,31,32,60,61,90,91,92,120,121,150,151,152,209,210,212
         
     | 
| 
      
 20 
     | 
    
         
            +
            2007-07-30,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 21 
     | 
    
         
            +
            2007-07-31,-209,-182,-181,-180,-180,-180,-152,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,29,30,30,59,60,89,90,90,119,120,149,150,150,208,209,211
         
     | 
| 
      
 22 
     | 
    
         
            +
            2007-08-29,-238,-211,-210,-209,-208,-209,-181,-150,-149,-148,-120,-119,-90,-89,-88,-60,-59,-30,-29,-28,,1,2,30,31,60,61,62,90,91,120,121,122,179,180,182
         
     | 
| 
      
 23 
     | 
    
         
            +
            2007-08-30,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,,,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 24 
     | 
    
         
            +
            2007-08-31,-239,-212,-211,-210,-210,-210,-182,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,,,29,30,59,60,60,89,90,119,120,120,178,179,181
         
     | 
| 
      
 25 
     | 
    
         
            +
            2007-09-29,-268,-241,-240,-239,-238,-239,-211,-180,-179,-178,-150,-149,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,-28,,1,30,31,32,60,61,90,91,92,149,150,152
         
     | 
| 
      
 26 
     | 
    
         
            +
            2007-09-30,-269,-242,-241,-240,-240,-240,-212,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-30,-1,,29,30,30,59,60,89,90,90,148,149,151
         
     | 
| 
      
 27 
     | 
    
         
            +
            2007-10-29,-298,-271,-270,-269,-268,-269,-241,-210,-209,-208,-180,-179,-150,-149,-148,-120,-119,-90,-89,-88,-60,-59,-58,-30,-29,,1,2,30,31,60,61,62,119,120,122
         
     | 
| 
      
 28 
     | 
    
         
            +
            2007-10-30,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,118,119,121
         
     | 
| 
      
 29 
     | 
    
         
            +
            2007-10-31,-299,-272,-271,-270,-270,-270,-242,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-91,-90,-90,-61,-60,-60,-31,-30,-1,,,29,30,59,60,60,118,119,121
         
     | 
| 
      
 30 
     | 
    
         
            +
            2007-11-29,-328,-301,-300,-299,-298,-299,-271,-240,-239,-238,-210,-209,-180,-179,-178,-150,-149,-120,-119,-118,-90,-89,-88,-60,-59,-30,-29,-28,,1,30,31,32,89,90,92
         
     | 
| 
      
 31 
     | 
    
         
            +
            2007-11-30,-329,-302,-301,-300,-300,-300,-272,-241,-240,-240,-211,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-90,-61,-60,-31,-30,-30,-1,,29,30,30,88,89,91
         
     | 
| 
      
 32 
     | 
    
         
            +
            2007-12-29,-358,-331,-330,-329,-328,-329,-301,-270,-269,-268,-240,-239,-210,-209,-208,-180,-179,-150,-149,-148,-120,-119,-118,-90,-89,-60,-59,-58,-30,-29,,1,2,59,60,62
         
     | 
| 
      
 33 
     | 
    
         
            +
            2007-12-30,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,58,59,61
         
     | 
| 
      
 34 
     | 
    
         
            +
            2007-12-31,-359,-332,-331,-330,-330,-330,-302,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-151,-150,-150,-121,-120,-120,-91,-90,-61,-60,-60,-31,-30,-1,,,58,59,61
         
     | 
| 
      
 35 
     | 
    
         
            +
            2008-02-28,-417,-390,-389,-388,-387,-388,-360,-329,-328,-327,-299,-298,-269,-268,-267,-239,-238,-209,-208,-207,-179,-178,-177,-149,-148,-119,-118,-117,-89,-88,-59,-58,-57,,1,3
         
     | 
| 
      
 36 
     | 
    
         
            +
            2008-02-29,-419,-392,-391,-390,-390,-390,-362,-331,-330,-330,-301,-300,-271,-270,-270,-241,-240,-211,-210,-210,-181,-180,-180,-151,-150,-121,-120,-120,-91,-90,-61,-60,-60,-2,-1,1
         
     | 
| 
      
 37 
     | 
    
         
            +
            2008-03-01,-420,-393,-392,-391,-390,-391,-363,-332,-331,-330,-302,-301,-272,-271,-270,-242,-241,-212,-211,-210,-182,-181,-180,-152,-151,-122,-121,-120,-92,-91,-62,-61,-60,-3,-2,
         
     | 
| 
         @@ -0,0 +1,70 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'date'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            class Days360Test < Test::Unit::TestCase
         
     | 
| 
      
 5 
     | 
    
         
            +
              include Days360
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              test "last_day_of_february should tell if it is the last day of february" do
         
     | 
| 
      
 8 
     | 
    
         
            +
                assert_equal false, send(:last_day_of_february?, Date.parse("20012-01-01"))
         
     | 
| 
      
 9 
     | 
    
         
            +
                assert_equal false, send(:last_day_of_february?, Date.parse("20012-02-10"))
         
     | 
| 
      
 10 
     | 
    
         
            +
                assert_equal false, send(:last_day_of_february?, Date.parse("20012-02-28"))
         
     | 
| 
      
 11 
     | 
    
         
            +
                assert_equal true, send(:last_day_of_february?, Date.parse("20012-02-29"))
         
     | 
| 
      
 12 
     | 
    
         
            +
                assert_equal true, send(:last_day_of_february?, Date.parse("2007-02-28"))
         
     | 
| 
      
 13 
     | 
    
         
            +
                assert_equal false, send(:last_day_of_february?, Date.parse("20012-01-31"))
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              test "some more calculations" do
         
     | 
| 
      
 17 
     | 
    
         
            +
                #From http://zinsmethoden.de/#
         
     | 
| 
      
 18 
     | 
    
         
            +
                date_a = Date.parse('18.11.2003')
         
     | 
| 
      
 19 
     | 
    
         
            +
                date_b = Date.parse('18.03.2004')
         
     | 
| 
      
 20 
     | 
    
         
            +
                assert_equal 120, days360_EU(date_a, date_b), "Deutsche (kaufmaennische) Zinsmethode"
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              test "days360 should calculate the correct number of days" do
         
     | 
| 
      
 24 
     | 
    
         
            +
                assert_equal days360_US(Date.parse('2012-01-23'), Date.parse('2012-12-31')), 338
         
     | 
| 
      
 25 
     | 
    
         
            +
                assert_equal days360_US(Date.parse('2012-03-19'), Date.parse('2012-12-31')), 282
         
     | 
| 
      
 26 
     | 
    
         
            +
                assert_equal days360_US(Date.parse('2012-01-01'), Date.parse('2012-12-31')), 360
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              test "days360_US should give same result as Open Office Calc" do
         
     | 
| 
      
 31 
     | 
    
         
            +
                reference_results = read_csv_file_from_data_dir('calc_DAYS360_US.csv')
         
     | 
| 
      
 32 
     | 
    
         
            +
                result = compare_gem_to_reference(:US, reference_results)
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                assert_equal 36*36, result[:comparisons], "We expect the same number of comparisons as put into the test data"
         
     | 
| 
      
 35 
     | 
    
         
            +
                assert result[:differences].eql?(0), "The method should calculate the same results as given by reference implementations"
         
     | 
| 
      
 36 
     | 
    
         
            +
              end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
              test "days360_US should give same result as Microsoft Office Excel" do
         
     | 
| 
      
 39 
     | 
    
         
            +
                reference_results = read_csv_file_from_data_dir('excel_DAYS360_US.csv')
         
     | 
| 
      
 40 
     | 
    
         
            +
                result = compare_gem_to_reference(:US, reference_results)
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                assert_equal 36*36, result[:comparisons], "We expect the same number of comparisons as put into the test data"
         
     | 
| 
      
 43 
     | 
    
         
            +
                assert result[:differences].eql?(0), "The method should calculate the same results as given by reference implementations"
         
     | 
| 
      
 44 
     | 
    
         
            +
              end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
              test "days360_US without excel compatibility should give same result as NASD reference" do
         
     | 
| 
      
 47 
     | 
    
         
            +
                reference_results = read_csv_file_from_data_dir('NASD_reference_DAYS360_US.csv')
         
     | 
| 
      
 48 
     | 
    
         
            +
                result = compare_gem_to_reference(:US_NASD, reference_results)
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                assert_equal 36*36, result[:comparisons], "We expect the same number of comparisons as put into the test data"
         
     | 
| 
      
 51 
     | 
    
         
            +
                assert result[:differences].eql?(0), "The method should calculate the same results as given by reference implementations"
         
     | 
| 
      
 52 
     | 
    
         
            +
              end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
              test "days360_EU should give same result as Open Office Calc" do
         
     | 
| 
      
 55 
     | 
    
         
            +
                reference_results = read_csv_file_from_data_dir('calc_DAYS360_EU.csv')
         
     | 
| 
      
 56 
     | 
    
         
            +
                result = compare_gem_to_reference(:EU, reference_results)
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                assert_equal 36*36, result[:comparisons], "We expect the same number of comparisons as put into the test data"
         
     | 
| 
      
 59 
     | 
    
         
            +
                assert result[:differences].eql?(0), "The method should calculate the same results as given by reference implementations"
         
     | 
| 
      
 60 
     | 
    
         
            +
              end
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
              test "days360_EU should give same result as Microsoft Office Excel" do
         
     | 
| 
      
 63 
     | 
    
         
            +
                reference_results = read_csv_file_from_data_dir('excel_DAYS360_EU.csv')
         
     | 
| 
      
 64 
     | 
    
         
            +
                result = compare_gem_to_reference(:EU, reference_results)
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                assert_equal 36*36, result[:comparisons], "We expect the same number of comparisons as put into the test data"
         
     | 
| 
      
 67 
     | 
    
         
            +
                assert result[:differences].eql?(0), "The method should calculate the same results as given by reference implementations"
         
     | 
| 
      
 68 
     | 
    
         
            +
              end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            end
         
     | 
    
        data/test/test_helper.rb
    ADDED
    
    | 
         @@ -0,0 +1,42 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test-unit'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'csv'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require File.expand_path('../../lib/days360.rb', __FILE__)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            def read_csv_file_from_data_dir(file)
         
     | 
| 
      
 7 
     | 
    
         
            +
              file = File.expand_path("../data/#{file}", __FILE__)
         
     | 
| 
      
 8 
     | 
    
         
            +
              reference_calculations = CSV.read file
         
     | 
| 
      
 9 
     | 
    
         
            +
              reference_calculations
         
     | 
| 
      
 10 
     | 
    
         
            +
            end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            # The reference result contains a 36x36 date vector and the results calculated by different office suites / methods
         
     | 
| 
      
 13 
     | 
    
         
            +
            # Dates should be ISO-formatted as seen below
         
     | 
| 
      
 14 
     | 
    
         
            +
            #                       | 2007-01-01	| 2007-01-28
         
     | 
| 
      
 15 
     | 
    
         
            +
            # 2007-01-01	| 0                    |	27
         
     | 
| 
      
 16 
     | 
    
         
            +
            # 2007-01-28	| 	-27               |	0
         
     | 
| 
      
 17 
     | 
    
         
            +
            # 2007-01-29	| 	-28	              |	-1
         
     | 
| 
      
 18 
     | 
    
         
            +
            def compare_gem_to_reference(calculation_method, reference_results)
         
     | 
| 
      
 19 
     | 
    
         
            +
              top_dates = reference_results.first.map{|date| Date.parse(date) if date}
         
     | 
| 
      
 20 
     | 
    
         
            +
              left_dates = reference_results.map{|line| Date.parse(line[0]) if line[0]}
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              differences = same_result = 0
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              top_dates.each_with_index do |top_date, top_index|
         
     | 
| 
      
 25 
     | 
    
         
            +
                next if top_index == 0
         
     | 
| 
      
 26 
     | 
    
         
            +
                left_dates.each_with_index do |left_date, left_index|
         
     | 
| 
      
 27 
     | 
    
         
            +
                  next if left_index == 0
         
     | 
| 
      
 28 
     | 
    
         
            +
                  gem_result = days360(left_date, top_date, calculation_method)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  reference_result = reference_results[left_index][top_index].to_i
         
     | 
| 
      
 30 
     | 
    
         
            +
                  equal = reference_result.eql?(gem_result)
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  same_result += 1 if equal
         
     | 
| 
      
 33 
     | 
    
         
            +
                  differences += 1 if not equal
         
     | 
| 
      
 34 
     | 
    
         
            +
                  puts "For DAYS360( #{left_date}, #{top_date} ) the result should be #{reference_result} instead of #{gem_result}." if not equal
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
              p "Compared #{differences + same_result} date combinations to reference results using #{calculation_method} and found #{differences} differences"
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
              return {:comparisons => (differences + same_result), :differences => differences}
         
     | 
| 
      
 42 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,113 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: days360
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.1
         
     | 
| 
      
 5 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 6 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 7 
     | 
    
         
            +
            - Michael Prilop
         
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 9 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 10 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2013-06-05 00:00:00.000000000 Z
         
     | 
| 
      
 12 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 13 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 14 
     | 
    
         
            +
              name: bundler
         
     | 
| 
      
 15 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 16 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 17 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 18 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 19 
     | 
    
         
            +
                    version: '1.3'
         
     | 
| 
      
 20 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 21 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 22 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 23 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 24 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 25 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 26 
     | 
    
         
            +
                    version: '1.3'
         
     | 
| 
      
 27 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 28 
     | 
    
         
            +
              name: rake
         
     | 
| 
      
 29 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 30 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 31 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 34 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 35 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 36 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 37 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 38 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 39 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 41 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 42 
     | 
    
         
            +
              name: test-unit
         
     | 
| 
      
 43 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 44 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 45 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 46 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 47 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 48 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 49 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 50 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 51 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 52 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 53 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 54 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 55 
     | 
    
         
            +
            description: Calculates the difference between two dates based on the 360 day year
         
     | 
| 
      
 56 
     | 
    
         
            +
              used in interest calculations
         
     | 
| 
      
 57 
     | 
    
         
            +
            email:
         
     | 
| 
      
 58 
     | 
    
         
            +
            - Michael.Prilop@gmail.com
         
     | 
| 
      
 59 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 60 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 61 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 62 
     | 
    
         
            +
            files:
         
     | 
| 
      
 63 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
      
 64 
     | 
    
         
            +
            - .travis.yml
         
     | 
| 
      
 65 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
      
 66 
     | 
    
         
            +
            - LICENSE.txt
         
     | 
| 
      
 67 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 68 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
      
 69 
     | 
    
         
            +
            - days360.gemspec
         
     | 
| 
      
 70 
     | 
    
         
            +
            - lib/days360.rb
         
     | 
| 
      
 71 
     | 
    
         
            +
            - lib/days360/version.rb
         
     | 
| 
      
 72 
     | 
    
         
            +
            - test/data/NASD_reference_DAYS360_US.csv
         
     | 
| 
      
 73 
     | 
    
         
            +
            - test/data/README
         
     | 
| 
      
 74 
     | 
    
         
            +
            - test/data/calc_DAYS360_EU.csv
         
     | 
| 
      
 75 
     | 
    
         
            +
            - test/data/calc_DAYS360_US.csv
         
     | 
| 
      
 76 
     | 
    
         
            +
            - test/data/excel_DAYS360_EU.csv
         
     | 
| 
      
 77 
     | 
    
         
            +
            - test/data/excel_DAYS360_US.csv
         
     | 
| 
      
 78 
     | 
    
         
            +
            - test/days360_test.rb
         
     | 
| 
      
 79 
     | 
    
         
            +
            - test/test_helper.rb
         
     | 
| 
      
 80 
     | 
    
         
            +
            homepage: https://github.com/tamaloa/days360
         
     | 
| 
      
 81 
     | 
    
         
            +
            licenses:
         
     | 
| 
      
 82 
     | 
    
         
            +
            - MIT
         
     | 
| 
      
 83 
     | 
    
         
            +
            metadata: {}
         
     | 
| 
      
 84 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 85 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 86 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 87 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 88 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 89 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 90 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 91 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 92 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 93 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 94 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 95 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 96 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 97 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 98 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 99 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 100 
     | 
    
         
            +
            rubygems_version: 2.0.3
         
     | 
| 
      
 101 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 102 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
      
 103 
     | 
    
         
            +
            summary: Calculates the difference between two dates based on the 360 day year used
         
     | 
| 
      
 104 
     | 
    
         
            +
              in interest calculations. Several methods for calculation are available.
         
     | 
| 
      
 105 
     | 
    
         
            +
            test_files:
         
     | 
| 
      
 106 
     | 
    
         
            +
            - test/data/NASD_reference_DAYS360_US.csv
         
     | 
| 
      
 107 
     | 
    
         
            +
            - test/data/README
         
     | 
| 
      
 108 
     | 
    
         
            +
            - test/data/calc_DAYS360_EU.csv
         
     | 
| 
      
 109 
     | 
    
         
            +
            - test/data/calc_DAYS360_US.csv
         
     | 
| 
      
 110 
     | 
    
         
            +
            - test/data/excel_DAYS360_EU.csv
         
     | 
| 
      
 111 
     | 
    
         
            +
            - test/data/excel_DAYS360_US.csv
         
     | 
| 
      
 112 
     | 
    
         
            +
            - test/days360_test.rb
         
     | 
| 
      
 113 
     | 
    
         
            +
            - test/test_helper.rb
         
     |