Search
15:12:43
Shinmera
Hmm, another failure that's in the reference implementation...
15:15:13
Shinmera
There's a test that seems to expect me to match up two different types of brackets as the same thing.
15:17:59
Shinmera
Either it expects me to match them, or it doesn't and I'm not handling unmatched parens right (even though the ref impl does the same)
15:20:48
Shinmera
Passed: 1'617'152 (89%)
15:21:07
Shinmera
Not sure how many of those failures are due to the weird ass X reordering tests.
15:25:00
Shinmera
If I skip all reordering tests:
15:25:05
Shinmera
Passed: 953'636 (100%)
15:25:16
Shinmera
Those 6 are due to the bracket stuff from above that I don't know how to deal with
17:33:15
Shinmera
Comparing the Unicode people's reference implementations it seems the Java implementation is just bugged
17:33:20
Shinmera
https://www.unicode.org/cldr/utility/bidic.jsp?s=%D7%90+%E2%8C%A9%D7%91.1%E3%80%89&b=0&u=110&d=2
17:33:22
Colleen
www.unicode.org/cldr/utilit... Website (HTML), Title: Unicode Utilities: BIDI (UBA) C Reference
17:33:29
Shinmera
Resolved Levels: [1 1 1 1 1 2 1]
17:33:36
Shinmera
https://www.unicode.org/cldr/utility/bidi.jsp?a=%D7%90+%E2%8C%A9%D7%91.1%E3%80%89&p=LTR
17:33:37
Colleen
www.unicode.org/cldr/utilit... Website (HTML), Title: Unicode Utilities: BIDI (UBA)
17:34:07
Shinmera
Resulting Level L1 L1 L1 L1 L1 L2 L0
17:34:36
gingerale
Huh, guess that explains things then?
17:35:46
Shinmera
Yeah, it just means I wasted a week trying to port an implementation that's broken
17:48:53
Shinmera
The C implementation is some 10'000 lines
18:44:53
Shinmera
Okey, regarding the brackets cases
18:45:30
Shinmera
it seems there was a missing special rule for U+232A U+2329 U+3008 U+3009
18:46:27
Shinmera
With that rule added all the tests from the bracket cases now pass (sans reordering tests)
19:09:43
Shinmera
the reordering logic in both fribidi and the c reference implementation is a lot more complex
19:09:52
Shinmera
so I guess that's where the last of the bugs hide
20:41:42
Shinmera
Passed: 1'815'582 (100%)
20:56:41
Shinmera
Okey, random strings can crash it, so that's a problem for tomorrow
20:56:45
Shinmera
also need to make it faster, of course.