From cfd05df3f5318068a59641656825700d9d392807 Mon Sep 17 00:00:00 2001 From: Annika Date: Sun, 5 Jul 2026 20:54:07 -0700 Subject: [PATCH] refactored triangle, still getting segfault on triangles with horizontal upper bound --- test | Bin 41256 -> 41184 bytes test.cpp | 111 +++++++++++++++++++++++++++++++++++-------------------- 2 files changed, 70 insertions(+), 41 deletions(-) diff --git a/test b/test index c54dc493e3c244f3f53157b5411b96d5437b584e..fd10411978c6e41641f1c92fd6237fe652ca9f64 100755 GIT binary patch delta 8484 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