(nparray)
| 4 | |
| 5 | |
| 6 | def deserialize_qp(nparray) -> brax.QP: |
| 7 | num_bodies = nparray.shape[-1] // 13 |
| 8 | batch_dims = nparray.shape[:-1] |
| 9 | slices = [num_bodies * x for x in [0, 3, 7, 10, 13]] |
| 10 | pos = jnp.reshape(nparray[..., slices[0]:slices[1]], batch_dims + (num_bodies, 3)) |
| 11 | rot = jnp.reshape(nparray[..., slices[1]:slices[2]], batch_dims + (num_bodies, 4)) |
| 12 | vel = jnp.reshape(nparray[..., slices[2]:slices[3]], batch_dims + (num_bodies, 3)) |
| 13 | ang = jnp.reshape(nparray[..., slices[3]:slices[4]], batch_dims + (num_bodies, 3)) |
| 14 | return QP(pos=pos, rot=rot, vel=vel, ang=ang) |
| 15 | |
| 16 | |
| 17 | def serialize_qp(qp) -> jnp.array: |
no outgoing calls
no test coverage detected