Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Hamming Sequences and Lazy Lists

by Limbic~Region (Chancellor)
on Apr 21, 2005 at 15:02 UTC ( [id://450038]=note: print w/replies, xml ) Need Help??


in reply to Hamming Sequences and Lazy Lists

tall_man,
This idea poppped into my head today and I didn't really get a chance to play with it before a marathon meeting.
use List::Util 'min'; my $iter = hamming(2, 3, 5); print $iter->(), "\n" while 1; sub hamming { my @factor = @_; my %pool = (1 => 1); return sub { my $next = delete $pool{ min keys %pool }; @pool{ map { $next * $_ } @factor } = map { $next * $_ } @fact +or; return $next; }; }

Cheers - L~R

Update: Removed faulty optimization

Replies are listed 'Best First'.
Re^2: Hamming Sequences and Lazy Lists
by Roy Johnson (Monsignor) on Apr 21, 2005 at 23:13 UTC
    No need to populate values, though.
    return sub { my $next = min keys %pool; @pool{ map { $next * $_ } @factor } = (); delete $pool{$next}; return $next; };

    Caution: Contents may have been coded under pressure.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://450038]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-04-24 03:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found