1038 Commits

Author SHA1 Message Date
Hong, Yang A
205a5bc98f multibit compression support 2017-08-21 11:19:11 +10:00
Alex Coyte
5f6291529f hsbench: add stream compress functionality 2017-08-21 11:19:11 +10:00
Alex Coyte
952f0aad21 support dynamic stream compression 2017-08-21 11:18:54 +10:00
Alex Coyte
d9e2c3daca make ComponentRepeat::vacuous_everywhere() more accurate 2017-08-21 11:18:54 +10:00
Alex Coyte
1f3cfdccef mergeCastle: merge common repeats from the castles 2017-08-21 11:18:54 +10:00
Alex Coyte
f8544505ce mergeLeftfixesVariableLag: update comments, debugging support 2017-08-21 11:18:54 +10:00
Chang, Harry
404f739811 Compile dump of teddy's nibble masks and reinforcement table in fdr_dump.cpp 2017-08-21 11:18:43 +10:00
Justin Viiret
14cf5c3684 small_vector: require boost >= 1.61
We use the small_vector constructors introduced in Boost 1.61 (trac bug
11866, github commit b436c91). If the Boost version is too old, we fall
back to using std::vector.
2017-08-21 11:18:43 +10:00
Matthew Barr
2a044427c8 cmake: another convenience lib for compile side 2017-08-21 11:18:43 +10:00
Alex Coyte
68c8845d15 Do equivalency removal before violet's implementablity check.
This is helpful as removing/restoring literals may introduce redundancy in the
graphs. Also improve the implementation by caching known good holders.
2017-08-21 11:18:30 +10:00
Alex Coyte
aa6025012b Ensure max width of repeat before transforming graph. 2017-08-21 11:18:30 +10:00
Chang, Harry
72d21a9acf Refactored building reinforcement table at compile time and updated comments. 2017-08-21 11:14:59 +10:00
Chang, Harry
2b1d3383aa replace "_avx2" with "_fat". 2017-08-21 11:14:59 +10:00
Chang, Harry
8da2d13baa AVX512 Reinforced FAT teddy. 2017-08-21 11:14:59 +10:00
Justin Viiret
4528485a56 determinise: use find first, rather than emplace
For non-trivial StateSet types, copying to do the emplace if it is
already in the map is more expensive than checking with find() first.
2017-08-21 11:14:59 +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
a425bb9b7c ue2_graph: move descriptors out of graph struct 2017-08-21 11:12:36 +10:00
Wang, Xiang W
252eb820c4 ue-3145: make parents of included literals exclusive 2017-08-21 11:12:36 +10:00
Wang, Xiang W
86c5f7feb1 FDR: Squash buckets of included literals in FDR confirm
- Change the compile of literal matchers to two passes.
 - Reverse the bucket assignment in FDR, bucket with longer literals has
   smaller bucket id.
 - Squash the buckets of included literals and jump to the the program of
   included literals directly from parent literal program without going
   through FDR confirm for included iterals.
2017-08-21 11:12:36 +10:00
Chang, Harry
d2b5523dd8 fix typo "ones_u32a" => "ones_u32" 2017-08-21 11:12:36 +10:00
Chang, Harry
68e08d8e18 AVX512 reinforced teddy. 2017-08-21 11:12:36 +10:00
Justin Viiret
340773481e smallwrite: batch dfa merge to reduce compile time 2017-08-21 11:12:36 +10:00
Wang, Xiang W
67a8f43355 literal matchers: change context passed to callback to scratch 2017-08-21 11:12:36 +10:00
Justin Viiret
bc232d272f ng_find_matches: speed up edge lookups
Improves the performance of step() on graphs with vertices with large
degree.
2017-08-21 11:12:36 +10:00
Wang, Xiang W
815be3fa2b flood detection: debug output fix 2017-08-21 11:12:36 +10:00
Wang, Xiang W
ebb1b0006b remove start argument in literal matcher callbacks 2017-08-21 11:12:36 +10:00
Alex Coyte
482e1ef931 Ensure that reports would be sustained after self loop is removed
Approximante matching means that is now possible to get a non-standard report
on a cyclic during edge redundancy passes which means checks are now needed.
2017-08-21 11:12:26 +10:00
Justin Viiret
b454ab6484 ng_prefilter.cpp: remove interior edges first
This allows us to avoid looking them up while we're in copyOutEdges(),
halves time on large cases.
2017-08-21 11:12:26 +10:00
Justin Viiret
2fba9bd16c ng_mcclellan: reject determinise if NFA is too big 2017-08-21 11:12:26 +10:00
Justin Viiret
e8f09aa8c6 ng_violet: fail on added_count limit quicker
- also fixes typo "splitForImplementability"
- adds more detail in debug output
2017-08-21 11:12:26 +10:00
Justin Viiret
cdb281df42 rose_build_convert: replace bind2nd with lambda
std::bind2nd was deprecated in C++11.
2017-08-21 11:12:26 +10:00
Justin Viiret
21a4c8d4e2 rdfa: move raw_dfa member functions to rdfa.cpp 2017-08-21 11:12:26 +10:00
Chang, Harry
35a42061f6 patch for invalid reading 1 byte in Reinforced Teddy, abandon fetching the first reinforced byte. 2017-08-21 11:12:26 +10:00
Justin Viiret
0d1e441629 cmake: add graph_range.h 2017-08-21 11:12:26 +10:00
Justin Viiret
c0320b8cdc ng_depth: more use of small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
90faea4ce9 ng_depth: use small_color_map in findLoopReachable 2017-08-21 11:12:26 +10:00
Justin Viiret
9c046db360 ng_util: make more use of small_color_map in DFS 2017-08-21 11:12:26 +10:00
Justin Viiret
8d178d52ef ng_util: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
f98ccedf27 ng_prune: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
33141e64b6 ng_netflow: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
b97fa8c808 ng_literal_analysis: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
32270725c6 ng_repeat: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
8982e7177c ng_region: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
1392be048a ng_width: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
03c1af1173 ng_misc_opt: use small_color_map 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
a1ff4d3293 small_color_map: add efficient 2-bit color map 2017-08-21 11:12:26 +10:00
Matthew Barr
35d396d061 noodle: correct streaming bounds 2017-08-21 11:12:26 +10:00
Matthew Barr
f2b97a51d8 noodle: param name 2017-08-21 11:12:26 +10:00