19 Commits

Author SHA1 Message Date
e832407ea0 Mostly revert ef01f37
That commit message was a lie, it did not improve performance but actually reduce it significantly...

I had accidentally added a lot of complexity due to the std::list data structure. this approach might seem more redundant, but it's much faster with rectangles (like 100x faster) and doesn't seem to make a difference in the other cases.
2020-12-07 00:17:20 +01:00
7bfa0f0ed2 Add Akl Heuristic in performance mode
Doesn't seem to make much of a difference though :(

but another issue was fixed in the meantime (we weren't actually usign the leftmost and rightmost points!)
2020-12-06 22:09:35 +01:00
ef01f37834 Improve performance of straight line edge case handling 2020-12-06 19:56:16 +01:00
82c0df1840 Fix rectangle behavior properly, minor improvements 2020-12-06 19:37:47 +01:00
482a9eb30e adding temp debug output to show slowdown -> TODO: revert this commit 2020-11-30 23:38:47 +01:00
ce7e9fa015 refactoring to allow cmd arg "runs" to execute perf mode multiple times -> TODO: dunno why every step gets slower? oO 2020-11-30 23:28:58 +01:00
40f6a6cb04 removed unbelievably ugly newline 2020-11-30 18:07:29 +01:00
c6ea56a0a4 moved mode dependent and file read number generation into NumberGenerator 2020-11-30 16:07:14 +01:00
1c73b14f24 merged performance into main -> now used vor vis and perf mode; adding param akl for heuristic 2020-11-30 15:43:42 +01:00
071ff11f0d including only limits... not full std c++ lib 2020-11-29 18:10:56 +01:00
6056640ad4 replaced pragma once with classic defines to omit warnings in gcc 2020-11-29 03:13:39 +01:00
6654519d84 Change distance_to to distance_squared_to
more efficiency! (and we only need it for comparisons anyways)
2020-11-29 01:38:07 +01:00
c0bba8b264 Add temp workaround for rectangle
Getting both rectangle sides to work as intended is tricky. This works, but should be replaced with something better.
2020-11-29 01:27:59 +01:00
b9fd11ca0d Fix bug where distance would be too close to 0 to register
the furthest_distance now starts at -1 instead of 0 - if there's a point with a distance of 0, that's fine.

This caused issues in the circle previously.
2020-11-29 01:01:03 +01:00
535d912742 Likely performance improvement by limiting points
Instead of just deleting points in the triangle, we only check specific ones which are relevant
2020-11-28 23:58:17 +01:00
79111d184b Finish Quickhull functionality + basic test
The performance mode, which I'm working on, can now be tested with `make performance && ./performance`.

A very simple test was added, and it works!
2020-11-28 22:21:48 +01:00
acfb3a4500 More Quickhull implementation; add Triangle class 2020-11-28 21:11:32 +01:00
d1d170f558 Some work on Quickhull
Also added basic arithmetic to Point, and a class for a Line
2020-11-28 20:47:52 +01:00
cb4d223780 Add outline for Quickhull algorithm
Mostly comments for now
2020-11-23 22:57:30 +01:00