def mul_calculate(num, denum, aslist=False, out_type=None):
if not num and not denum:
# Smallest 1 possible.
if aslist:
return []
else:
return numpy.int8(1)
# Make sure we do not accidently upcast data types.
if out_type is None:
out_dtype = scalar.upcast(*[v.dtype for v in (num + denum)])
else:
out_dtype = out_type.dtype
one = theano._asarray(1, dtype=out_dtype)
v = reduce(numpy.multiply, num, one) / reduce(numpy.multiply, denum, one)
if aslist:
if numpy.all(v == 1):
return []
else:
return [v]
return v
评论列表
文章目录