You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Neha Narkhede (JIRA)" <ji...@apache.org> on 2014/06/06 19:06:02 UTC

[jira] [Closed] (KAFKA-1469) Util.abs function does not return correct absolute values for negative values

     [ https://issues.apache.org/jira/browse/KAFKA-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Neha Narkhede closed KAFKA-1469.
--------------------------------


> Util.abs function does not return correct absolute values for negative values
> -----------------------------------------------------------------------------
>
>                 Key: KAFKA-1469
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1469
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Joel Koshy
>              Labels: newbie, patch
>         Attachments: KAFKA-1469.patch
>
>
> Reported by Russell Melick. [edit: I don't think this affects correctness of
> the places that use the abs utility since we just need it to return a
> consistent positive value, but we should fix this nonetheless]
> {code}
>      /**
>       * Get the absolute value of the given number. If the number is
>    Int.MinValue return 0.
>       * This is different from java.lang.Math.abs or scala.math.abs in that
>    they return Int.MinValue (!).
>       */
>      def abs(n: Int) = n & 0x7fffffff
> {code}
> For negative integers, it does not return the absolute value.  It does
> appear to do what the comment says for Int.MinValue though.  For example,
> {code}
>    scala> -1 & 0x7fffffff
>    res8: Int = 2147483647
>    scala> -2 & 0x7fffffff
>    res9: Int = 2147483646
>    scala> -2147483647 & 0x7fffffff
>    res11: Int = 1
>    scala> -2147483648 & 0x7fffffff
>    res12: Int = 0
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)