int64_t T(int i) {
    if (i <= 1) return 0;
    if (i == 2) return 1;

    int64_t curr = 0, prev = 0, next = 1;
    for (int k = 2; k < i; k++) {
        curr = prev + next;
        prev = next;
        next = curr;
    }

    return curr;
} is there better way to make tribonacci sequence?