chiark
/
gitweb
/
~mdw
/
ircbot
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1ed6a74
)
Beats.
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Mon, 28 Jan 2002 00:06:10 +0000
(
00:06
+0000)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Mon, 28 Jan 2002 00:06:10 +0000
(
00:06
+0000)
bot.tcl
patch
|
blob
|
blame
|
history
diff --git
a/bot.tcl
b/bot.tcl
index eb65a0efaa48844e20889903e5d369cb826a357d..46855813f92fc4e0c27271a0aed98a0c90b9d4d0 100755
(executable)
--- a/
bot.tcl
+++ b/
bot.tcl
@@
-23,8
+23,32
@@
proc showintervalsecs {howlong abbrev} {
return [showintervalsecs/[opt timeformat] $howlong $abbrev]
}
return [showintervalsecs/[opt timeformat] $howlong $abbrev]
}
+proc formatsf {pfx value} {
+ foreach {min format} { 100 %.0f 10 %.1f 0 %.2f} {
+ set fval [format $format $value]
+ if {$fval < $min} continue
+ return [format "$fval${pfx}" $value]
+ }
+}
+
proc showintervalsecs/beat {howlong abbrev} {
proc showintervalsecs/beat {howlong abbrev} {
- return [format "%g B" [expr {$howlong/86.4}]]
+ # We split in two to avoid overflow problems.
+ if {$howlong < 86 } {
+ # mB's
+ set pfx mB
+ return [format "%.0fmB" [expr {round($howlong * 1.157)*10} ]]
+ } else {
+ if {$howlong < 86400 } {
+ # B's
+ set pfx B
+ set value [expr {$howlong / 86.4}]
+ } else {
+ # kB's
+ set pfx kB
+ set value [expr {$howlong / 86400.0}]
+ }
+ }
+ return [formatsf $pfx $value]
}
proc showintervalsecs/ks {howlong abbrev} {
}
proc showintervalsecs/ks {howlong abbrev} {
@@
-32,17
+56,14
@@
proc showintervalsecs/ks {howlong abbrev} {
return "${howlong}s"
} else {
if {$howlong < 1000000} {
return "${howlong}s"
} else {
if {$howlong < 1000000} {
- set pfx k
+ set pfx k
s
set scale 1000
} else {
set scale 1000
} else {
- set pfx M
+ set pfx M
s
set scale 1000000
}
set value [expr "$howlong.0 / $scale"]
set scale 1000000
}
set value [expr "$howlong.0 / $scale"]
- foreach {min format} {100 %.0f 10 %.1f 1 %.2f} {
- if {$value < $min} continue
- return [format "$format${pfx}s" $value]
- }
+ return [formatsf $pfx $value]
}
}
}
}