frames_equal_or_skip#

t3toolbox.safety.frames_equal_or_skip(data1, data2)#
def frames_equal_or_skip(data1, data2):

The convenience guard for “same frame”: True when checks are inactive (unsafe / under a trace) or when the frames are numerically equal (jax-aware tolerance) – so a call site reads:

if not (b1 is b2 or safety.frames_equal_or_skip(b1.data, b2.data)):
    raise ValueError('tangents are in different tangent spaces')

The b1 is b2 identity is the O(1) fast path; this only runs (and only matters) when the objects differ but may still represent the same frame (the jit round-trip).