Codebase list golang-github-vbauerster-mpb / ab9fa34
refactoring Size types accept any verb which is supported by AppendFloat Vladimir Bauer 3 years ago
1 changed file(s) with 16 addition(s) and 16 deletion(s). Raw diff Collapse all Expand all
2828 type SizeB1024 int64
2929
3030 func (self SizeB1024) Format(st fmt.State, verb rune) {
31 var prec int
31 prec := -1
3232 switch verb {
33 case 'd':
34 case 's':
35 prec = -1
36 default:
33 case 'f', 'e', 'E':
34 prec = 6 // default prec of fmt.Printf("%f|%e|%E")
35 fallthrough
36 case 'b', 'g', 'G', 'x', 'X':
3737 if p, ok := st.Precision(); ok {
3838 prec = p
39 } else {
40 prec = 6
4139 }
40 default:
41 verb, prec = 'f', 0
4242 }
4343
4444 var unit SizeB1024
5555 unit = _iTiB
5656 }
5757
58 b := strconv.AppendFloat(make([]byte, 0, 32), float64(self)/float64(unit), 'f', prec, 64)
58 b := strconv.AppendFloat(make([]byte, 0, 24), float64(self)/float64(unit), byte(verb), prec, 64)
5959 if st.Flag(' ') {
6060 b = append(b, ' ')
6161 }
8080 type SizeB1000 int64
8181
8282 func (self SizeB1000) Format(st fmt.State, verb rune) {
83 var prec int
83 prec := -1
8484 switch verb {
85 case 'd':
86 case 's':
87 prec = -1
88 default:
85 case 'f', 'e', 'E':
86 prec = 6 // default prec of fmt.Printf("%f|%e|%E")
87 fallthrough
88 case 'b', 'g', 'G', 'x', 'X':
8989 if p, ok := st.Precision(); ok {
9090 prec = p
91 } else {
92 prec = 6
9391 }
92 default:
93 verb, prec = 'f', 0
9494 }
9595
9696 var unit SizeB1000
107107 unit = _TB
108108 }
109109
110 b := strconv.AppendFloat(make([]byte, 0, 32), float64(self)/float64(unit), 'f', prec, 64)
110 b := strconv.AppendFloat(make([]byte, 0, 24), float64(self)/float64(unit), byte(verb), prec, 64)
111111 if st.Flag(' ') {
112112 b = append(b, ' ')
113113 }