Tags: adgear/be-tree
Tags
[PEDSP-14857] Implement for checking error reason by flight in boolea… …n expression tree (#12) * initial commit * add arraylist structure * add betree search with error reason * add fail reason for leaf nodes in match node * add last reason for logging * add all subs fails TCs for fail reason test * rollback original code for main file * add modified file for error reason * change test file to err version * fix debug file * add traverse sub id * fix conventioning for original code * add a debugging file (.gdb) * add a missing function in header * fix logic for logging error reason * add define config about allocating * add more assert and fix .gdb script * remove unnecessary files, add missing code adding sub_id when inserting * remove debug print * fix error on write_dot_to_file_err * fix too many argument error on build with NIF=true, add include to replace raw code itself * add a testcase causing crash for the test * fix set expr error * add more testcase * resolve memory leak valgrind issue, add benchmark test * fix error on manipulating short circuit reason, adding right cdir sub_ids * hashtable default size to 128 from 4 * revert back capacity size to original * introduce reasonlist for report * missing files * fix error on bool_expr no_reason * enhance performance * reduce initial size * use array instead of hashtable * resolve critical warnings (wrong function call, type mistmatch) * combine id to var name table into result structure * remove betree_reason_map_destory when calling free_report_err * add missing reason map destroy to avoid leak, fix formatting and compile warning * remove betree_reason_map_destory * correct compiler warning, only free reason map without NIF * remove unnecessary files (.dot) commited by mistake * update README.md * add missing word on README.md * *_ids_* functions now use ids given * Revert "*_ids_* functions now use ids given" This reverts commit 4f2bc9e. * limit non matches (invalid_event) result to have ids provided * substitute arraylist with new dynamic_array * missing files for build-test-benchmark
Merge pull request #9 from adgear/PEDSP-5590 Fix: the clustering for expressions that contain 'not (A and B)', 'not (A or B)': During BE-Tree build procedure, 'betree_insert_sub' (betree.c), or 'erl_betree:betree_insert_sub/2', the BE-Tree is constructed the way to facilitate rejection of the boolean expressions without even evaluating them. The BE-Tree construction is incorrect for expressions with clauses 'not (A and B)', 'not (A or B)'. The incorrect BE-Tree construction for such expressions causes rejection of boolean expressions that are 'true'.
Extends 'be-tree' library with functions that:
- count number of visited nodes when traversing BE-Tree;
- count number of visited nodes when traversing boolean expressions ASTs;
- count number of boolean expressions operations.
The nodes counts and operations counts are for 'erl-be-tree' to estimate number of reductions.