Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Shayne Fletcher
Glasgow Haskell Compiler
Commits
9006dbf0
Commit
9006dbf0
authored
Dec 12, 2006
by
Ian Lynagh
Browse files
More warning fixes and some code rejigging
parent
2b80dae3
Changes
1
Hide whitespace changes
Inline
Side-by-side
utils/nofib-analyse/Main.hs
View file @
9006dbf0
...
...
@@ -582,10 +582,10 @@ calc_result rts get_maybe_a get_stat result_ok (prog,base_r) =
base_stat
=
get_stat
base_r
just_result
Nothing
s
=
RunFailed
s
just_result
(
Just
a
)
s
=
toBox
a
just_result
(
Just
a
)
_
=
toBox
a
percentage
Nothing
s
base
=
RunFailed
s
percentage
(
Just
a
)
s
base
=
Percentage
percentage
Nothing
s
_
=
RunFailed
s
percentage
(
Just
a
)
_
base
=
Percentage
(
convert_to_percentage
base
a
)
-----------------------------------------------------------------------------
-- Calculating geometric means and standard deviations
...
...
@@ -658,22 +658,23 @@ class Num a => Result a where
-- We assume an Int is a size, and print it in kilobytes.
instance
Result
Int
where
convert_to_percentage
0
size
=
100
convert_to_percentage
base
size
=
(
fromIntegral
size
/
fromIntegral
base
)
*
100
convert_to_percentage
0
_
=
100
convert_to_percentage
base
size
=
(
fromIntegral
size
/
fromIntegral
base
)
*
100
toBox
=
BoxInt
toBox
=
BoxInt
instance
Result
Integer
where
convert_to_percentage
0
size
=
100
convert_to_percentage
base
size
=
(
fromInteger
size
/
fromInteger
base
)
*
100
toBox
=
BoxInteger
convert_to_percentage
0
_
=
100
convert_to_percentage
base
size
=
(
fromInteger
size
/
fromInteger
base
)
*
100
toBox
=
BoxInteger
instance
Result
Float
where
convert_to_percentage
0.0
size
=
100.0
convert_to_percentage
base
size
=
size
/
base
*
100
convert_to_percentage
0.0
_
=
100.0
convert_to_percentage
base
size
=
size
/
base
*
100
toBox
=
BoxFloat
toBox
=
BoxFloat
-- -----------------------------------------------------------------------------
-- BoxValues
...
...
@@ -689,20 +690,16 @@ data BoxValue
showBox
::
BoxValue
->
String
showBox
(
RunFailed
stat
)
=
show_stat
stat
showBox
(
Percentage
f
)
=
show_pcntage
f
showBox
(
Percentage
f
)
=
printf
"%+.1f%%"
(
f
-
100
)
showBox
(
BoxFloat
f
)
=
printf
"%.2f"
f
showBox
(
BoxInt
n
)
=
show
(
n
`
div
`
1024
)
++
"k"
showBox
(
BoxInteger
n
)
=
show
(
n
`
div
`
1024
)
++
"k"
showBox
(
BoxString
s
)
=
s
instance
Show
BoxValue
where
{
show
=
showBox
}
show_pcntage
n
=
show_float_signed
(
n
-
100
)
++
"%"
show_float_signed
n
|
n
>=
0
=
printf
"+%.1f"
n
|
otherwise
=
printf
"%.1f"
n
instance
Show
BoxValue
where
show
=
showBox
show_stat
::
Status
->
String
show_stat
Success
=
"(no result)"
show_stat
WrongStdout
=
"(stdout)"
show_stat
WrongStderr
=
"(stderr)"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment