Fix int/long handling for python3 by removing redundant code

This commit is contained in:
Jason Paryani
2013-08-31 19:30:07 -07:00
parent bf7be6eeba
commit fe991e7857

View File

@@ -32,6 +32,7 @@ ctypedef double Float64
from libc.stdlib cimport malloc, free from libc.stdlib cimport malloc, free
from libcpp cimport bool as cbool from libcpp cimport bool as cbool
_MAX_INT = 2**63 - 1
ctypedef fused _DynamicStructReaderOrBuilder: ctypedef fused _DynamicStructReaderOrBuilder:
_DynamicStructReader _DynamicStructReader
_DynamicStructBuilder _DynamicStructBuilder
@@ -259,15 +260,11 @@ cdef class _DynamicListBuilder:
return self._get(index) return self._get(index)
cdef _setitemInt(self, index, value): cdef _setitemInt(self, index, value):
cdef C_DynamicValue.Reader temp = C_DynamicValue.Reader(<long long>value)
self.thisptr.set(index, temp)
cdef _setitemLong(self, index, value):
cdef C_DynamicValue.Reader temp cdef C_DynamicValue.Reader temp
if value < 0: if value < 0:
temp = C_DynamicValue.Reader(<long long>value) temp = C_DynamicValue.Reader(<long long>value)
else: else:
temp = C_DynamicValue.Reader(<unsigned long long>value) temp = C_DynamicValue.Reader(<unsigned long long>value)
self.thisptr.set(index, temp) self.thisptr.set(index, temp)
cdef _setitemDouble(self, index, value): cdef _setitemDouble(self, index, value):
@@ -308,10 +305,8 @@ cdef class _DynamicListBuilder:
index = index % size index = index % size
value_type = type(value) value_type = type(value)
if value_type is int: if value_type is int or value_type is long:
self._setitemInt(index, value) self._setitemInt(index, value)
elif value_type is long:
self._setitemLong(index, value)
elif value_type is float: elif value_type is float:
self._setitemDouble(index, value) self._setitemDouble(index, value)
elif value_type is bool: elif value_type is bool:
@@ -573,10 +568,6 @@ cdef class _DynamicStructBuilder:
return self._get(field) return self._get(field)
cdef _setattrInt(self, field, value): cdef _setattrInt(self, field, value):
cdef C_DynamicValue.Reader temp = C_DynamicValue.Reader(<long long>value)
self.thisptr.set(field, temp)
cdef _setattrLong(self, field, value):
cdef C_DynamicValue.Reader temp cdef C_DynamicValue.Reader temp
if value < 0: if value < 0:
temp = C_DynamicValue.Reader(<long long>value) temp = C_DynamicValue.Reader(<long long>value)
@@ -617,10 +608,8 @@ cdef class _DynamicStructBuilder:
# TODO: share code with _DynamicListBuilder.__setitem__ # TODO: share code with _DynamicListBuilder.__setitem__
value_type = type(value) value_type = type(value)
if value_type is int: if value_type is int or value_type is long:
self._setattrInt(field, value) self._setattrInt(field, value)
elif value_type is long:
self._setattrLong(field, value)
elif value_type is float: elif value_type is float:
self._setattrDouble(field, value) self._setattrDouble(field, value)
elif value_type is bool: elif value_type is bool: