copilot-swe-agent[bot]
|
32021fbe35
|
Implement Looseness, Threshold Pruning, and Flagged Penalties
Feature 1: Looseness (Complete Implementation)
- Added alt-paths hash table to track alternative paths by (position, line-count)
- Modified DP loop to track all paths reaching each position
- ekp--dp-trace-breaks-with-looseness uses alt-paths to find closest match
- Added ekp--dp-trace-alt-path helper with safety limit
Feature 2: Threshold Pruning
- Added ekp-threshold-factor variable (default 0 = disabled)
- Paths with demerits > best × (1 + factor) are skipped
- Tracks best-end-demerits during DP for pruning decisions
Feature 3: Flagged Penalties (Forced Breaks)
- Added flagged-positions field to ekp-para struct
- Added ekp-flagged-penalty variable (negative = preferred)
- Added ekp--flagged-p with O(log n) binary search
- Modified DP to always accept flagged breaks
Tests:
- ekp-test-unit--hyphenate-p-binary-search
- ekp-test-unit--flagged-p-binary-search
- ekp-test-unit--alt-paths-hash
- ekp-test-unit--threshold-factor
- ekp-test-unit--flagged-penalty
- Updated ekp-test-unit--struct-access for new fields
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
|
2026-01-25 11:35:30 +00:00 |
|
Kinneyzhang
|
6421f6b1fb
|
refactor ekp cache and code improve
|
2026-01-24 22:40:53 +08:00 |
|
Kinneyzhang
|
68b46f8337
|
code improve
|
2026-01-24 20:44:38 +08:00 |
|
Kinneyzhang
|
ca9349e99f
|
fix bug when text is blank string
|
2025-09-26 00:18:37 +08:00 |
|
Kinneyzhang
|
820e73920a
|
update test
|
2025-08-22 00:15:33 +08:00 |
|
Kinneyzhang
|
37baccded8
|
keep original text properties of string after typesetting
|
2025-08-22 00:06:14 +08:00 |
|
Kinneyzhang
|
b6ee3dedcc
|
fix bug when a line only has one word ends with hyphen
|
2025-07-29 15:43:23 +08:00 |
|
Kinneyzhang
|
eb78e5316f
|
fix _ local variable bug
|
2025-07-28 16:58:30 +08:00 |
|
Kinneyzhang
|
b6f6616b81
|
add chinese example
|
2025-07-28 00:33:53 +08:00 |
|
Kinneyzhang
|
a265357e41
|
update readme
|
2025-07-27 21:35:44 +08:00 |
|