Groovy
  1. Groovy
  2. GROOVY-5102

Unrelated changes cause BigDecimal division to return Double

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker 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()
          }
      }
      

        Activity

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development