def test_vectorised_quat2axangle(random_quats):
    fast = vectorised_quat2axangle(random_quats)

    stored_axangles = np.ones((random_quats.shape[0], 4))
    for i, row in enumerate(random_quats):
        temp_ax = quat2axangle(row)[0]
        temp_angle = quat2axangle(row)[1]
        for j in [0, 1, 2]:
            stored_axangles[i, j] = temp_ax[j]
        stored_axangles[i, 3] = temp_angle  #in radians!

    assert np.allclose(fast, stored_axangles)
 def test_small_quat(self):
     qdata = np.asarray([[1e-8, 1e-8, 1e-8, 1e-8]])
     edata = vectorised_quat2axangle(qdata)
 def test_inf_quat(self):
     qdata = np.asarray([[0, np.inf, 1, 1]])
     edata = vectorised_quat2axangle(qdata)