Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-5102

Unrelated changes cause BigDecimal division to return Double

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.8.3
    • Fix Version/s: 1.8.4, 2.0-beta-1
    • Component/s: bytecode, Compiler
    • Labels:
      None
    • Environment:
      OSX, Linux for sure, perhaps others

      Description

      In Groovy 1.8.3 the first test passes while the second fails. The return type of the second operation (and third, if it were to get to it) becomes a Double.

      The tests both pass in 1.8.2.

      class BigDecimalTest extends GroovyTestCase{
          public void testMath1() {
              assert BigDecimal == (3/2).getClass()
              assert BigDecimal == (7.0/8.0).getClass()
              assert BigDecimal == (new BigDecimal(3.0)/new BigDecimal(2.0)).getClass()
              true
          }
      
          public void testMath2() {
              assert BigDecimal == (3/2).getClass()
              assert BigDecimal == (7.0/8.0).getClass()
              assert BigDecimal == (new BigDecimal(3.0)/new BigDecimal(2.0)).getClass()
          }
      }
      

        Attachments

          Activity

            People

            • Assignee:
              blackdrag Jochen Theodorou
              Reporter:
              sjurgemeyer Shaun Jurgemeyer
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: