270 Commits

Author SHA1 Message Date
Chang, Harry
a388a0f193 Fix sheng64 dump compile issue in clang. 2021-01-25 14:13:13 +02:00
Chang, Harry
c41d33c53f Fix sheng64 compile issue in clang and in DEBUG_OUTPUT mode on SKX. 2021-01-25 14:13:13 +02:00
Chang, Harry
ed4b0f713a SHENG64: 64-state 1-byte shuffle based DFA. 2021-01-25 14:13:13 +02:00
Chang, Harry
6a42b37fca SHENG32: Compile priority sheng > mcsheng > sheng32. 2021-01-25 14:13:13 +02:00
Chang, Harry
cc747013c4 SHENG32: 32-state 1-byte shuffle based DFA. 2021-01-25 14:13:13 +02:00
Hong, Yang A
d71515be04 DFA: use sherman economically 2021-01-25 14:13:13 +02:00
Konstantinos Margaritis
b62247a36e borrow cache prefetching tricks from the Marvell port, seem to improve performance by 5-28% 2021-01-25 12:13:35 +02:00
Konstantinos Margaritis
5333467249 fix names, use own intrinsic instead of explicit _mm* ones 2020-09-23 11:51:21 +03:00
Hong, Yang A
88a18dcf98 add AVX512 support for vermicelli model 2020-05-25 13:47:53 +00:00
Pavel Shlyak
3ca3602755 A tiny cleanup 2019-12-02 16:40:38 +00:00
Hong, Yang A
b5a8644b1f mcclellan: fix dump issue in wide-state case. 2019-01-21 09:59:29 +08:00
Hong, Yang A
805a550a0a mcclellan: wide state fixes for sanitisers and accept state construction 2019-01-21 09:58:18 +08:00
Hong, Yang A
c06d5e1c14 DFA state compression: 16-bit wide and sherman co-exist 2019-01-21 09:56:37 +08:00
Wang, Xiang W
8a0e4f8249 Use std::distance explicitly to avoid ambiguity with boost 2019-01-11 16:05:55 +08:00
Justin Viiret
16076ed4a3 mcsheng: debug format string fixes 2018-06-27 13:39:30 +08:00
Justin Viiret
25adf3f512 sheng: fix reportCurrent eod flag
eod here should be 0, not 1. The reportCurrent NFA API function for
Sheng is unused at the moment, so this wasn't causing any problems
earlier.
2018-06-27 13:39:24 +08:00
Justin Viiret
e65479dae5 mcclellancompile: MAX_SHERMAN_LIST_LEN can be 9 2018-06-27 13:39:10 +08:00
Justin Viiret
ce7cfbde82 misc: docs, typo fixes, small cleanups 2018-06-27 13:39:05 +08:00
Hong, Yang A
ae918116ab find_better_daddy: position change 2017-09-18 13:31:09 +10:00
Justin Viiret
ea2e85ac87 ng_squash: switch to using unordered_map
Also some cleaning up, small performance improvements.
2017-09-18 13:29:34 +10:00
Matthew Barr
29e1aae3fb Use an unsigned byte, not char 2017-09-18 13:29:33 +10:00
Justin Viiret
b694fed727 mcclellancompile: simplify calc_min_dist_from_bob 2017-09-18 13:29:33 +10:00
Justin Viiret
58c3de0d33 mcclellancompile: don't copy dstate unnecessarily 2017-09-18 13:29:33 +10:00
Justin Viiret
3b392d6b70 accel_dfa_build_strat: make extend() faster 2017-09-18 13:29:33 +10:00
Justin Viiret
d5b3f2b508 gatherReports: fewer map lookups 2017-09-18 13:26:05 +10:00
Justin Viiret
ba6f638c40 accel_dfa_build_strat: use flat_set 2017-09-18 13:26:05 +10:00
Justin Viiret
14333f5b0b rdfa: make getImplAlphaSize() inline 2017-09-18 13:25:52 +10:00
Justin Viiret
84030aa0fc castlecompile: remove unused container 2017-09-18 13:25:52 +10:00
Justin Viiret
d55e8fdf94 limex_compile: reduce state id lookups 2017-08-21 11:24:52 +10:00
Justin Viiret
58004f15f0 limex_compile: turn tugs into a bitset 2017-08-21 11:24:52 +10:00
Alex Coyte
1f3cfdccef mergeCastle: merge common repeats from the castles 2017-08-21 11:18:54 +10:00
Justin Viiret
33823d60d1 tidy: "ue2::flat_set/map" -> "flat_set/map" 2017-08-21 11:14:59 +10:00
Justin Viiret
9cf66b6ac9 util: switch from Boost to std::unordered set/map
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.

The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
21a4c8d4e2 rdfa: move raw_dfa member functions to rdfa.cpp 2017-08-21 11:12:26 +10:00
Justin Viiret
48f9a6d518 limex_compile: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
4105dd4805 tamarama_dump: fix typo in comment 2017-08-21 11:12:16 +10:00
Justin Viiret
06fa790b5d tamarama_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
63f3718c79 shengdump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
08e094748c mpv_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
6c647c2fb8 mcsheng_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
74f6e41296 mcclellandump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
0b40e96385 limex_dump: use StdioFile, tidy 2017-08-21 11:12:16 +10:00
Justin Viiret
80cf4bd9a2 lbr_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
a16a6f48b0 goughdump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
11408d0ce3 goughcompile_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
a18fbfe873 castle_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
75e4aefabe dfa: don't clear states, just mark dfa dead
The previous change caused some assertion issues.
2017-08-21 11:10:11 +10:00
Justin Viiret
3d4d39b8a9 clear_deeper_reports: clear dfa if dead
If we remove all the reports from the DFA because they're too deep, then
clear the DFA without depending on Hopcroft minimisation.
2017-08-21 11:10:11 +10:00
Justin Viiret
85f7790a21 dfa: standardise 'using' instead of typedef 2017-08-21 10:40:18 +10:00
Justin Viiret
31141dd35b determinise: use queue, improve api
- Use a queue rather than always building the full vector of state
   sets.
 - Make more use of move, emplace, reserve.
 - Write directly into dstates argument.
 - Return bool rather than int.
2017-08-21 10:40:18 +10:00