Commit graph

219 commits

Author SHA1 Message Date
fad1580379 Fix GCC false positive -Warray-bounds in geom::swizzle when using ubsan 2024-11-19 19:09:01 +03:00
8617fac987 Fix usage of math functions in geom::vector to be ADL-friendly 2024-09-05 23:15:37 +03:00
82f7d5d429 Rename util::begin/end -> xbegin/xend to prevent ambiguity via ADL 2024-08-17 20:19:07 +03:00
e3750707bc Refactor geom::pointwise* and add geom::pointwise_pow 2024-07-04 22:58:18 +03:00
22a57f91db Huge refactor: use util::hash_table instead of std::unordered everywhere 2024-06-03 14:36:39 +03:00
d4f08acf24 Fix return type of geom::lerp 2024-05-26 17:11:08 +03:00
01b8bd3d59 Add pointwise log & exp for geom::vectors 2024-05-23 16:51:40 +03:00
ff1c144f25 Add geom::outer_product 2024-03-16 00:25:20 +03:00
49eafc4806 Add geom::cross_product_matrix 2024-03-15 23:26:54 +03:00
718d0c7d04 Add geom::project_from 2024-03-14 12:54:12 +03:00
d179ef65a2 Add geom::cast(quaternion) 2024-03-14 08:42:09 +03:00
84ef3faa68 Use faster quaternion rotation formula 2024-02-28 17:06:48 +03:00
540d63ce5b Add geom::compare_swap utility function 2024-02-28 17:06:48 +03:00
f5bd285336 Add geom::closed(interval) for iterating over closed interval 2024-01-17 11:49:14 +03:00
a36d25a34b Add geom::pointwise_divide 2024-01-06 19:57:26 +03:00
7611d375dc Add solving/inverting lower & upper triangular systems/matrices and tests 2023-12-28 19:01:14 +03:00
05b7f2d560 Add cholesky decomposition implementation & tests 2023-12-28 17:53:42 +03:00
2364c15120 Add QR eigenvalue algorithm and tests (non-symmetric tests need some more checking) 2023-12-28 17:16:12 +03:00
5eef1e13f5 Support pretty-printing matrices 2023-12-28 17:15:15 +03:00
5e61832a9b Add QR decomposition implementation & tests 2023-12-28 13:25:17 +03:00
f9dda53c61 Better idiv & imod implementation 2023-11-02 20:15:45 +03:00
67c7ce0878 Use concepts in geom::point and vector constructors 2023-08-15 11:47:20 +03:00
85d7a0ca33 Huge refactor: use util::exception everywhere instead of std exceptions 2023-08-06 18:33:07 +03:00
703ba37394 Add geom::isfinite for some primitive types 2023-06-21 13:17:09 +03:00
2e2df09790 Add geom::concat 2023-06-12 14:35:39 +03:00
cc4b2c645b Replace float_t with float (like wtf) 2023-05-13 00:04:41 +03:00
4b223c5ed1 MacOS compilation fixes 2023-04-28 13:21:58 +03:00
c26f626baf GCC 12 compilation fixes 2023-03-26 23:51:40 +03:00
cac70befe5 Make geom::swizzle work for boxes 2023-03-09 11:37:54 +03:00
73711b8ffa Fix geom::inverse(affine_transform) 2023-03-03 15:34:38 +03:00
ac436cb155 Add geom::simplex hash 2023-02-28 01:35:25 +03:00
84b804adf7 Add geom::gradient default constructor 2023-02-25 12:42:15 +03:00
10ddf4933b Fix bug in geom::cubic_hermite 2023-02-14 23:48:17 +03:00
43e95e89f3 Add cubic hermite spline to geom 2023-02-14 13:50:43 +03:00
fdcf0d5b88 MacOS fixes 2023-01-16 23:53:34 +03:00
f6d9b14f38 Add group -> matrix converter 2023-01-15 22:42:24 +03:00
3ed7f142d7 Comment fix 2023-01-15 22:41:51 +03:00
5a0469364f Add geom::contains(box, box) 2022-12-24 23:53:46 +03:00
3f382651c4 Add geom::polygon_distance 2022-12-15 20:11:06 +03:00
d01a8186d8 Add geom::polygon_contains 2022-12-15 20:10:57 +03:00
8688b84982 Make geom::gram_schmidt return false instead of normalizing a zero vector 2022-11-20 01:39:05 +03:00
445ac3419e Fix NaN in geom::slerp 2022-11-19 01:57:33 +03:00
28fbe8daf8 Disable GMP dependence if PSEMEK_ROBUST_PREDICATES is not set 2022-10-01 14:43:31 +03:00
4c976272c5 Switch from define-based to tag-based robust predicates switch 2022-09-16 18:57:53 +03:00
46458abd71 Improve the non-robust geom::in_circle predicate and generalize to any directions 2022-09-16 17:56:11 +03:00
742c74e07e Revert defaulted three-way comparison: ubuntu 22.04 doesn't have mingw-11 yet 2022-08-06 19:15:39 +03:00
c28b93aadc Use defaulted three-way comparison for geom::vector, point, and matrix 2022-08-05 12:02:41 +03:00
48801a69da Add geom::smoothstep & smootherstep 2022-08-04 11:43:07 +03:00
96d9a3e192 Add geom::intersection(segment,cylinder) 2022-07-10 11:13:37 +03:00
bdb1a203ff Add geom::cylinder deduction guides 2022-07-10 11:13:26 +03:00