Method: SJCL::BitArray.clamp

Defined in:
lib/sjcl/bit_array.rb

.clamp(arr, len) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/sjcl/bit_array.rb', line 31

def self.clamp(arr, len)
  a = arr.dup
  return a if (a.length * 32) < len
  a = a.slice(0, (len / 32.0).ceil);
  l = a.length;
  len = len & 31;
  if (l > 0 && len > 0)
    a[l-1] = partial(len, a[l-1] & -(0x80000000 >> (len-1)), 1);
  end
  a
end