summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJesper Jensen <jesper@jnsn.dev>2026-03-11 21:59:34 +0100
committerJesper Jensen <jesper@jnsn.dev>2026-03-11 21:59:34 +0100
commitcd1df8f7cb64539842eaad425df5fa7ec9c87fb5 (patch)
treee84450ddc91fc3785571267af89c3fbc292a85df /src
parent96c91046d390b6d5c557ed0a574eacd407cce48c (diff)
Add an example for non-solvable figure
Diffstat (limited to 'src')
-rw-r--r--src/solve.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/solve.c b/src/solve.c
index 8ea65c1..1e329dc 100644
--- a/src/solve.c
+++ b/src/solve.c
@@ -310,9 +310,6 @@ static size_t build_triangles(struct constraint *constraints, size_t constraints
} else continue;
}
- // constraints[i].forward = i_forward;
- // constraints[j].forward = j_forward;
-
add_frontier(&frontier, oppo_i);
constraints[i].used = true;
constraints[i].order = order++;
@@ -610,7 +607,7 @@ static void draw_solution(struct constraint *constraints, size_t fix, struct sol
&& local_i->type == COM_POINT
&& constraints[step->j].type == CT_POINT_LINE_DISTANCE
&& local_j->type == COM_LINE) {
- // @COPYPASTA: Taken from rigth above but swapped
+ // @COPYPASTA: Taken from above but with params swapped
assert(oppo_i->type == COM_POINT);
struct element *d1 = insert_cmd(drawing, (struct command){
@@ -691,13 +688,13 @@ bool solve_constraints(struct constraints *constraints, struct drawing *drawing)
}
// Check for unsolved constraints
+ bool complete = true;
for(size_t i = 0; i < constraints->length; i++) {
if(!constraints->elements[i].used) {
- free(steps);
- return false;
+ complete = false;
}
}
free(steps);
- return true;
+ return complete;
}