Exemple #1
0
func (w *writer) hex(start bitgen.Line, n bitgen.Integer, end bitgen.Line) {
	if n.Width&(4-1) != 0 {
		panic(fmt.Sprintf("invalid hex width: %d", n.Width))
	}

	for i := n.Width - 4; i < n.Width; i -= 4 {
		var next bitgen.Line
		if i == 0 {
			next = end
		} else {
			next = w.ReserveLine()
		}

		w.hexDigit(start, n.Sub(i, i+4), next)

		start = next
	}
}