Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- ext/bit_twiddle/bit_twiddle.c
Overview
Ruby’s good old String.
‘require “bit-twiddle/core_ext”` before trying to use any of the below methods.
Instance Method Summary collapse
-
#popcount ⇒ Integer
Return the number of 1 bits in all the bytes of this
String.
Instance Method Details
#popcount ⇒ Integer
Return the number of 1 bits in all the bytes of this String.
275 276 277 278 279 280 281 282 283 284 285 286 287 288 |
# File 'ext/bit_twiddle/bit_twiddle.c', line 275 static VALUE str_popcount(VALUE str) { uchar *p = (uchar*)RSTRING_PTR(str); long length = RSTRING_LEN(str); long bits = 0; /* This could be made faster by processing 4/8 bytes at a time */ while (length--) bits += __builtin_popcount(*p++); return LONG2FIX(bits); } |