func i32Dig()

in conv/int.go [103:143]


func i32Dig(n int32, buf *[11]byte) []byte {
	var neg bool
	var u uint32
	if n > 0 {
		if n < 10 {
			return digits1[n]
		} else if n < 100 {
			return digits2[n]
		}
		u = uint32(n)
	} else {
		neg = true
		u = uint32(n)
		u = -u
	}

	pos := 11
	for u >= 100 {
		pos -= 2

		is := u % 100
		u /= 100

		buf[pos+1], buf[pos] = digits2[is][1], digits2[is][0]
	}

	if u < 10 {
		pos--
		buf[pos] = digits[u]
	} else {
		pos -= 2
		buf[pos+1], buf[pos] = digits2[u][1], digits2[u][0]
	}

	if neg {
		pos--
		buf[pos] = '-'
	}

	return buf[pos:]
}