提交 c5ceabcf authored 作者: Vikram's avatar Vikram

Pep8 compliant

上级 f0cd8ba1
...@@ -2234,27 +2234,39 @@ def local_cast_cast(node): ...@@ -2234,27 +2234,39 @@ def local_cast_cast(node):
v = node.op(base) v = node.op(base)
return [v] return [v]
def upcast(type1, type2): def upcast(type1, type2):
''' """Given two data types (as strings), check if converting to
Given two data types (as strings), check if converting to
type2 from type1 constitutes an upcast. type2 from type1 constitutes an upcast.
'''
"""
upcast_pairs = ( upcast_pairs = (
('int8','int16'),('int8','int32'),('int8','int64'),('int16','int32'),('int16','int64'),('int32','int64'), ('int8', 'int16'), ('int8', 'int32'), ('int8', 'int64'),
('uint8','uint16'),('uint8','uint32'),('uint8','uint64'),('uint16','uint32'),('uint16','uint64'),('uint32','uint64'), ('int16', 'int32'), ('int16', 'int64'),
('float16','float32'),('float16','float32'),('float16','float64'),('float32','float64'), ('int32', 'int64'),
('complex64','complex128'), ('uint8', 'uint16'), ('uint8', 'uint32'), ('uint8', 'uint64'),
('uint16', 'uint32'), ('uint16', 'uint64'),
('uint8','int16'),('uint8','int32'),('uint8','int64'),('uint16','int32'),('uint16','int64'),('uint32','int64'), ('uint32', 'uint64'),
('int8','float16'),('int8','float32'),('int8','float64'),('int16','float32'),('int16','float64'),('int32','float64'), ('float16', 'float32'), ('float16', 'float32'), ('float16', 'float64'),
('uint8','float16'),('uint8','float32'),('uint8','float64'),('uint16','float32'),('uint16','float64'),('uint32','float64'), ('float32', 'float64'),
('complex64', 'complex128'),
('int8','complex64'),('int16','complex64'),
('uint8','complex64'),('uint16','complex64'), ('uint8', 'int16'), ('uint8', 'int32'), ('uint8', 'int64'),
('float32','complex64'), ('uint16', 'int32'), ('uint16', 'int64'),
('int8','complex128'),('int16','complex128'),('int32','complex128'), ('uint32', 'int64'),
('uint8','complex128'),('uint16','complex128'),('uint32','complex128'), ('int8', 'float16'), ('int8', 'float32'), ('int8', 'float64'),
('float32','complex128'),('float64','complex128') ('int16', 'float32'), ('int16', 'float64'),
('int32', 'float64'),
('uint8', 'float16'), ('uint8', 'float32'), ('uint8', 'float64'),
('uint16', 'float32'), ('uint16', 'float64'),
('uint32', 'float64'),
('int8', 'complex64'), ('int16', 'complex64'),
('uint8', 'complex64'), ('uint16', 'complex64'),
('float32', 'complex64'),
('int8', 'complex128'), ('int16', 'complex128'), ('int32', 'complex128'),
('uint8', 'complex128'), ('uint16', 'complex128'), ('uint32', 'complex128'),
('float32', 'complex128'), ('float64', 'complex128')
) )
for pair in upcast_pairs: for pair in upcast_pairs:
...@@ -2262,6 +2274,7 @@ def upcast(type1, type2): ...@@ -2262,6 +2274,7 @@ def upcast(type1, type2):
return True return True
return False return False
@register_canonicalize @register_canonicalize
@register_specialize @register_specialize
@gof.local_optimizer([T.Elemwise]) @gof.local_optimizer([T.Elemwise])
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论