Alex Coyte
c693c44646
violet: do not remove more states from holders if dfa has been built
2017-08-21 11:25:12 +10:00
Wang, Xiang W
a645201675
UE-3147: ensure the same squash behavior for literals shared between different literal matchers
2017-08-21 11:25:03 +10:00
Justin Viiret
ba1df6412b
groupByFragment: make fewer string copies
2017-08-21 11:24:52 +10:00
Justin Viiret
8eb55d4242
rose_build_exclusive: clean up use of vertex indices
2017-08-21 11:24: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
Justin Viiret
1f2eb5a093
rose_build_lookaround: use vector in trimLiterals
2017-08-21 11:24:52 +10:00
Justin Viiret
4889a492e4
rose: more hash member funcs for rose types
2017-08-21 11:24:52 +10:00
Justin Viiret
09938d532f
rose: return a vector from findEdgesByLiteral
2017-08-21 11:24:52 +10:00
Justin Viiret
927501175c
rose_build_long_lit: refactor to do less dupe work
...
Also some performance improvements.
2017-08-21 11:24:52 +10:00
Alex Coyte
15784954e8
dynamic compression: add HS_CDECL to implementation
2017-08-21 11:24:52 +10:00
Alex Coyte
37033ef9bb
Provide RoseResources to roseQuality.
...
RoseResources is an alternative to manually digging through the bytecode.
2017-08-21 11:24:52 +10:00
Alex Coyte
778addadc5
mangle fdr conf parts of scratch as well
2017-08-21 11:23:54 +10:00
Alex Coyte
ffc2d578b1
roseQuality() no longer needs to be part of rose's API.
2017-08-21 11:23:41 +10:00
Alex Coyte
41783fe912
more comments on hwlm/fdr's start parameter
2017-08-21 11:23:41 +10:00
Alex Coyte
a847b4307a
add dynamic stream compression to fat runtime
2017-08-21 11:23:41 +10:00
Matthew Barr
d33dcc0534
Remove unwanted move constructor
2017-08-21 11:20:22 +10:00
Matthew Barr
7bcb58dea0
Catch by reference not value
2017-08-21 11:20:20 +10:00
Alex Coyte
d878e8cdf3
add dynamic compression to the public api
2017-08-21 11:19:20 +10:00
Hong, Yang A
205a5bc98f
multibit compression support
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
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
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