]> git.vpit.fr Git - perl/modules/Sub-Nary.git/blobdiff - lib/Sub/Nary.pm
Rewrite add in XS. List::Util is no longer a prerequisite
[perl/modules/Sub-Nary.git] / lib / Sub / Nary.pm
index bda8335f47b95803c87f56b0308866ea011f02cc..21f53b0be6480a9b9e308d6677a783b533f13afa 100644 (file)
@@ -6,7 +6,6 @@ use strict;
 use warnings;
 
 use Carp qw/croak/;
-use List::Util qw/reduce/;
 
 use B qw/class ppname svref_2object OPf_KIDS/;
 
@@ -178,33 +177,6 @@ sub name ($) {
  $n eq 'null' ? substr(ppname($_[0]->targ), 3) : $n
 }
 
-sub scale {
- my ($c, $r) = @_;
- return unless defined $r;
- return (ref $r) ? { map { $_ => $r->{$_} * $c } keys %$r } : { $r => $c };
-}
-
-sub combine {
- reduce {{
-  my %res;
-  my $la = delete $a->{list};
-  my $lb = delete $b->{list};
-  if (defined $la || defined $lb) {
-   $la ||= 0;
-   $lb ||= 0;
-   $res{list} = $la + $lb - $la * $lb;
-  }
-  while (my ($ka, $va) = each %$a) {
-   $ka = int $ka;
-   while (my ($kb, $vb) = each %$b) {
-    my $key = $ka + int $kb;
-    $res{$key} += $va * $vb;
-   }
-  }
-  \%res
- }} map { (ref) ? $_ : { $_ => 1 } } grep defined, @_;
-}
-
 sub power {
  my ($p, $n, $c) = @_;
  return unless defined $p;
@@ -220,13 +192,6 @@ sub power {
  return $r;
 }
 
-sub add {
- reduce {
-  $a->{$_} += $b->{$_} for keys %$b;
-  $a
- } map { (ref) ? $_ : { $_ => 1 } } grep defined, @_;
-}
-
 my %ops;
 
 $ops{$_} = 1      for scalops;
@@ -623,7 +588,7 @@ C<wantarray> isn't specialized when encountered in the optree.
 
 L<perl> 5.8.1.
 
-L<Carp> (standard since perl 5), L<B> (since perl 5.005), L<XSLoader> (since perl 5.006) and L<List::Util> (since perl 5.007003).
+L<Carp> (standard since perl 5), L<B> (since perl 5.005) and L<XSLoader> (since perl 5.006).
 
 =head1 AUTHOR