Hello community, here is the log from the commit of package perl-Quantum-Superpositions for openSUSE:Factory checked in at 2018-08-27 13:00:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Quantum-Superpositions (Old) and /work/SRC/openSUSE:Factory/.perl-Quantum-Superpositions.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Quantum-Superpositions" Mon Aug 27 13:00:26 2018 rev:19 rq:631709 version:2.03 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Quantum-Superpositions/perl-Quantum-Superpositions.changes 2011-11-21 12:44:53.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Quantum-Superpositions.new/perl-Quantum-Superpositions.changes 2018-08-27 13:00:27.588888878 +0200 @@ -1,0 +2,11 @@ +Mon Jul 9 05:55:28 UTC 2018 - co...@suse.com + +- updated to 2.03 + see /usr/share/doc/packages/perl-Quantum-Superpositions/Changes + + + 2.0.2 Sun Jul 8 15:28:31 CDT 2018 + + - POD, thanks for Florian Schlichting + +------------------------------------------------------------------- Old: ---- Quantum-Superpositions-2.02.tar.gz New: ---- Quantum-Superpositions-2.03.tar.gz cpanspec.yml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Quantum-Superpositions.spec ++++++ --- /var/tmp/diff_new_pack.Y12JZA/_old 2018-08-27 13:00:28.712890104 +0200 +++ /var/tmp/diff_new_pack.Y12JZA/_new 2018-08-27 13:00:28.744890139 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Quantum-Superpositions # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2018 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 @@ -15,63 +15,125 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - Name: perl-Quantum-Superpositions -BuildRequires: perl-Class-Multimethods -BuildRequires: perl-macros -Version: 2.02 -Release: 266 -Requires: perl-Class-Multimethods -AutoReqProv: on -Group: Development/Libraries/Perl +Version: 2.03 +Release: 0 +%define cpan_name Quantum-Superpositions +Summary: QM-like superpositions in Perl License: Artistic-1.0 -Url: http://cpan.org/modules/by-module/Quantum/ -Source0: http://cpan.org/modules/by-module/Quantum/Quantum-Superpositions-%{version}.tar.gz +Group: Development/Libraries/Perl +Url: http://search.cpan.org/dist/Quantum-Superpositions/ +Source0: https://cpan.metacpan.org/authors/id/L/LE/LEMBARK/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml +BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build -Summary: Qm-like superpositions for Perl +BuildRequires: perl +BuildRequires: perl-macros +BuildRequires: perl(Class::Multimethods) +Requires: perl(Class::Multimethods) %{perl_requires} %description -The Quantum::Superpositions module provides a new scalar data -structure: the superposition. In a metaphor drawn from quantum -mechanics, superpositions store a collection of values by overlaying -them in parallel superimposed states within a single scalar variable. +The Quantum::Superpositions module adds two new operators to Perl: 'any' +and 'all'. + +Each of these operators takes a list of values (states) and superimposes +them into a single scalar value (a superposition), which can then be stored +in a standard scalar variable. + +The 'any' and 'all' operators produce two distinct kinds of superposition. +The 'any' operator produces a disjunctive superposition, which may +(notionally) be in any one of its states at any time, according to the +needs of the algorithm that uses it. + +In contrast, the 'all' operator creates a conjunctive superposition, which +is always in every one of its states simultaneously. + +Superpositions are scalar values and hence can participate in arithmetic +and logical operations just like any other type of scalar. However, when an +operation is applied to a superposition, it is applied (notionally) in +parallel to each of the states in that superposition. + +For example, if a superposition of states 1, 2, and 3 is multiplied by 2: + + $result = any(1,2,3) * 2; + +the result is a superposition of states 2, 4, and 6. If that result is then +compared with the value 4: + + if ($result == 4) { print "fore!" } + +then the comparison also returns a superposition: one that is both true and +false (since the equality is true for one of the states of '$result' and +false for the other two). +Of course, a value that is both true and false is of no use in an 'if' +statement, so some mechanism is needed to decide which superimposed boolean +state should take precedence. +This mechanism is provided by the two types of superposition available. A +disjunctive superposition is true if any of its states is true, whereas a +conjunctive superposition is true only if all of its states are true. -Authors: --------- - Damian Conway <dam...@conway.org> +Thus the previous example does print "fore!", since the 'if' condition is +equivalent to: + + if (any(2,4,6) == 4)... + +It suffices that any one of 2, 4, or 6 is equal to 4, so the condition is +true and the 'if' block executes. + +On the other hand, had the control statement been: + + if (all(2,4,6) == 4)... + +the condition would fail, since it is not true that all of 2, 4, and 6 are +equal to 4. + +Operations are also possible between two superpositions: + + if (all(1,2,3)*any(5,6) < 21) + { print "no alcohol"; } + + if (all(1,2,3)*any(5,6) < 18) + { print "no entry"; } + + if (any(1,2,3)*all(5,6) < 18) + { print "under-age" } + +In this example, the string "no alcohol" is printed because the +superposition produced by the multiplication is the Cartesian product of +the respective states of the two operands: 'all(5,6,10,12,15,18)'. Since +all of these resultant states are less that 21, the condition is true. In +contrast, the string "no entry" is not printed, because not all the +product's states are less than 18. + +Note that the type of the first operand determines the type of the result +of an operation. Hence the third string -- "underage" -- is printed, +because multiplying a disjunctive superposition by a conjunctive +superposition produces a result that is disjunctive: +'any(5,6,10,12,15,18)'. The condition of the 'if' statement asks whether +any of these values is less than 18, which is true. %prep -%setup -n Quantum-Superpositions-%{version} +%setup -q -n %{cpan_name}-%{version} +find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644 %build -for f in `find . -type f -exec grep -l /usr/local/bin/perl \{\} \;` ; do - rm -f tmp - sed -e "s:^#!.*/usr/local/bin/perl:#!/usr/bin/perl:g" $f > tmp - mv -f tmp $f -done -perl Makefile.PL -make %{?_smp_mflags} -make test +%{__perl} Makefile.PL INSTALLDIRS=vendor +%{__make} %{?_smp_mflags} + +%check +%{__make} test %install -rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install_vendor +%perl_make_install %perl_process_packlist -chmod 644 Changes $RPM_BUILD_ROOT%{perl_vendorlib}/Quantum/Superpositions.pm - -%clean -rm -rf $RPM_BUILD_ROOT +%perl_gen_filelist -%files -%defattr(-, root, root) -%doc Changes demo -%doc %{_mandir}/man?/* -%{perl_vendorlib}/Quantum -%{perl_vendorarch}/auto/Quantum +%files -f %{name}.files +%defattr(-,root,root,755) +%doc Changes %changelog ++++++ Quantum-Superpositions-2.02.tar.gz -> Quantum-Superpositions-2.03.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Quantum-Superpositions-2.02/Changes new/Quantum-Superpositions-2.03/Changes --- old/Quantum-Superpositions-2.02/Changes 2003-04-23 00:45:51.000000000 +0200 +++ new/Quantum-Superpositions-2.03/Changes 2018-07-08 22:28:53.000000000 +0200 @@ -50,3 +50,7 @@ 2.01 Tue Apr 22 17:45:31 CDT 2003 - Added diskfree to the demos. + +2.0.2 Sun Jul 8 15:28:31 CDT 2018 + +- POD, thanks for Florian Schlichting diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Quantum-Superpositions-2.02/MANIFEST new/Quantum-Superpositions-2.03/MANIFEST --- old/Quantum-Superpositions-2.02/MANIFEST 2003-04-23 00:53:55.000000000 +0200 +++ new/Quantum-Superpositions-2.03/MANIFEST 2018-07-08 22:30:31.000000000 +0200 @@ -10,3 +10,5 @@ demo/demo_Odder.pl demo/demo_Primes.pl demo/diskfree +META.yml Module YAML meta-data (added by MakeMaker) +META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Quantum-Superpositions-2.02/META.json new/Quantum-Superpositions-2.03/META.json --- old/Quantum-Superpositions-2.02/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/Quantum-Superpositions-2.03/META.json 2018-07-08 22:30:31.000000000 +0200 @@ -0,0 +1,44 @@ +{ + "abstract" : "Superpositional logic in a single universe", + "author" : [ + "unknown" + ], + "dynamic_config" : 1, + "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010", + "license" : [ + "unknown" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Quantum-Superpositions", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "runtime" : { + "requires" : { + "Carp" : "0", + "Class::Multimethods" : "0", + "strict" : "0" + } + } + }, + "release_status" : "stable", + "version" : "2.03", + "x_serialization_backend" : "JSON::PP version 2.27400_02" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Quantum-Superpositions-2.02/META.yml new/Quantum-Superpositions-2.03/META.yml --- old/Quantum-Superpositions-2.02/META.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/Quantum-Superpositions-2.03/META.yml 2018-07-08 22:30:31.000000000 +0200 @@ -0,0 +1,25 @@ +--- +abstract: 'Superpositional logic in a single universe' +author: + - unknown +build_requires: + ExtUtils::MakeMaker: '0' +configure_requires: + ExtUtils::MakeMaker: '0' +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010' +license: unknown +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: '1.4' +name: Quantum-Superpositions +no_index: + directory: + - t + - inc +requires: + Carp: '0' + Class::Multimethods: '0' + strict: '0' +version: '2.03' +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Quantum-Superpositions-2.02/lib/Quantum/Superpositions.pm new/Quantum-Superpositions-2.03/lib/Quantum/Superpositions.pm --- old/Quantum-Superpositions-2.02/lib/Quantum/Superpositions.pm 2003-04-23 00:54:48.000000000 +0200 +++ new/Quantum-Superpositions-2.03/lib/Quantum/Superpositions.pm 2018-07-08 22:29:12.000000000 +0200 @@ -10,7 +10,7 @@ use Carp; use Class::Multimethods; -our $VERSION = '2.02'; +our $VERSION = '2.03'; sub import { @@ -898,7 +898,7 @@ meta-semantics for logical operations between superpositions; one that preserves the intuitive logic of comparisons but also gives limited access to the states that cause those -comparsions to succeed. +comparisons to succeed. The key is to deviate from the arithmetic view of superpositional comparison (namely, that a ++++++ cpanspec.yml ++++++ --- #description_paragraphs: 3 #description: |- # override description from CPAN #summary: override summary from CPAN #no_testing: broken upstream #sources: # - source1 # - source2 #patches: # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_build: |- # rm unused.files #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: |- #./Build build flags=%{?_smp_mflags} --myflag #custom_test: |- #startserver && make test #ignore_requires: Bizarre::Module