first commit

This commit is contained in:
douboer
2025-09-17 16:08:16 +08:00
parent 9395faa6b2
commit 3ff47c11d5
1318 changed files with 117477 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
###
### powerset_recurse4
###
## Chapter 5 section 4.1.1
sub powerset_recurse ($) {
my ( $set ) = @_;
my $null = { };
my $powerset = { $null, $null };
while (my ($key, $value) = each %$set) {
my @newitems;
while (my ($powerkey, $powervalue) = each %$powerset) {
my %subset = ( );
# Copy the old set to the subset.
@subset{keys %{ $powerset->{$powerkey} } } =
values %{ $powerset->{$powervalue} };
# Add the new member to the subset.
$subset{$key} = $value;
# Prepare to add the new subset to the powerset.
push @newitems, \%subset;
}
$powerset->{ $_ } = $_ for @newitems;
}
return $powerset;
}