[![Build Status](https://travis-ci.org/lizmat/Bits.svg?branch=master)](https://travis-ci.org/lizmat/Bits) NAME ==== Bits - provide bit related functions SYNOPSIS ======== use Bits; # exports "bit", "bits", "bitcnt" say bit(8, 3); # 1000 -> True say bit(7, 3); # 0111 -> False say bits(8); # 1000 -> (3,).Seq say bits(7); # 0111 -> (0,1,2).Seq say bitcnt(8); # 1000 -> 1 say bitcnt(7); # 0111 -> 3 DESCRIPTION =========== This module exports a number of function to handle bits in unsigned integer values. SUBROUTINES =========== bit --- sub bit(Int:D value, UInt:D bit --> Bool:D) Takes a integer value and a bit number and returns whether that bit is set. bits ---- sub bits(Int:D value --> Seq:D) Takes a integer value and returns a `Seq`uence of the bit numbers that are significant in the value. For negative values, these are the bits that are 0. bitcnt ------ sub bitcnt(Int:D value --> Int:D) Takes a integer value and returns the number of significant bits that are set in the value. For negative values, this is the number of bits that are 0. AUTHOR ====== Elizabeth Mattijsen Source can be located at: https://github.com/lizmat/Bits . Comments and Pull Requests are welcome. COPYRIGHT AND LICENSE ===================== Copyright 2019 Elizabeth Mattijsen This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.