]> git.vpit.fr Git - perl/modules/Sub-Nary.git/blobdiff - lib/Sub/Nary.pm
Rewrite scale in XS
[perl/modules/Sub-Nary.git] / lib / Sub / Nary.pm
index 6dc1820a15ae53e3b170fbbb64ebf2f0d9e1f7f8..d5a96452a1418f7a0e3382d3e9c32d7ae33151f9 100644 (file)
@@ -178,41 +178,6 @@ sub name ($) {
  $n eq 'null' ? substr(ppname($_[0]->targ), 3) : $n
 }
 
-sub normalize ($) {
- my $r = $_[0];
- return unless defined $r;
- return { 0 => 1 } unless keys %$r;
- my $total = count $r;
- return { map { $_ => $r->{$_} / $total } keys %$r };
-}
-
-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;