// Minimal smoke test for r3cts header-only library #include #include "r3cts.h" r3_constraint constraints[] = { {0, 1, 7}, // x₁ ≥ x₀ + 7, {0, 2, 15}, // x₂ ≥ x₀ + 15, etc. {1, 2, 6}, {2, 3, 8}, {2, 3, 4}, {2, 3, 9}, {2, 3, 2}, }; r3_constraint *latest[5] = {0}; r3_system r3 = { .n = 5, .latest = latest }; int main() { for (int i = 0; i < sizeof(constraints)/sizeof(constraints[0]); i++) { const char *err = r3_add_constraint(&r3, &constraints[i]); if (err) { fprintf(stderr, "Can’t add constraint %d: %s\n", i, err); return 1; } } int position[5]; r3_solve_system(&r3, position); for (int i = 0; i < r3.m; i++) printf("%d: %d; ", i, position[i]); puts(""); return 0; }