Joel Koshy created KAFKA-1469: --------------------------------- Summary: 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
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)