-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Description
EDIT: note it is not completely obvious what is right, since it may not be so easy to ensure that, e.g., erfa.cpv produces output with the same field names as the input.
Right now, the erfa functions insist on the correct field names:
In [14]: pv1 = np.array([([0.,1.,2.], [3.,4.,5.])], dtype=np.dtype([('p', '3f8'), ('v', '3f8')]))
In [15]: pv2 = np.array(([5.,4.,3.], [2.,1.,0.]), dtype=np.dtype([('pos', '3f8'), ('vel', '3f8')]))
In [16]: erfa.cpv(pv1)
Out[16]:
array([([0., 1., 2.], [3., 4., 5.])],
dtype={'names':['p','v'], 'formats':[('<f8', (3,)),('<f8', (3,))], 'offsets':[0,24], 'itemsize':48, 'aligned':True})
In [17]: erfa.cpv(pv2)
TypeError: ufunc 'cpv' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''same_kind''
Yet, numpy works by position and allows e.g. the following:
In [18]: pv1[:] = pv2
In [19]: pv1
Out[19]:
array([([5., 4., 3.], [2., 1., 0.])],
dtype=[('p', '<f8', (3,)), ('v', '<f8', (3,))])
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels