const (
myname = "pstop"
copyright = "Copyright (C) 2014 Simon J Mudd <sjmudd@pobox.com>"
+ i_1024_2 = 1024 * 1024
+ i_1024_3 = 1024 * 1024 * 1024
+ i_1024_4 = 1024 * 1024 * 1024 * 1024
)
// myround converts this floating value to the right width etc.
return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
}
+// similar to sec_to_time() spaces if 0 and takes seconds as input.
+func FormatSeconds(seconds uint64) string {
+ if seconds == 0 {
+ return " "
+ } else {
+ return sec_to_time(seconds)
+ }
+}
+
// FormatTime is based on sys.format_time. It
// formats to 10 characters including space and suffix.
// All values have 2 decimal places. Zero is returned as
return strconv.Itoa(int(amount))
}
- if amount > (1024 * 1024 * 1024 * 1024) {
+ if amount > i_1024_4 {
suffix = "P"
- decimal_amount = float64(amount) / 1024 / 1024 / 1024 / 1024
- } else if amount > (1024 * 1024 * 1024) {
+ decimal_amount = float64(amount) / i_1024_4
+ } else if amount > i_1024_3 {
suffix = "G"
- decimal_amount = float64(amount) / 1024 / 1024 / 1024
- } else if amount > (1024 * 1024) {
+ decimal_amount = float64(amount) / i_1024_3
+ } else if amount > i_1024_2 {
suffix = "M"
- decimal_amount = float64(amount) / 1024 / 1024
+ decimal_amount = float64(amount) / i_1024_2
} else if amount > 1024 {
suffix = "k"
decimal_amount = float64(amount) / 1024
return formatted
}
+// like Amount but tigher in space
+func FormatCounter(counter int, width int) string {
+ if counter == 0 {
+ pattern := "%" + fmt.Sprintf("%d", width) + "s"
+ return fmt.Sprintf(pattern, " ")
+ } else {
+ pattern := "%" + fmt.Sprintf("%d", width) + "d"
+ return fmt.Sprintf(pattern, counter)
+ }
+}
+
// MyDivide() divides a by b except if b is 0 in which case we return 0.
func MyDivide(a uint64, b uint64) float64 {
if b == 0 {