in dax/internal/cbor/cbor.go [176:214]
func (w *Writer) writeType(mt uint64, ui uint64) (err error) {
switch {
case ui < Size8:
err = w.bw.WriteByte(byte(mt + ui))
case ui < 1<<8:
err = w.bw.WriteByte(byte(mt + Size8))
if err == nil {
err = w.bw.WriteByte(byte(ui))
}
// Abuse append.
case ui < 1<<16:
_ = append(w.buf[:0],
byte(mt+Size16),
byte(ui>>8),
byte(ui))
_, err = w.bw.Write(w.buf[:3])
case ui < 1<<32:
_ = append(w.buf[:0],
byte(mt+Size32),
byte(ui>>24),
byte(ui>>16),
byte(ui>>8),
byte(ui))
_, err = w.bw.Write(w.buf[:5])
default:
_ = append(w.buf[:0],
byte(mt+Size64),
byte(ui>>56),
byte(ui>>48),
byte(ui>>40),
byte(ui>>32),
byte(ui>>24),
byte(ui>>16),
byte(ui>>8),
byte(ui))
_, err = w.bw.Write(w.buf)
}
return
}