Coverage Summary for Class: Binary (lzwpack.data)

Class Method, % Line, %
Binary$ 100% (3/ 3) 100% (11/ 11)
total 100% (3/ 3) 100% (11/ 11)


1 package lzwpack.data 2  3 import java.lang.{Long => JavaLong} 4  5 object Binary { 6  /** 7  * Returns n rounded up to nearest 2^k - 1, k ∈ {0,1,2...}. 8  */ 9  def bitmask(n: Long): Long = { 10  var v = n 11  v |= v >> 1 12  v |= v >> 2 13  v |= v >> 4 14  v |= v >> 8 15  v |= v >> 16 16  v |= v >> 32 17  v 18  } 19  20  /** 21  * Returns the amount of bits it takes to represent `n` in binary. 22  */ 23  def bitsize(n: Long): Int = if(n == 0) 1 else JavaLong.bitCount(bitmask(n)) 24 }