File perl-Algorithm-SkipList.spec of Package perl-Algorithm-SkipList
#
# spec file for package perl-Algorithm-SkipList
#
# 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-SkipList
Version: 1.02
Release: 0
%define cpan_name Algorithm-SkipList
Summary: Perl implementation of skip lists
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Algorithm-SkipList/
Source0: http://www.cpan.org/authors/id/R/RR/RRWO/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Module::Build)
BuildRequires: perl(Test::Warn)
BuildRequires: perl(enum) >= 1.016
Requires: perl(enum) >= 1.016
%{perl_requires}
%description
This is an implementation of _skip lists_ in Perl.
Skip lists are similar to linked lists, except that they have random links
at various _levels_ that allow searches to skip over sections of the list,
like so:
4 +---------------------------> +----------------------> +
| | |
3 +------------> +------------> +-------> +-------> +--> +
| | | | | |
2 +-------> +--> +-------> +--> +--> +--> +-------> +--> +
| | | | | | | | |
1 +--> +--> +--> +--> +--> +--> +--> +--> +--> +--> +--> +
A B C D E F G H I J NIL
A search would start at the top level: if the link to the right exceeds the
target key, then it descends a level.
Skip lists generally perform as well as balanced trees for searching but do
not have the overhead with respect to inserting new items. See the included
file 'Benchmark.txt' for a comparison of performance with other Perl
modules.
For more information on skip lists, see the "SEE ALSO" section below.
Only alphanumeric keys are supported "out of the box". To use numeric or
other types of keys, see "Customizing the Node Class" below.
%prep
%setup -q -n %{cpan_name}-%{version}
%build
%{__perl} Build.PL installdirs=vendor
./Build build flags=%{?_smp_mflags}
%check
./Build test
%install
./Build install destdir=%{buildroot} create_packlist=0
%perl_gen_filelist
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes README
%changelog