more useful options PerlMonks

### Re: A better mod (%) operator?

by rinceWind (Monsignor)
 on Jul 08, 2002 at 23:29 UTC ( #180350=note: print w/replies, xml ) Need Help??

in reply to A better mod (%) operator?

If you take a look at Math::BigInt, you will find that the method bdiv in list context returns quotient and remainder.
```
SYNOPSIS
use Math::BigInt;
\$i = Math::BigInt->new(\$string);
\$i->bneg return BINT               negation
\$i->babs return BINT               absolute value
\$i->bcmp(BINT) return CODE         compare numbers (undef,<0,=0,>0)
\$i->bsub(BINT) return BINT         subtraction
\$i->bmul(BINT) return BINT         multiplication
\$i->bdiv(BINT) return (BINT,BINT)  division (quo,rem) just quo if sc
+alar
\$i->bmod(BINT) return BINT         modulus
\$i->bgcd(BINT) return BINT         greatest common divisor
\$i->bnorm return BINT              normalization
\$i->blsft(BINT) return BINT        left shift
\$i->brsft(BINT) return (BINT,BINT) right shift (quo,rem) just quo if
+ scalar
\$i->band(BINT) return BINT         bit-wise and
\$i->bior(BINT) return BINT         bit-wise inclusive or
\$i->bxor(BINT) return BINT         bit-wise exclusive or
\$i->bnot return BINT               bit-wise not
Although it's a bit slow and clunky, Math::BigInt's overload mechanism makes a good attempt at a drop-in replacement for n bit integers.

Create A New User
Node Status?
node history
Node Type: note [id://180350]
help
Chatterbox?
 [Corion]: choroba: Yes, but the longer I thought about efficient hashes mapping the event type back to their callbacks, and how to keep them in sync, the more I thought that all that optimization might just not be worth it, even if it's horribly inelegant [Lady_Aleena]: My biggest problem with hashes at the moment is one with 2,501 keys. [choroba]: how many event types are there? [Corion]: Also I found that I can't conveniently weaken an array slot, which also is inconvenient, as I want my one-shots to disappear if the caller discards them [Corion]: choroba: Currently two or three that my program handles (WWW::Mechanize:: Chrome), but there might be more that become interesting [Corion]: But I don't expect more than 100 to be active at the same time, so I'm not really sure if there is a not-too-fancy data structure that is maintained with few lines of code where the performance is better than the linear scan ;) [Corion]: But I should do a mock-up program so that others can see what I'm talking about ;) [robby_dobby]: Corion: I hope you know all too well that passing around "fancy" datastructures is a recipe for disaster :-) [robby_dobby]: As in, it's-too-fancy- that-it-will-be- messy-to-handle [choroba]: bit vectors as keys?

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (13)
As of 2017-05-29 07:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My favorite model of computation is ...

Results (192 votes). Check out past polls.