Help language development. Donate to The Perl Foundation

Bits cpan:ELIZABETH last updated on 2019-01-11

Bits-0.0.2/

Build Status

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 Sequence 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 [email protected]

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.