@ti.kernel
def compute_actuation(t: ti.i32):
    for i in range(n_actuators):
        act = 0.0
        for j in ti.static(range(n_sin_waves)):
            act += (weights[(i, j)] * ti.sin((((actuation_omega * t) * dt) + (((2 * math.pi) / n_sin_waves) * j))))
        act += bias[i]
        actuation[(t, i)] = ti.tanh(act)
@ti.kernel
def compute_actuation(t: ti.i32):
    for i in range(n_actuators):
        act = 0.0
        for j in ti.static(range(n_sin_waves)):
            act += (weights[(i, j)] * ti.sin((((actuation_omega * t) * dt) + (((2 * math.pi) / n_sin_waves) * j))))
        act += bias[i]
        actuation[(t, i)] = ti.tanh(act)