Module: BitCounter::JavaImpl

Included in:
BitCounter
Defined in:
lib/bit_counter/jruby.rb

Overview

Note:

not intended for direct use.

module for Java-specific codes of BitCounter.

Instance Method Summary collapse

Instance Method Details

#count_bignum(num) ⇒ Object

Raises:

  • (TypeError)


19
20
21
22
23
# File 'lib/bit_counter/jruby.rb', line 19

def count_bignum(num)
  raise TypeError unless num.is_a?(::Bignum)
  count = num.to_java.bitCount
  num >= 0 ? count : -count
end

#count_fixnum(num) ⇒ Object

Raises:

  • (TypeError)


13
14
15
16
17
# File 'lib/bit_counter/jruby.rb', line 13

def count_fixnum(num)
  raise TypeError unless num.is_a?(::Fixnum)
  count = Java::JavaLang::Long.bitCount(num)
  num >= 0 ? count : count - 64
end