次のdtypeのNumPy配列について考えてみますfloat32。
In [29]: x = numpy.arange(10, dtype=numpy.float32)
2を使用して乗算するとpytables.Expr、float32配列が返されます。
In [30]: tables.Expr('x * 2').eval().dtype
Out[30]: dtype('float32')
しかし、これにを掛けると2.0、float64配列が返されます。
In [31]: tables.Expr('x * 2.0').eval().dtype
Out[31]: dtype('float64')
結果がプロモートされないように、上記の式で浮動小数点リテラルを指定する方法はありますfloat64か?
より一般的には、float32配列を使用する式があり、結果も型であることを確認したいと思いますfloat32(float64中間計算に使用してもかまいませんが、結果をとして保存する余裕はありませんfloat64)。どうすればよいですか?