X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=glafp-utils%2Fnofib-analyse%2FPrintf.lhs;h=33b5290e074ca16abd6a547f536424832dfe82a2;hb=6f288c6f963dde473a31cb4404c99c6903729682;hp=1a8aa4d9da408f1ffc988d8adfc18a6982b351d4;hpb=ab73ca6160d9083e3c10f674d08ed5a63eac7bdf;p=ghc-hetmet.git diff --git a/glafp-utils/nofib-analyse/Printf.lhs b/glafp-utils/nofib-analyse/Printf.lhs index 1a8aa4d..33b5290 100644 --- a/glafp-utils/nofib-analyse/Printf.lhs +++ b/glafp-utils/nofib-analyse/Printf.lhs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: Printf.lhs,v 1.4 2001/08/13 10:27:27 simonmar Exp $ +-- $Id: Printf.lhs,v 1.5 2002/03/14 17:09:46 simonmar Exp $ -- (c) Simon Marlow 1997-2001 ----------------------------------------------------------------------------- @@ -32,7 +32,8 @@ #if __GLASGOW_HASKELL__ < 500 > buf <- malloc bUFSIZE -> snprintf buf (fromIntegral bUFSIZE) (packString format) num +> snprintf buf (fromIntegral bUFSIZE) (packString format) +> (realToFrac num) > let s = unpackCString buf > length s `seq` -- urk! need to force the string before we > -- free the buffer. A better solution would @@ -45,7 +46,8 @@ > allocaBytes bUFSIZE $ \buf -> > withCString format $ \cformat -> do -> snprintf buf (fromIntegral bUFSIZE) cformat num +> snprintf buf (fromIntegral bUFSIZE) cformat +> (realToFrac num) > peekCString buf #endif @@ -73,10 +75,10 @@ #if __GLASGOW_HASKELL__ < 500 > type PackedString = ByteArray Int -> foreign import unsafe snprintf :: Addr -> CSize -> PackedString -> Float -> IO () +> foreign import unsafe snprintf :: Addr -> CSize -> PackedString -> Double -> IO () #else -> foreign import unsafe snprintf :: CString -> CSize -> CString -> Float -> IO () +> foreign import unsafe snprintf :: CString -> CSize -> CString -> Double -> IO () #endif