Double -> non-double function :)
Hal Daume III
hdaume@ISI.EDU
Wed, 3 Apr 2002 12:49:30 -0800 (PST)
I found one way:
doubleToInts d = runST (
do arr <- newDoubleArray (1,2)
writeDoubleArray arr 1 d
i1 <- readIntArray arr 1
i2 <- readIntArray arr 2
return (i1,i2))
intsToDouble (i1,i2) = runST (
do arr <- newDoubleArray (1,2)
writeIntArray arr 1 i1
writeIntArray arr 2 i2
readDoubleArray arr 1)
But this is dumb and very slow (also note that the array has to be indexed
to 2 even though it's only storing one double; this is because
readIntArray checks the double bounds).
Ideas *other* than this are still welcome :)
--
Hal Daume III
"Computer science is no more about computers | hdaume@isi.edu
than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume
On Wed, 3 Apr 2002, Hal Daume III wrote:
> I'm looking for a (not-necessarily Haskell 98 compliant, as long as it
> works in GHC) way to get at the internal representation of Doubles. I can
> use decodeDouble# to get at it, but I need something equivalent to
> encodeDouble# to go the other way, and I cannot find such a function
> anywhere. Any suggestions are welcome (yes, I know I can use show and
> read, but I'm looking for something which will keep the # of bytes down).
>
> - Hal
>
> --
> Hal Daume III
>
> "Computer science is no more about computers | hdaume@isi.edu
> than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume
>
> _______________________________________________
> Haskell mailing list
> Haskell@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
>