1
0
mirror of https://github.com/json-iterator/go.git synced 2025-04-23 11:37:32 +02:00

#68 remove redundant math max constants

This commit is contained in:
Tao Wen 2017-06-20 16:10:29 +08:00
parent ae6ce2fc3f
commit 417011b497

View File

@ -2,18 +2,13 @@ package jsoniter
import ( import (
"strconv" "strconv"
"math"
) )
var intDigits []int8 var intDigits []int8
const uint32SafeToMultiply10 = uint32(0xffffffff)/10 - 1 const uint32SafeToMultiply10 = uint32(0xffffffff)/10 - 1
const uint64SafeToMultiple10 = uint64(0xffffffffffffffff)/10 - 1 const uint64SafeToMultiple10 = uint64(0xffffffffffffffff)/10 - 1
const int64Max = uint64(0x7fffffffffffffff)
const int32Max = uint32(0x7fffffff)
const int16Max = uint32(0x7fff)
const uint16Max = uint32(0xffff)
const int8Max = uint32(0x7fff)
const uint8Max = uint32(0xffff)
func init() { func init() {
intDigits = make([]int8, 256) intDigits = make([]int8, 256)
@ -37,14 +32,14 @@ func (iter *Iterator) ReadInt8() (ret int8) {
c := iter.nextToken() c := iter.nextToken()
if c == '-' { if c == '-' {
val := iter.readUint32(iter.readByte()) val := iter.readUint32(iter.readByte())
if val > int8Max+1 { if val > math.MaxInt8+1 {
iter.ReportError("ReadInt8", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadInt8", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
return -int8(val) return -int8(val)
} else { } else {
val := iter.readUint32(c) val := iter.readUint32(c)
if val > int8Max { if val > math.MaxInt8 {
iter.ReportError("ReadInt8", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadInt8", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
@ -54,7 +49,7 @@ func (iter *Iterator) ReadInt8() (ret int8) {
func (iter *Iterator) ReadUint8() (ret uint8) { func (iter *Iterator) ReadUint8() (ret uint8) {
val := iter.readUint32(iter.nextToken()) val := iter.readUint32(iter.nextToken())
if val > uint8Max { if val > math.MaxUint8 {
iter.ReportError("ReadUint8", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadUint8", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
@ -65,14 +60,14 @@ func (iter *Iterator) ReadInt16() (ret int16) {
c := iter.nextToken() c := iter.nextToken()
if c == '-' { if c == '-' {
val := iter.readUint32(iter.readByte()) val := iter.readUint32(iter.readByte())
if val > int16Max+1 { if val > math.MaxInt16+1 {
iter.ReportError("ReadInt16", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadInt16", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
return -int16(val) return -int16(val)
} else { } else {
val := iter.readUint32(c) val := iter.readUint32(c)
if val > int16Max { if val > math.MaxInt16 {
iter.ReportError("ReadInt16", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadInt16", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
@ -82,7 +77,7 @@ func (iter *Iterator) ReadInt16() (ret int16) {
func (iter *Iterator) ReadUint16() (ret uint16) { func (iter *Iterator) ReadUint16() (ret uint16) {
val := iter.readUint32(iter.nextToken()) val := iter.readUint32(iter.nextToken())
if val > uint16Max { if val > math.MaxUint16 {
iter.ReportError("ReadUint16", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadUint16", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
@ -93,14 +88,14 @@ func (iter *Iterator) ReadInt32() (ret int32) {
c := iter.nextToken() c := iter.nextToken()
if c == '-' { if c == '-' {
val := iter.readUint32(iter.readByte()) val := iter.readUint32(iter.readByte())
if val > int32Max+1 { if val > math.MaxInt32+1 {
iter.ReportError("ReadInt32", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadInt32", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
return -int32(val) return -int32(val)
} else { } else {
val := iter.readUint32(c) val := iter.readUint32(c)
if val > int32Max { if val > math.MaxInt32 {
iter.ReportError("ReadInt32", "overflow: "+strconv.FormatInt(int64(val), 10)) iter.ReportError("ReadInt32", "overflow: "+strconv.FormatInt(int64(val), 10))
return return
} }
@ -204,14 +199,14 @@ func (iter *Iterator) ReadInt64() (ret int64) {
c := iter.nextToken() c := iter.nextToken()
if c == '-' { if c == '-' {
val := iter.readUint64(iter.readByte()) val := iter.readUint64(iter.readByte())
if val > int64Max+1 { if val > math.MaxInt64+1 {
iter.ReportError("ReadInt64", "overflow: "+strconv.FormatUint(uint64(val), 10)) iter.ReportError("ReadInt64", "overflow: "+strconv.FormatUint(uint64(val), 10))
return return
} }
return -int64(val) return -int64(val)
} else { } else {
val := iter.readUint64(c) val := iter.readUint64(c)
if val > int64Max { if val > math.MaxInt64 {
iter.ReportError("ReadInt64", "overflow: "+strconv.FormatUint(uint64(val), 10)) iter.ReportError("ReadInt64", "overflow: "+strconv.FormatUint(uint64(val), 10))
return return
} }