Commit graph

69 commits

Author SHA1 Message Date
Simon Bruder 085b8fcdb9 u02/tests: Fix edge case for invalid points 2023-05-16 16:49:22 +02:00
Simon Bruder 8f784ccf3e u02/tests: Fix skipping behaviour
When the test runner only tests one case, it exits with a non-zero exit
code should that test invoke a skip (even if there are 1000+ successful
iterations).

This fixes this by falling back to a cheap message to stderr.
2023-05-16 16:49:22 +02:00
Simon Bruder ad02a06db4 u02/tests: Fix floating point comparison
I didn’t really understand what WithinRel and WithinAbs do. Now I know
that for this use case WithinAbs is the better choice.

This also increases the allowed deviance for the average point of all
points of a star, because this would now fail for larger values.
2023-05-16 16:49:22 +02:00
Simon Bruder d4794e1544 u02/tests: Add average point test for star 2023-05-16 16:49:22 +02:00
Simon Bruder 583f2ecd3e u02: Implement preview for star
It is fixed to a star with 5 spikes, but better than a circle.
2023-05-16 16:49:22 +02:00
Simon Bruder 85e38a358d u02/tests: Use floats for r/d in circle prop test
It does not improve the test’s accuracy, but it seems weird to first
convert the radius to an int and then save the distance as a double.
2023-05-16 16:49:22 +02:00
Simon Bruder 2226fb32af u02: Implement star tool 2023-05-16 16:49:22 +02:00
Simon Bruder 7e06373aa1 u02: Add star tool skeleton 2023-05-10 17:07:03 +02:00
Simon Bruder 0d316d7aeb Add note on filtering 2023-05-09 23:50:31 +02:00
Simon Bruder a1f8720e74 Add filtering script 2023-05-09 23:50:31 +02:00
Simon Bruder 25e159d96b u02/util: Simplify conditions 2023-05-09 23:50:31 +02:00
Simon Bruder 7e8dbfabea u02: Implement sweep line tool 2023-05-09 23:50:31 +02:00
Simon Bruder 49cd0f201a u02/tests: Lower target precision for barycentric coordinates 2023-05-09 23:47:47 +02:00
Simon Bruder 1f6f079edf u02: Test edge case for barycentric coordinates 2023-05-09 23:47:47 +02:00
Simon Bruder 8822dbe7df u02: Extract slope function 2023-05-09 23:47:47 +02:00
Simon Bruder 7de6c3cae3 u02: Implement sorting for 3 points 2023-05-09 23:47:47 +02:00
Simon Bruder 04527ef711 u02: Implement barycentric coordinates 2023-05-09 23:47:47 +02:00
Simon Bruder 2fd207f5f4 u02/tool_base: Add draw with three points 2023-05-09 23:47:47 +02:00
Simon Bruder 0de522004b u02/tool_base: Add draw with no point 2023-05-09 23:47:47 +02:00
Simon Bruder 11da9a4d79 u02/tests: Add link to desmos for circle 2023-05-09 23:47:47 +02:00
Simon Bruder e942c62ad6 u02: Implement bresenham circle tool 2023-05-09 23:47:47 +02:00
Simon Bruder 6b63595986 flake.{nix,lock}: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/cd749f58ba83f7155b7062dd49d08e5e47e44d50' (2023-04-17)
  → 'github:nixos/nixpkgs/897876e4c484f1e8f92009fd11b7d988a121a4e7' (2023-05-06)
2023-05-09 23:47:47 +02:00
Simon Bruder f81098f259 u02/tests: Use const where possible 2023-05-09 23:47:47 +02:00
Simon Bruder b780d4b8c4 u02: Implement rectangle tool 2023-05-09 23:47:47 +02:00
Simon Bruder 5a1ba0ca93 u02: Replace fill test to use test shape 2023-05-09 23:47:47 +02:00
Simon Bruder dfeb329a52 u02: Add property test for equality of fill tools 2023-05-09 23:47:47 +02:00
Simon Bruder 625c257f3f u02: Implement non recursive fill tool 2023-05-09 23:47:47 +02:00
Simon Bruder c851767445 u02: Implement recursive fill tool 2023-05-09 23:47:47 +02:00
Simon Bruder 649d5da18a u02: Implement bresenham line tool 2023-05-09 23:47:47 +02:00
Simon Bruder 240d5435f2 u02: Improve test performance 2023-05-09 23:47:47 +02:00
Simon Bruder 8b88c14b02 u02: Make DDA incremental 2023-05-09 23:47:46 +02:00
Simon Bruder 708e501245 u02: Implement DDA line tool 2023-05-09 23:47:46 +02:00
Simon Bruder fab356c308 u02: Implement transformation to standard case 2023-05-09 23:47:46 +02:00
Simon Bruder 18456541aa u02: Implement transformation functions 2023-05-09 23:47:46 +02:00
Simon Bruder 837a1e5519 u02/CMake: Install built binary 2023-05-09 23:47:46 +02:00
Simon Bruder d5340b315b u02/CMake: Add vim modeline 2023-05-09 23:47:46 +02:00
Simon Bruder 60eb346e2c u02: Convert latin1 to UTF-8 2023-05-09 23:47:46 +02:00
Simon Bruder dfa6d381ca u02: dos2unix 2023-05-09 23:47:46 +02:00
Simon Bruder cc32e483e0 u02: Format 2023-05-09 23:47:46 +02:00
Simon Bruder 2c741916bf u02: Add skeleton 2023-05-09 23:47:46 +02:00
Simon Bruder 60a8abfe34 u01: Accept reference for node::set_name
This harmonizes the signatures of set_name and the constructor.
2023-05-09 23:25:04 +02:00
Simon Bruder 63431b6824 u01: Add test case for very short loop
This actually worked, but it is nice to have it verified nonetheless.
2023-05-09 23:25:04 +02:00
Simon Bruder 8a07422a51 u01: Fix typo in comment 2023-05-09 23:25:04 +02:00
Simon Bruder 9db38c33f5 u01: Don’t call make_pair explicitly 2023-05-09 23:25:04 +02:00
Simon Bruder f7e5769f8d u01: Fix type of children count in one case 2023-05-09 23:25:04 +02:00
Simon Bruder 5ce178b914 u01/tests: Fix typo 2023-05-09 23:25:04 +02:00
Simon Bruder db4d489ae8 u01: Consistently use size_t and unsigned int
size_t should only be used for indexing. For all other purposes,
unsigned int should be used.
2023-05-09 23:25:04 +02:00
Simon Bruder 5c8784c9f4 Add note on compile_commands.json to readme 2023-05-09 23:25:04 +02:00
Simon Bruder e138a4d58c Add global readme 2023-05-09 23:25:04 +02:00
Simon Bruder a4e9c4abda Licence under GPL v3 or later 2023-05-09 23:25:04 +02:00