brian <[email protected]> writes:
> However, I would like to reiterate that it's the double -> string
> which is really the time/memory sink. I verified this by printing a
> simple string based on the value (to make sure the value was
> evaluated) and it runs fast enough for me.
>
> Is there an efficient way to output double -> binary ?
Not as far as I know. I had the same problem, and ended up building a
array of float representations:
farray :: Array Int ByteString
farray = listArray (0,9999) [B.pack (showFFloat (Just 2) i "") | i <-
[0,0.01..99.99::Double]]
and using a lookup function to show the floats:
fi :: Int -> ByteString
fi f | f <= 9999 && f >= 0 = farray!f
| otherwise = error ("Can't show a value of "++show f)
This works for me, since I have a very limited range of Doubles to
deal with (stored as fixed-precision Ints).
Still, a fast and general way to output primitive data types would be
quite welcome.
-k
--
If I haven't seen further, it is by standing in the footprints of giants
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe