WriteInt64 writes an int64 to the writer
(i int64)
| 377 | |
| 378 | // WriteInt64 writes an int64 to the writer |
| 379 | func (mw *Writer) WriteInt64(i int64) error { |
| 380 | if i >= 0 { |
| 381 | switch { |
| 382 | case i <= math.MaxInt8: |
| 383 | return mw.push(wfixint(uint8(i))) |
| 384 | case i <= math.MaxInt16: |
| 385 | return mw.prefix16(mint16, uint16(i)) |
| 386 | case i <= math.MaxInt32: |
| 387 | return mw.prefix32(mint32, uint32(i)) |
| 388 | default: |
| 389 | return mw.prefix64(mint64, uint64(i)) |
| 390 | } |
| 391 | } |
| 392 | switch { |
| 393 | case i >= -32: |
| 394 | return mw.push(wnfixint(int8(i))) |
| 395 | case i >= math.MinInt8: |
| 396 | return mw.prefix8(mint8, uint8(i)) |
| 397 | case i >= math.MinInt16: |
| 398 | return mw.prefix16(mint16, uint16(i)) |
| 399 | case i >= math.MinInt32: |
| 400 | return mw.prefix32(mint32, uint32(i)) |
| 401 | default: |
| 402 | return mw.prefix64(mint64, uint64(i)) |
| 403 | } |
| 404 | } |
| 405 | |
| 406 | // WriteInt8 writes an int8 to the writer |
| 407 | func (mw *Writer) WriteInt8(i int8) error { return mw.WriteInt64(int64(i)) } |