次の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
)。どうすればよいですか?