diff --git a/decor/size_type.go b/decor/size_type.go index a450c6c..57c09d9 100644 --- a/decor/size_type.go +++ b/decor/size_type.go @@ -9,7 +9,7 @@ ) const ( - _ib SizeB1024 = iota + _ib SizeB1024 = iota + 1 _iKiB SizeB1024 = 1 << (iota * 10) _iMiB _iGiB @@ -33,25 +33,22 @@ } } - var b strings.Builder var unit SizeB1024 switch { case self < _iKiB: unit = _ib - b.WriteString(strconv.FormatFloat(float64(self), 'f', prec, 64)) case self < _iMiB: unit = _iKiB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_iKiB), 'f', prec, 64)) case self < _iGiB: unit = _iMiB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_iMiB), 'f', prec, 64)) case self < _iTiB: unit = _iGiB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_iGiB), 'f', prec, 64)) case self <= math.MaxInt64: unit = _iTiB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_iTiB), 'f', prec, 64)) } + + var b strings.Builder + b.WriteString(strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) if st.Flag(' ') { b.WriteString(" ") @@ -76,7 +73,7 @@ } const ( - _b SizeB1000 = 0 + _b SizeB1000 = 1 _KB SizeB1000 = 1000 _MB SizeB1000 = _KB * 1000 _GB SizeB1000 = _MB * 1000 @@ -100,25 +97,22 @@ } } - var b strings.Builder var unit SizeB1000 switch { case self < _KB: unit = _b - b.WriteString(strconv.FormatFloat(float64(self), 'f', prec, 64)) case self < _MB: unit = _KB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_KB), 'f', prec, 64)) case self < _GB: unit = _MB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_MB), 'f', prec, 64)) case self < _TB: unit = _GB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_GB), 'f', prec, 64)) case self <= math.MaxInt64: unit = _TB - b.WriteString(strconv.FormatFloat(float64(self)/float64(_TB), 'f', prec, 64)) } + + var b strings.Builder + b.WriteString(strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) if st.Flag(' ') { b.WriteString(" ") diff --git a/decor/sizeb1000_string.go b/decor/sizeb1000_string.go index 0207a57..3f32ef7 100644 --- a/decor/sizeb1000_string.go +++ b/decor/sizeb1000_string.go @@ -8,7 +8,7 @@ // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} - _ = x[_b-0] + _ = x[_b-1] _ = x[_KB-1000] _ = x[_MB-1000000] _ = x[_GB-1000000000] @@ -25,7 +25,7 @@ func (i SizeB1000) String() string { switch { - case i == 0: + case i == 1: return _SizeB1000_name_0 case i == 1000: return _SizeB1000_name_1 diff --git a/decor/sizeb1024_string.go b/decor/sizeb1024_string.go index 8538236..9fca66c 100644 --- a/decor/sizeb1024_string.go +++ b/decor/sizeb1024_string.go @@ -8,7 +8,7 @@ // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} - _ = x[_ib-0] + _ = x[_ib-1] _ = x[_iKiB-1024] _ = x[_iMiB-1048576] _ = x[_iGiB-1073741824] @@ -25,7 +25,7 @@ func (i SizeB1024) String() string { switch { - case i == 0: + case i == 1: return _SizeB1024_name_0 case i == 1024: return _SizeB1024_name_1