Hi, Am Freitag, den 07.10.2011, 10:52 -0400 schrieb Ryan Newton: > What about just using the Data.Bits instance of Integer? Well, > presently, the setBit instance for very large integers creates a whole > new integer, shifts, and xors: > > http://haskell.org/ghc/docs/latest/html/libraries/base/src/Data-Bits.html#setBit > > (I don't know if it's possible to do better. From quick googling GMP > seems to use an array of "limbs" rather than a chunked list, so maybe > there's no way to treat large Integers as a list and update only the > front...)
interesting idea. Should this be considered a bug in ghc? (Not that it cannot represent the result, but that it crashes even out of ghci): $ ghci GHCi, version 7.0.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Prelude> :m + Data.Bits Prelude Data.Bits> setBit 0 (2^63-1::Int) gmp: overflow in mpz type Abgebrochen Greetings, Joachim -- Joachim "nomeata" Breitner m...@joachim-breitner.de | nome...@debian.org | GPG: 0x4743206C xmpp: nome...@joachim-breitner.de | http://www.joachim-breitner.de/
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe