File perl-Algorithm-InversionList.spec of Package perl-Algorithm-InversionList

#
# spec file for package perl-Algorithm-InversionList
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           perl-Algorithm-InversionList
Version:        0.03
Release:        0
%define cpan_name Algorithm-InversionList
Summary:        Perl extension for generating an inversion
License:        CHECK(GPL-1.0+ or Artistic-1.0)
Group:          Development/Libraries/Perl
Url:            http://search.cpan.org/dist/Algorithm-InversionList/
Source0:        http://www.cpan.org/authors/id/T/TE/TEODOR/%{cpan_name}-%{version}.tar.gz
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros
%{perl_requires}

%description
Inversion lists are data structures that store a sequence of bits as the
numeric position of each switch between a run of 0 and 1 bits. Thus, the
data "111111100" is encoded as the list of numbers 0, 7 in an inversion
list. This module begins the list with the start of the run of 1's, so if
the first 2 bits in the string are 0, the first entry in the list will be a
2 (where we find the first bit that is 1). The last number will always be
the length of the string, so that we know where to end it.

Inversion lists are very efficient. Because of the way that Perl stores
scalars and lists and the various architectures to which Perl has been
ported, there is no definitive rule as to what's the exact proportion of
bit runs to bitstring length required to make inversion lists efficient.
Generally, if you see long runs of repeated 0 or 1 bits, an inversion list
may be appropriate.

This module stores inversion lists in an offset-based format which has some
nice properties, for instance searching is fast and you can easily do
boolean operations on two inversion lists stored in the offset-based
format.

%prep
%setup -q -n %{cpan_name}-%{version}

%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}

%check
%{__make} test

%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist

%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes README

%changelog
openSUSE Build Service is sponsored by