Alien-Bit

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        bitsets. It uses "FFI::Platypus" to wrap the C functions and
        "Alien::Bit" to locate and link to the C library.

    Bit::Set::DB <https://metacpan.org/pod/Bit::Set::DB>
        This module provides a procedural Perl interface to the C library
        "Bit", for creating and manipulating containers of bitsets (BitDB).
        It uses "FFI::Platypus" to wrap the C functions and "Alien::Bit" to
        locate and link to the C library. The main purpose of this library
        is to provide multithreaded and hardware accelerated (e.g. GPU)
        versions of container operations e.g. forming the population count
        of the intersection of two containers of bitsets.

    Bit <https://github.com/chrisarg/Bit>
        Bit is a high-performance, uncompressed bitset implementation in C,
        optimized for modern architectures. The library provides an
        efficient way to create, manipulate, and query bitsets with a focus
        on performance and memory alignment. The API and the interface is
        largely based on David Hanson's Bit_T library discussed in Chapter
        13 of "C Interfaces and Implementations", Addison-Wesley ISBN
        0-201-49841-3 extended to incorporate additional operations (such as
        counts on unions/differences/intersections of sets), fast population
        counts using the libpocnt library and GPU operations for packed
        containers of (collections) of Bit(sets).

    libpopcnt <https://github.com/kimwalisch/libpopcnt>
        libpopcnt.h is a header-only C/C++ library for counting the number
        of 1 bits (bit population count) in an array as quickly as possible
        using specialized CPU instructions i.e. POPCNT, AVX2, AVX512, NEON,
        SVE. libpopcnt.h has been tested successfully using the GCC, Clang
        and MSVC compilers.

lib/Alien/Bit.pm  view on Meta::CPAN

for creating and manipulating bitsets. It uses C<FFI::Platypus> to wrap the
C functions and C<Alien::Bit> to locate and link to the C library.

=item L<Bit::Set::DB|https://metacpan.org/pod/Bit::Set::DB>

This module provides a procedural Perl interface to the C library C<Bit>,
for creating and manipulating containers of bitsets (BitDB). It uses
C<FFI::Platypus> to wrap the C functions and C<Alien::Bit> to locate and link
to the C library. The main purpose of this library is to provide multithreaded
and hardware accelerated (e.g. GPU) versions of container operations e.g. forming
the population count of the intersection of two containers of bitsets.

=item L<Bit|https://github.com/chrisarg/Bit>

Bit is a high-performance, uncompressed bitset implementation in C, optimized 
for modern architectures. The library provides an efficient way to create, 
manipulate, and query bitsets with a focus on performance and memory alignment. 
The API and the interface is largely based on David Hanson's Bit_T library 
discussed in Chapter 13 of "C Interfaces and Implementations", 
Addison-Wesley ISBN 0-201-49841-3 extended to incorporate additional operations 
(such as counts on unions/differences/intersections of sets), 
fast population counts using the libpocnt library and GPU operations for packed 
containers of (collections) of Bit(sets).

=item L<libpopcnt|https://github.com/kimwalisch/libpopcnt>

libpopcnt.h is a header-only C/C++ library for counting the number of 1 bits 
(bit population count) in an array as quickly as possible using specialized 
CPU instructions i.e. POPCNT, AVX2, AVX512, NEON, SVE. libpopcnt.h has been 
tested successfully using the GCC, Clang and MSVC compilers.

t/00-report-prereqs.t  view on Meta::CPAN

}
else {
    $cpan_meta_error = $@;    # capture error from CPAN::Meta->load_file($source)
    $source = 'static metadata';
}

my @full_reports;
my @dep_errors;
my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;

# Add static includes into a fake section
for my $mod (@include) {
    $req_hash->{other}{modules}{$mod} = 0;
}

for my $phase ( qw(configure build test runtime develop other) ) {
    next unless $req_hash->{$phase};
    next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});

    for my $type ( qw(requires recommends suggests conflicts modules) ) {
        next unless $req_hash->{$phase}{$type};



( run in 0.806 second using v1.01-cache-2.11-cpan-39bf76dae61 )