sheaf
24f182feec
add stroke layer view
2024-09-27 23:36:33 +02:00
sheaf
0eb0724dde
Refactors in preparation for stroke hierarchy
2024-09-27 17:21:24 +02:00
sheaf
8b3705b8d1
Set GDK_SCALE = 2 by default
2024-09-08 17:04:41 +02:00
sheaf
e2e4ae6bfe
UI: use GTK Window instead of MessageDialog
2024-09-07 11:28:07 +02:00
sheaf
fc2f25cfa6
UI: use GTK4 FileDialog API
2024-09-06 18:48:04 +02:00
sheaf
bb9b381cb5
workaround for TH linking bugs
2024-09-06 13:08:40 +02:00
sheaf
9ff25a25aa
cleanups
2024-08-29 01:46:50 +02:00
sheaf
2bae92dc5e
more SIMD experiments
2024-08-29 00:26:19 +02:00
sheaf
ed8720555f
improve D to use Nat for domain
2024-08-05 17:49:04 +02:00
sheaf
5f98165276
WIP: SIMD experiments
2024-08-01 21:36:44 +02:00
sheaf
e64ce375d2
housekeeping
2024-07-29 13:39:13 +02:00
sheaf
7bb28f8c96
brush widget UI: don't allow 0 width or height
2024-05-28 10:36:26 +02:00
sheaf
56939ce01a
GTK 4.14 compatibility
2024-05-28 10:24:47 +02:00
sheaf
300fbf92c0
fixes to brush widget UI
2024-05-25 17:04:08 +02:00
sheaf
77a36e1f0b
add more info to cusps benchmark output
2024-05-25 12:41:10 +02:00
sheaf
af66b3b5ac
update bounds for GHC 9.10
2024-05-23 11:17:36 +02:00
sheaf
91ac61e3cd
WIP: add Walter's LP approach to interval Newton
2024-05-23 11:04:17 +02:00
sheaf
1ec2af6dcc
WIP: add brush widget UI
2024-05-21 19:40:22 +02:00
sheaf
2a21980ffc
Fix issues in withTangent & strictlyParallel function
2024-04-29 19:35:53 +02:00
sheaf
63b9703faf
UI tweaks
2024-04-25 21:53:53 +02:00
sheaf
c89fba7fd2
Improve specialisation + add degree computation
2024-04-25 21:53:27 +02:00
sheaf
6450859e3c
Bench with & without box(1)-consistency algorithm
2024-04-24 02:04:13 +02:00
sheaf
17df43c5d7
Commentary in tearDropBrushFn
2024-04-24 01:47:01 +02:00
sheaf
32ce7c38bb
Add some commentary to Gauss-Seidel function
2024-04-24 01:30:24 +02:00
sheaf
a59f1695fb
Sprinkle in a bit of unicode
2024-04-24 01:03:46 +02:00
sheaf
edba0416aa
Add complete interval-union Gauss–Seidel step method
2024-04-24 00:13:06 +02:00
sheaf
ac9deb968a
Clean up benchmarking component
2024-04-22 22:11:07 +02:00
sheaf
0c54de8b1c
Update Eigen to expose unsafeCoeff
2024-04-22 20:12:31 +02:00
sheaf
d797abc5e4
Modularise root isolation algorithms
...
Different root isolation algorithms now live in separate modules,
and are all instances of the RootIsolationAlgorithm typeclass.
This separates the algorithmic code from the top-level driver code
in Math.Root.Isolation.
2024-04-22 20:06:03 +02:00
sheaf
b1df0d04e6
Always run Gauss-Seidel at tiny sizes to rule out fake solutions
2024-04-22 01:52:29 +02:00
sheaf
0e59d85143
Use 'n choose k' to choose Gauss-Seidel dimensions
2024-04-21 21:15:07 +02:00
sheaf
0e6b9a822b
Documentation in root isolation module
2024-04-21 20:35:35 +02:00
sheaf
8009983b37
Slight refactor of bisection dimension choosing logic
2024-04-21 20:10:37 +02:00
sheaf
ced714987e
Implement adaptive shaving algorithm
2024-04-21 18:09:21 +02:00
sheaf
01fdd9a126
Improve robustness of quadratic equation solver
...
Based on ideas from the paper
"The Ins and Outs of Solving Quadratic Equations with Floating-Point Arithmetic"
(Frédéric Goualard, 2023)
Could still be improved further, but I think this is acceptable for now.
2024-04-21 14:19:37 +02:00
sheaf
1338d7ddbe
Improve intervallic rotation computations
...
This commit bakes in a certain kind of representation for brush strokes:
c(t,s) = p(t) + R(theta(t)) b(t,s)
This representation allows us to cancel out some rotation terms when
computing the envelope equation, improving the efficiency of the
cusp-finding methods.
2024-04-20 18:28:41 +02:00
sheaf
2b167f594a
Make it easier to switch between 2 and 3-dim
...
This commit makes it easier to switch between the 2-dim and 3-dim
formulations of the cusp-finding problem. This is still work in progress,
trying to improve the performance of the cusp-finding algorithms.
2024-04-18 21:33:55 +02:00
sheaf
0160081e80
Further modularisation of root isolation code
...
The code is now generic over the dimension. There is a slight performance
loss that I need to investigate; perhaps some things are not getting
specialised? Maybe it is better to be more explicit about staging and
splice in the functions with fixed dimensions.
2024-04-18 20:14:19 +02:00
sheaf
131753da82
Split off root-isolation algorithms into Math.Root.Isolation
2024-04-17 20:41:21 +02:00
sheaf
bd468fcf82
start modularising cusp finding code
2024-04-05 17:48:53 +02:00
sheaf
55470d1f0e
make cusp-finding algorithm choice more configurable
2024-04-03 18:46:08 +02:00
sheaf
a183475985
Cusp finding: implement bound consistency improvement
2024-03-14 21:50:34 +01:00
sheaf
61671dc280
Implement box(1) consistency check for cusp finding
2024-03-13 18:00:37 +01:00
sheaf
60ebf7886f
Split up succFP etc into separate module
2024-03-11 14:09:54 +01:00
sheaf
34c129d72a
Add tests and fix MonomialBasis D3A3 instance
2024-03-08 15:35:39 +01:00
sheaf
cebfeb0b7a
Fix some more issues with interval recip
2024-03-06 16:07:21 +01:00
sheaf
2289468a84
Fixes and restructuring
2024-02-28 17:20:34 +01:00
sheaf
26cfdada8f
Fix extendedRecip (negative infinity)
2024-02-24 19:37:34 +01:00
sheaf
d1b3765335
Split out benchmark for cusp finding
2024-02-23 17:03:28 +01:00
sheaf
b70f7ba133
Add mechanisms to log envelope equation data
2024-02-19 16:46:09 +01:00