2015-12-03 10:57:23 -05:00
|
|
|
package serial
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strconv"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Uint16 interface {
|
|
|
|
Value() uint16
|
|
|
|
}
|
|
|
|
|
|
|
|
type Uint16Literal uint16
|
|
|
|
|
|
|
|
func (this Uint16Literal) String() string {
|
|
|
|
return strconv.Itoa(int(this))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this Uint16Literal) Value() uint16 {
|
|
|
|
return uint16(this)
|
|
|
|
}
|
|
|
|
|
2016-01-18 19:21:07 -05:00
|
|
|
func (this Uint16Literal) Bytes() []byte {
|
|
|
|
return []byte{byte(this >> 8), byte(this)}
|
|
|
|
}
|
|
|
|
|
2015-12-03 10:57:23 -05:00
|
|
|
type Int interface {
|
|
|
|
Value() int
|
|
|
|
}
|
|
|
|
|
|
|
|
type IntLiteral int
|
|
|
|
|
|
|
|
func (this IntLiteral) String() string {
|
|
|
|
return strconv.Itoa(int(this))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this IntLiteral) Value() int {
|
|
|
|
return int(this)
|
|
|
|
}
|
2015-12-12 07:11:49 -05:00
|
|
|
|
2016-01-29 10:43:45 -05:00
|
|
|
func (this IntLiteral) Bytes() []byte {
|
|
|
|
value := this.Value()
|
|
|
|
return []byte{
|
|
|
|
byte(value >> 24),
|
|
|
|
byte(value >> 16),
|
|
|
|
byte(value >> 8),
|
|
|
|
byte(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-12-12 07:11:49 -05:00
|
|
|
type Int64Literal int64
|
|
|
|
|
|
|
|
func (this Int64Literal) String() string {
|
|
|
|
return strconv.FormatInt(this.Value(), 10)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this Int64Literal) Value() int64 {
|
|
|
|
return int64(this)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this Int64Literal) Bytes() []byte {
|
|
|
|
value := this.Value()
|
|
|
|
return []byte{
|
|
|
|
byte(value >> 56),
|
|
|
|
byte(value >> 48),
|
|
|
|
byte(value >> 40),
|
|
|
|
byte(value >> 32),
|
|
|
|
byte(value >> 24),
|
|
|
|
byte(value >> 16),
|
|
|
|
byte(value >> 8),
|
|
|
|
byte(value),
|
|
|
|
}
|
|
|
|
}
|