meshgrid dtype casting

I'm trying to build a meshgrid with small nonnegative integers
default is int32
np.meshgrid([0,1,2], [0,1])[0].dtype
dtype('int32')
If I use uint, then the arrays are upcast to int64 - Why?
np.meshgrid(np.array([0,1,2], np.uint), np.array([0,1],
np.uint))[0].dtype dtype('int64')
broadcast_arrays preserves dtype
np.broadcast_arrays(np.array([0,1,2], np.uint)[:,None], np.array([0,1],
np.uint)[None, :]) [array([[0, 0], [1, 1], [2, 2]], dtype=uint32), array([[0, 1], [0, 1], [0, 1]], dtype=uint32)]
with uint8
np.broadcast_arrays(np.array([0,1,2], np.uint8)[:,None],
np.array([0,1], np.uint8)[None, :]) [array([[0, 0], [1, 1], [2, 2]], dtype=uint8), array([[0, 1], [0, 1], [0, 1]], dtype=uint8)]
np.meshgrid(np.array([0,1,2], np.uint8), np.array([0,1],
np.uint8))[0].dtype dtype('int32')
Winpython 64 bit
np.__version__
'1.9.2rc1'
Josef
participants (1)
-
josef.pktd@gmail.com