nextPowerOfTwo property

ByteConverter get nextPowerOfTwo

Rounds up to the next power of two.

Useful for buffer allocation and alignment.

Implementation

ByteConverter get nextPowerOfTwo {
  final bytes = _converter.bytes.toInt();
  if (bytes <= 0) return ByteConverter(1);
  if (isPowerOfTwo) return _converter;

  int n = bytes - 1;
  n |= n >> 1;
  n |= n >> 2;
  n |= n >> 4;
  n |= n >> 8;
  n |= n >> 16;
  n |= n >> 32;
  return ByteConverter((n + 1).toDouble());
}