<commit_before>package mpb

import (
	"fmt"
	"strings"
)

const (
	_          = iota
	bytesInKiB = 1 << (iota * 10)
	bytesInMiB
	bytesInGiB
	bytesInTiB
)

type Units uint

const (
	UnitNone Units = iota
	UnitBytes
)

func Format(i int) *formatter {
	return &formatter{n: i}
}

type formatter struct {
	n     int
	unit  Units
	width int
}

func (f *formatter) To(unit Units) *formatter {
	f.unit = unit
	return f
}

func (f *formatter) Width(width int) *formatter {
	f.width = width
	return f
}

func (f *formatter) String() string {
	switch f.unit {
	case UnitBytes:
		return formatBytes(f.n)
	default:
		return fmt.Sprintf(fmt.Sprintf("%%%dd", f.width), f.n)
	}
}

func formatBytes(i int) (result string) {
	switch {
	case i > bytesInTiB:
		result = fmt.Sprintf("%.02fTiB", float64(i)/bytesInTiB)
	case i > bytesInGiB:
		result = fmt.Sprintf("%.02fGiB", float64(i)/bytesInGiB)
	case i > bytesInMiB:
		result = fmt.Sprintf("%.02fMiB", float64(i)/bytesInMiB)
	case i > bytesInKiB:
		result = fmt.Sprintf("%.02fKiB", float64(i)/bytesInKiB)
	default:
		result = fmt.Sprintf("%db", i)
	}
	result = strings.Trim(result, " ")
	return
}<commit_msg>display one digit after dot<commit_after>package mpb

import (
	"fmt"
	"strings"
)

const (
	_          = iota
	bytesInKiB = 1 << (iota * 10)
	bytesInMiB
	bytesInGiB
	bytesInTiB
)

type Units uint

const (
	UnitNone Units = iota
	UnitBytes
)

func Format(i int) *formatter {
	return &formatter{n: i}
}

type formatter struct {
	n     int
	unit  Units
	width int
}

func (f *formatter) To(unit Units) *formatter {
	f.unit = unit
	return f
}

func (f *formatter) Width(width int) *formatter {
	f.width = width
	return f
}

func (f *formatter) String() string {
	switch f.unit {
	case UnitBytes:
		return formatBytes(f.n)
	default:
		return fmt.Sprintf(fmt.Sprintf("%%%dd", f.width), f.n)
	}
}

func formatBytes(i int) (result string) {
	switch {
	case i > bytesInTiB:
		result = fmt.Sprintf("%.1fTiB", float64(i)/bytesInTiB)
	case i > bytesInGiB:
		result = fmt.Sprintf("%.1fGiB", float64(i)/bytesInGiB)
	case i > bytesInMiB:
		result = fmt.Sprintf("%.1fMiB", float64(i)/bytesInMiB)
	case i > bytesInKiB:
		result = fmt.Sprintf("%.1fKiB", float64(i)/bytesInKiB)
	default:
		result = fmt.Sprintf("%db", i)
	}
	result = strings.Trim(result, " ")
	return
}
{'fraction_non_alphanumeric': 0.14136125654450263, 'fraction_numerical': 0.014834205933682374, 'mean_word_length': 3.689161554192229, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6284797', 'n_tokens_mistral': 1009, 'n_tokens_neox': 917, 'n_words': 226}