From 50a24cdccf04da63d385d1e74b25ea80b1c9e42f Mon Sep 17 00:00:00 2001 From: kaalam Date: Thu, 14 Mar 2024 15:02:14 +0100 Subject: [PATCH] [AUTOGEN] Applies make doc_cpp --- reference/html/annotated.html | 6 +- reference/html/classes.html | 6 +- .../html/classreels_1_1Clients-members.html | 8 +- reference/html/classreels_1_1Clients.html | 93 +- .../html/classreels_1_1Clips-members.html | 8 +- reference/html/classreels_1_1Clips.html | 83 +- .../html/classreels_1_1Events-members.html | 12 +- reference/html/classreels_1_1Events.html | 165 +- .../html/classreels_1_1Logger-members.html | 6 +- reference/html/classreels_1_1Logger.html | 34 +- .../html/classreels_1_1Targets-members.html | 8 +- reference/html/classreels_1_1Targets.html | 87 +- .../html/classreels_1_1TimeUtil-members.html | 8 +- reference/html/classreels_1_1TimeUtil.html | 64 +- .../dir_9f4192de93450b987aa4b6bb0d24b94d.html | 18 +- reference/html/doxygen.css | 64 +- reference/html/files.html | 17 +- reference/html/functions.html | 15 +- reference/html/functions_func.html | 13 +- reference/html/functions_vars.html | 6 +- reference/html/globals.html | 223 ++ reference/html/globals_defs.html | 90 + reference/html/globals_func.html | 176 ++ reference/html/globals_type.html | 92 + reference/html/globals_vars.html | 96 + reference/html/graph_legend.html | 14 +- reference/html/hierarchy.html | 6 +- reference/html/index.html | 18 +- reference/html/inherits.html | 6 +- reference/html/main_8dox.html | 82 + reference/html/menudata.js | 34 +- reference/html/namespacemembers.html | 15 +- reference/html/namespacemembers_enum.html | 6 +- reference/html/namespacemembers_eval.html | 88 + reference/html/namespacemembers_func.html | 6 +- reference/html/namespacemembers_type.html | 6 +- reference/html/namespacemembers_vars.html | 6 +- reference/html/namespacereels.html | 526 +++- reference/html/namespaces.html | 8 +- reference/html/reels_8cpp.html | 2718 +++++++++++++++++ reference/html/reels_8cpp__incl.map | 15 + reference/html/reels_8cpp__incl.md5 | 1 + reference/html/reels_8cpp__incl.png | Bin 0 -> 24080 bytes reference/html/reels_8h.html | 443 +++ reference/html/reels_8h__dep__incl.map | 8 + reference/html/reels_8h__dep__incl.md5 | 1 + reference/html/reels_8h__dep__incl.png | Bin 0 -> 11828 bytes reference/html/reels_8h__incl.map | 13 + reference/html/reels_8h__incl.md5 | 1 + reference/html/reels_8h__incl.png | Bin 0 -> 17795 bytes reference/html/reels_8h_source.html | 1592 +++++----- reference/html/reels__main_8cpp.html | 305 ++ reference/html/reels__main_8cpp__incl.map | 20 + reference/html/reels__main_8cpp__incl.md5 | 1 + reference/html/reels__main_8cpp__incl.png | Bin 0 -> 41409 bytes reference/html/reels__main_8h.html | 125 + reference/html/reels__main_8h__dep__incl.map | 4 + reference/html/reels__main_8h__dep__incl.md5 | 1 + reference/html/reels__main_8h__dep__incl.png | Bin 0 -> 3346 bytes reference/html/reels__main_8h__incl.map | 18 + reference/html/reels__main_8h__incl.md5 | 1 + reference/html/reels__main_8h__incl.png | Bin 0 -> 27453 bytes reference/html/reels__main_8h_source.html | 11 +- reference/html/reels__test_8cpp.html | 137 + reference/html/reels__test_8cpp__incl.map | 18 + reference/html/reels__test_8cpp__incl.md5 | 1 + reference/html/reels__test_8cpp__incl.png | Bin 0 -> 31081 bytes reference/html/reels__test_8h.html | 117 + reference/html/reels__test_8h__dep__incl.map | 4 + reference/html/reels__test_8h__dep__incl.md5 | 1 + reference/html/reels__test_8h__dep__incl.png | Bin 0 -> 2905 bytes reference/html/reels__test_8h__incl.map | 14 + reference/html/reels__test_8h__incl.md5 | 1 + reference/html/reels__test_8h__incl.png | Bin 0 -> 20337 bytes reference/html/reels__test_8h_source.html | 26 +- reference/html/search/all_1.js | 12 +- reference/html/search/all_10.js | 17 +- reference/html/search/all_11.js | 32 +- reference/html/search/all_14.js | 3 +- reference/html/search/all_2.js | 13 +- reference/html/search/all_3.js | 64 +- reference/html/search/all_4.js | 10 +- reference/html/search/all_5.js | 24 +- reference/html/search/all_7.js | 2 +- reference/html/search/all_8.js | 3 +- reference/html/search/all_9.js | 19 +- reference/html/search/all_b.js | 8 +- reference/html/search/all_c.js | 14 +- reference/html/search/all_d.js | 2 +- reference/html/search/all_e.js | 33 +- reference/html/search/all_f.js | 8 +- reference/html/search/defines_0.js | 4 + reference/html/search/defines_1.js | 4 + reference/html/search/defines_2.js | 5 + reference/html/search/defines_3.js | 5 + reference/html/search/defines_4.js | 5 + reference/html/search/defines_5.js | 4 + reference/html/search/enumvalues_0.js | 7 + reference/html/search/enumvalues_1.js | 6 + reference/html/search/files_0.js | 4 + reference/html/search/files_1.js | 9 + reference/html/search/functions_1.js | 26 +- reference/html/search/functions_2.js | 9 +- reference/html/search/functions_3.js | 16 +- reference/html/search/functions_5.js | 2 +- reference/html/search/functions_6.js | 3 +- reference/html/search/functions_7.js | 11 +- reference/html/search/functions_9.js | 3 +- reference/html/search/functions_a.js | 14 +- reference/html/search/functions_b.js | 2 +- reference/html/search/functions_c.js | 8 +- reference/html/search/functions_e.js | 5 +- reference/html/search/functions_f.js | 15 +- reference/html/search/searchdata.js | 39 +- reference/html/search/typedefs_0.js | 3 +- reference/html/search/typedefs_1.js | 14 +- reference/html/search/typedefs_2.js | 3 +- reference/html/search/typedefs_3.js | 2 +- reference/html/search/typedefs_4.js | 9 +- reference/html/search/typedefs_5.js | 15 +- reference/html/search/typedefs_6.js | 6 +- reference/html/search/typedefs_7.js | 8 + reference/html/search/variables_0.js | 4 +- reference/html/search/variables_1.js | 7 +- reference/html/search/variables_2.js | 8 +- reference/html/search/variables_3.js | 2 +- reference/html/search/variables_4.js | 5 +- reference/html/search/variables_5.js | 6 +- reference/html/search/variables_6.js | 2 +- reference/html/search/variables_7.js | 8 +- reference/html/search/variables_8.js | 8 +- reference/html/search/variables_9.js | 2 +- reference/html/search/variables_a.js | 9 +- reference/html/search/variables_b.js | 12 +- reference/html/search/variables_c.js | 7 +- reference/html/search/variables_d.js | 4 + .../structreels_1_1BinEventPt-members.html | 6 +- reference/html/structreels_1_1BinEventPt.html | 78 +- ...structreels_1_1BinTransaction-members.html | 6 +- .../html/structreels_1_1BinTransaction.html | 74 +- ...reels_1_1CodeInTreeStatistics-members.html | 6 +- .../structreels_1_1CodeInTreeStatistics.html | 50 +- .../structreels_1_1CodeScoreItem-members.html | 6 +- .../html/structreels_1_1CodeScoreItem.html | 53 +- .../structreels_1_1CodeTreeNode-members.html | 6 +- .../html/structreels_1_1CodeTreeNode.html | 95 +- .../structreels_1_1EventStat-members.html | 6 +- reference/html/structreels_1_1EventStat.html | 76 +- .../structreels_1_1ImageBlock-members.html | 6 +- reference/html/structreels_1_1ImageBlock.html | 76 +- ...ructreels_1_1OptimizeEvalItem-members.html | 6 +- .../html/structreels_1_1OptimizeEvalItem.html | 74 +- .../structreels_1_1StringUsage-members.html | 6 +- .../html/structreels_1_1StringUsage.html | 53 +- reference/latex/classreels_1_1Clients.tex | 44 +- reference/latex/classreels_1_1Clips.tex | 36 +- reference/latex/classreels_1_1Events.tex | 66 +- reference/latex/classreels_1_1Logger.tex | 18 +- reference/latex/classreels_1_1Targets.tex | 19 +- reference/latex/classreels_1_1TimeUtil.tex | 29 +- .../dir_9f4192de93450b987aa4b6bb0d24b94d.tex | 17 + reference/latex/doxygen.sty | 11 +- reference/latex/files.tex | 11 +- reference/latex/main_8dox.tex | 2 + reference/latex/namespacereels.tex | 335 +- reference/latex/namespaces.tex | 2 +- reference/latex/reels_8cpp.tex | 1458 +++++++++ reference/latex/reels_8cpp__incl.md5 | 1 + reference/latex/reels_8cpp__incl.pdf | Bin 0 -> 8482 bytes reference/latex/reels_8h.tex | 236 ++ reference/latex/reels_8h__dep__incl.md5 | 1 + reference/latex/reels_8h__dep__incl.pdf | Bin 0 -> 8284 bytes reference/latex/reels_8h__incl.md5 | 1 + reference/latex/reels_8h__incl.pdf | Bin 0 -> 7608 bytes reference/latex/reels_8h_source.tex | 1573 +++++----- reference/latex/reels__main_8cpp.tex | 54 + reference/latex/reels__main_8cpp__incl.md5 | 1 + reference/latex/reels__main_8cpp__incl.pdf | Bin 0 -> 9949 bytes reference/latex/reels__main_8h.tex | 23 + reference/latex/reels__main_8h__dep__incl.md5 | 1 + reference/latex/reels__main_8h__dep__incl.pdf | Bin 0 -> 6464 bytes reference/latex/reels__main_8h__incl.md5 | 1 + reference/latex/reels__main_8h__incl.pdf | Bin 0 -> 9029 bytes reference/latex/reels__main_8h_source.tex | 54 +- reference/latex/reels__test_8cpp.tex | 29 + reference/latex/reels__test_8cpp__incl.md5 | 1 + reference/latex/reels__test_8cpp__incl.pdf | Bin 0 -> 9025 bytes reference/latex/reels__test_8h.tex | 19 + reference/latex/reels__test_8h__dep__incl.md5 | 1 + reference/latex/reels__test_8h__dep__incl.pdf | Bin 0 -> 6043 bytes reference/latex/reels__test_8h__incl.md5 | 1 + reference/latex/reels__test_8h__incl.pdf | Bin 0 -> 8158 bytes reference/latex/reels__test_8h_source.tex | 80 +- reference/latex/refman.tex | 10 +- reference/latex/structreels_1_1BinEventPt.tex | 44 +- .../latex/structreels_1_1BinTransaction.tex | 50 +- .../structreels_1_1CodeInTreeStatistics.tex | 28 +- .../latex/structreels_1_1CodeScoreItem.tex | 31 +- .../latex/structreels_1_1CodeTreeNode.tex | 57 +- reference/latex/structreels_1_1EventStat.tex | 44 +- reference/latex/structreels_1_1ImageBlock.tex | 44 +- .../latex/structreels_1_1OptimizeEvalItem.tex | 44 +- .../latex/structreels_1_1StringUsage.tex | 31 +- 203 files changed, 11011 insertions(+), 2610 deletions(-) create mode 100644 reference/html/globals.html create mode 100644 reference/html/globals_defs.html create mode 100644 reference/html/globals_func.html create mode 100644 reference/html/globals_type.html create mode 100644 reference/html/globals_vars.html create mode 100644 reference/html/main_8dox.html create mode 100644 reference/html/namespacemembers_eval.html create mode 100644 reference/html/reels_8cpp.html create mode 100644 reference/html/reels_8cpp__incl.map create mode 100644 reference/html/reels_8cpp__incl.md5 create mode 100644 reference/html/reels_8cpp__incl.png create mode 100644 reference/html/reels_8h.html create mode 100644 reference/html/reels_8h__dep__incl.map create mode 100644 reference/html/reels_8h__dep__incl.md5 create mode 100644 reference/html/reels_8h__dep__incl.png create mode 100644 reference/html/reels_8h__incl.map create mode 100644 reference/html/reels_8h__incl.md5 create mode 100644 reference/html/reels_8h__incl.png create mode 100644 reference/html/reels__main_8cpp.html create mode 100644 reference/html/reels__main_8cpp__incl.map create mode 100644 reference/html/reels__main_8cpp__incl.md5 create mode 100644 reference/html/reels__main_8cpp__incl.png create mode 100644 reference/html/reels__main_8h.html create mode 100644 reference/html/reels__main_8h__dep__incl.map create mode 100644 reference/html/reels__main_8h__dep__incl.md5 create mode 100644 reference/html/reels__main_8h__dep__incl.png create mode 100644 reference/html/reels__main_8h__incl.map create mode 100644 reference/html/reels__main_8h__incl.md5 create mode 100644 reference/html/reels__main_8h__incl.png create mode 100644 reference/html/reels__test_8cpp.html create mode 100644 reference/html/reels__test_8cpp__incl.map create mode 100644 reference/html/reels__test_8cpp__incl.md5 create mode 100644 reference/html/reels__test_8cpp__incl.png create mode 100644 reference/html/reels__test_8h.html create mode 100644 reference/html/reels__test_8h__dep__incl.map create mode 100644 reference/html/reels__test_8h__dep__incl.md5 create mode 100644 reference/html/reels__test_8h__dep__incl.png create mode 100644 reference/html/reels__test_8h__incl.map create mode 100644 reference/html/reels__test_8h__incl.md5 create mode 100644 reference/html/reels__test_8h__incl.png create mode 100644 reference/html/search/defines_0.js create mode 100644 reference/html/search/defines_1.js create mode 100644 reference/html/search/defines_2.js create mode 100644 reference/html/search/defines_3.js create mode 100644 reference/html/search/defines_4.js create mode 100644 reference/html/search/defines_5.js create mode 100644 reference/html/search/enumvalues_0.js create mode 100644 reference/html/search/enumvalues_1.js create mode 100644 reference/html/search/files_0.js create mode 100644 reference/html/search/files_1.js create mode 100644 reference/html/search/typedefs_7.js create mode 100644 reference/html/search/variables_d.js create mode 100644 reference/latex/dir_9f4192de93450b987aa4b6bb0d24b94d.tex create mode 100644 reference/latex/main_8dox.tex create mode 100644 reference/latex/reels_8cpp.tex create mode 100644 reference/latex/reels_8cpp__incl.md5 create mode 100644 reference/latex/reels_8cpp__incl.pdf create mode 100644 reference/latex/reels_8h.tex create mode 100644 reference/latex/reels_8h__dep__incl.md5 create mode 100644 reference/latex/reels_8h__dep__incl.pdf create mode 100644 reference/latex/reels_8h__incl.md5 create mode 100644 reference/latex/reels_8h__incl.pdf create mode 100644 reference/latex/reels__main_8cpp.tex create mode 100644 reference/latex/reels__main_8cpp__incl.md5 create mode 100644 reference/latex/reels__main_8cpp__incl.pdf create mode 100644 reference/latex/reels__main_8h.tex create mode 100644 reference/latex/reels__main_8h__dep__incl.md5 create mode 100644 reference/latex/reels__main_8h__dep__incl.pdf create mode 100644 reference/latex/reels__main_8h__incl.md5 create mode 100644 reference/latex/reels__main_8h__incl.pdf create mode 100644 reference/latex/reels__test_8cpp.tex create mode 100644 reference/latex/reels__test_8cpp__incl.md5 create mode 100644 reference/latex/reels__test_8cpp__incl.pdf create mode 100644 reference/latex/reels__test_8h.tex create mode 100644 reference/latex/reels__test_8h__dep__incl.md5 create mode 100644 reference/latex/reels__test_8h__dep__incl.pdf create mode 100644 reference/latex/reels__test_8h__incl.md5 create mode 100644 reference/latex/reels__test_8h__incl.pdf diff --git a/reference/html/annotated.html b/reference/html/annotated.html index d07c1e1..9c0ee56 100644 --- a/reference/html/annotated.html +++ b/reference/html/annotated.html @@ -3,7 +3,7 @@ - + Reels: Class List @@ -30,7 +30,7 @@ - + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+
+ + + + diff --git a/reference/html/globals_defs.html b/reference/html/globals_defs.html new file mode 100644 index 0000000..ca018c1 --- /dev/null +++ b/reference/html/globals_defs.html @@ -0,0 +1,90 @@ + + + + + + + +Reels: File Members + + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ + + + diff --git a/reference/html/globals_func.html b/reference/html/globals_func.html new file mode 100644 index 0000000..053cf9a --- /dev/null +++ b/reference/html/globals_func.html @@ -0,0 +1,176 @@ + + + + + + + +Reels: File Members + + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- s -

+ + +

- t -

+
+ + + + diff --git a/reference/html/globals_type.html b/reference/html/globals_type.html new file mode 100644 index 0000000..e082c02 --- /dev/null +++ b/reference/html/globals_type.html @@ -0,0 +1,92 @@ + + + + + + + +Reels: File Members + + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ + + + diff --git a/reference/html/globals_vars.html b/reference/html/globals_vars.html new file mode 100644 index 0000000..cb1fdd5 --- /dev/null +++ b/reference/html/globals_vars.html @@ -0,0 +1,96 @@ + + + + + + + +Reels: File Members + + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ + + + diff --git a/reference/html/graph_legend.html b/reference/html/graph_legend.html index c3939d8..682aa89 100644 --- a/reference/html/graph_legend.html +++ b/reference/html/graph_legend.html @@ -3,7 +3,7 @@ - + Reels: Graph Legend @@ -30,7 +30,7 @@ - + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
reels/main.dox File Reference
+
+
+
+ + + + diff --git a/reference/html/menudata.js b/reference/html/menudata.js index 788367e..d0a57d6 100644 --- a/reference/html/menudata.js +++ b/reference/html/menudata.js @@ -42,7 +42,8 @@ var menudata={children:[ {text:"Functions",url:"namespacemembers_func.html"}, {text:"Variables",url:"namespacemembers_vars.html"}, {text:"Typedefs",url:"namespacemembers_type.html"}, -{text:"Enumerations",url:"namespacemembers_enum.html"}]}]}, +{text:"Enumerations",url:"namespacemembers_enum.html"}, +{text:"Enumerator",url:"namespacemembers_eval.html"}]}]}, {text:"Classes",url:"annotated.html",children:[ {text:"Class List",url:"annotated.html"}, {text:"Class Index",url:"classes.html"}, @@ -101,4 +102,33 @@ var menudata={children:[ {text:"t",url:"functions_vars.html#index_t"}, {text:"w",url:"functions_vars.html#index_w"}]}]}]}, {text:"Files",url:"files.html",children:[ -{text:"File List",url:"files.html"}]}]} +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"a",url:"globals.html#index_a"}, +{text:"b",url:"globals.html#index_b"}, +{text:"c",url:"globals.html#index_c"}, +{text:"d",url:"globals.html#index_d"}, +{text:"e",url:"globals.html#index_e"}, +{text:"h",url:"globals.html#index_h"}, +{text:"i",url:"globals.html#index_i"}, +{text:"m",url:"globals.html#index_m"}, +{text:"n",url:"globals.html#index_n"}, +{text:"p",url:"globals.html#index_p"}, +{text:"s",url:"globals.html#index_s"}, +{text:"t",url:"globals.html#index_t"}, +{text:"w",url:"globals.html#index_w"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"c",url:"globals_func.html#index_c"}, +{text:"d",url:"globals_func.html#index_d"}, +{text:"e",url:"globals_func.html#index_e"}, +{text:"h",url:"globals_func.html#index_h"}, +{text:"i",url:"globals_func.html#index_i"}, +{text:"m",url:"globals_func.html#index_m"}, +{text:"n",url:"globals_func.html#index_n"}, +{text:"p",url:"globals_func.html#index_p"}, +{text:"s",url:"globals_func.html#index_s"}, +{text:"t",url:"globals_func.html#index_t"}]}, +{text:"Variables",url:"globals_vars.html"}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/reference/html/namespacemembers.html b/reference/html/namespacemembers.html index 0f8d775..0278578 100644 --- a/reference/html/namespacemembers.html +++ b/reference/html/namespacemembers.html @@ -3,7 +3,7 @@ - + Reels: Namespace Members @@ -30,7 +30,7 @@ - + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ + + + diff --git a/reference/html/namespacemembers_func.html b/reference/html/namespacemembers_func.html index f9e9058..c5442db 100644 --- a/reference/html/namespacemembers_func.html +++ b/reference/html/namespacemembers_func.html @@ -3,7 +3,7 @@ - + Reels: Namespace Members @@ -30,7 +30,7 @@ - + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
reels.cpp File Reference
+
+
+
#include "reels.h"
+#include "thousand_sequences.hpp"
+
+Include dependency graph for reels.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + + +

+Namespaces

namespace  reels
 The namespace including everything to simplify using Reels in a c++ application,.
 
+ + + + +

+Macros

#define MURMUR_SEED   76493
 Just a 5 digit prime. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef EventspEvents
 
typedef ClientspClients
 
typedef ClipspClips
 
typedef TargetspTargets
 
typedef TimesToTargetpIterTimes
 
typedef std::map< int, pEventsEventsServer
 
typedef std::map< int, pClientsClientsServer
 
typedef std::map< int, pClipsClipsServer
 
typedef std::map< int, pTargetsTargetsServer
 
typedef std::map< int, pIterTimesIterTimesServer
 
typedef std::map< int, pBinaryImageBinaryImageServer
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

uint64_t reels::MurmurHash64A (const void *key, int len)
 MurmurHash2, 64-bit versions, by Austin Appleby. More...
 
bool reels::image_put (pBinaryImage p_bi, void *p_data, int size)
 A function to push arbitrary raw data into a BinaryImage. More...
 
bool reels::image_get (pBinaryImage p_bi, int &c_block, int &c_ofs, void *p_data, int size)
 A function to get an arbitrary raw data block from a BinaryImage. More...
 
bool reels::compare_optimize_eval (const OptimizeEvalItem a, const OptimizeEvalItem b)
 Compare two OptimizeEvalItem structures for sorting. More...
 
bool reels::compare_score_item (const CodeScoreItem a, const CodeScoreItem b)
 Compare two CodeScoreItem structures for sorting. More...
 
bool destroy_binary_image_iterator (int image_id)
 Destroy an iterator for a binary image(returned by save_as_binary_image()). More...
 
char * image_block_as_string (uint8_t *p_in)
 Serializes a complete binary block (fixed size) as a base-64 string which is Python compatible. More...
 
char * image_block_as_string (ImageBlock &blk)
 Serializes a complete binary block (fixed size) as a base-64 string which is Python compatible. More...
 
bool string_as_image_block (ImageBlock &blk, char *p_in)
 Deserializes a base-64 string which is Python compatible as a complete binary ImageBlock (fixed size). More...
 
int new_events ()
 Create a new Events object that can be used via the Python interface. More...
 
bool destroy_events (int id)
 Destroy a Events object that was used via the Python interface. More...
 
bool events_insert_row (int id, char *p_e, char *p_d, double w)
 Process a row from a transaction file in an Events object stored by the EventsServer. More...
 
bool events_define_event (int id, char *p_e, char *p_d, double w, int code)
 Define events explicitly in an Events object stored by the EventsServer. More...
 
char * events_optimize_events (int id, int id_clips, int id_targets, int num_steps, int codes_per_step, double threshold, char *force_include, char *force_exclude, char *x_form, char *agg, double p, int depth, int as_states, double exp_decay, double lower_bound_p, bool log_lift)
 Events optimizer. More...
 
bool events_load_block (int id, char *p_block)
 Pushes raw image blocks into an initially empty Events object and finally creates it already populated with the binary image. More...
 
int events_save (int id)
 Saves an Events object as a BinaryImage. More...
 
bool parse_bin_event_pt (char *line, BinEventPt &ev)
 
char * events_describe_next_event (int id, char *prev_event)
 Describes the internal representation of an event. (Iterate through all.) More...
 
bool events_set_max_num_events (int id, int max_events)
 Sets the public property max_num_events in an Events object stored by the EventsServer. More...
 
bool events_set_store_strings (int id, bool store)
 Sets the public property store_strings in an Events object stored by the EventsServer. More...
 
int events_num_events (int id)
 Return the number of events stored in an Events object stored by the EventsServer. More...
 
int new_clients ()
 Create a new Clients object that can be used via the Python interface. More...
 
bool destroy_clients (int id)
 Destroy a Clients object that was used via the Python interface. More...
 
char * clients_hash_client_id (int id, char *p_cli)
 Return the hash of a client ID as a decimal string. More...
 
bool clients_add_client_id (int id, char *p_cli)
 Add a client ID to a Clients object stored by the ClientsServer only if new. More...
 
char * clients_hash_by_index (int id, int idx)
 Return the hash of a stored client ID by index as a decimal string. More...
 
int clients_num_clients (int id)
 Return the number of clients stored in an Clients object stored by the ClientsServer. More...
 
bool clients_load_block (int id, char *p_block)
 Pushes raw image blocks into an initially empty Clients object and finally creates it already populated with the binary image. More...
 
int clients_save (int id)
 Saves an Clients object as a BinaryImage. More...
 
int new_clips (int id_clients, int id_events)
 Create a new Clips object that can be used via the Python interface. More...
 
bool destroy_clips (int id)
 Destroy a Clips object that was used via the Python interface. More...
 
bool clips_set_time_format (int id, char *fmt)
 Sets the public property time_format to simplify the python interface in a Clips object stored by the ClipsServer. More...
 
bool clips_scan_event (int id, char *p_e, char *p_d, double w, char *p_c, char *p_t)
 Process a row from a transaction file, to add the event to the client's timeline in a Clips object stored by the ClipsServer. More...
 
char * clips_hash_by_previous (int id, char *prev_hash)
 Return the hash of the client ID of a clip defined the previous value or zero for the first one as a decimal string. More...
 
bool clips_load_block (int id, char *p_block)
 Pushes raw image blocks into an initially empty Clips object and finally creates it already populated with the binary image. More...
 
int clips_save (int id)
 Saves an Clips object as a BinaryImage. More...
 
char * clips_describe_clip (int id, char *client_id)
 Describes the internal representation of a clip. More...
 
int clips_num_clips (int id)
 Return the number of clips stored in the internal ClipMap in a Clips object stored by the ClipsServer. More...
 
int clips_num_events (int id)
 Return the number of events stored in the internal ClipMap in a Clips object stored by the ClipsServer. More...
 
char * clips_test_sequence (int seq_num, bool target)
 Generates a constant sequence of codes for testing the Event Optimizer. More...
 
int new_targets (int id_clips)
 Create a new Targets object that can be used via the Python interface. More...
 
bool destroy_targets (int id)
 Destroy a Targets object that was used via the Python interface. More...
 
bool targets_set_time_format (int id, char *fmt)
 Sets the public property time_format to simplify the python interface in a Targets object stored by the TargetsServer. More...
 
bool targets_insert_target (int id, char *p_c, char *p_t)
 Utility to fill the internal TargetMap target in a Targets object stored by the TargetsServer. More...
 
bool targets_fit (int id, char *x_form, char *agg, double p, int depth, int as_states)
 Fit the prediction model in a Targets object stored by the TargetsServer. More...
 
int targets_predict_clients (int id, int id_clients)
 Predict time to target for all the clients in a given Clients object whose clips have been used to fit the model in a Targets object stored by the TargetsServer. More...
 
int targets_predict_clips (int id, int id_clips)
 Predict time to target for a set of clients whose clips are given in a ClipMap in a Targets object stored by the TargetsServer. More...
 
bool targets_load_block (int id, char *p_block)
 Pushes raw image blocks into an initially empty Targets object and finally creates it already populated with the binary image. More...
 
int targets_save (int id)
 Saves an Targets object as a BinaryImage. More...
 
int targets_num_targets (int id)
 Returns the number of target points stored in the internal target variable. More...
 
int targets_tree_node_idx (int id, int parent_idx, int code)
 Returns the index of a tree node by parent node and code. More...
 
char * targets_tree_node_children (int id, int idx)
 Lists the children of a tree node. More...
 
char * targets_describe_tree_node (int id, int idx)
 Describes the internal representation of a tree node. More...
 
char * targets_describe_tree (int id)
 Describes some statistics of a fitted tree inside a Targets object. More...
 
int size_result_iterator (int iter_id)
 Return the number of unread items in an iterator returned by predict(). More...
 
double next_result_iterator (int iter_id)
 Return the first unread item in an iterator returned by predict(). More...
 
void destroy_result_iterator (int iter_id)
 Destroy an iterator returned by predict(). More...
 
int size_binary_image_iterator (int image_id)
 Return the number of unread binary images blocks in an iterator returned by a save_as_binary_image() call. More...
 
char * next_binary_image_iterator (int image_id)
 Return the first unread binary images block in an iterator returned by a save_as_binary_image() call. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

Logger reels::REELS_logger = {}
 Used to output stats of Events::get_top_codes added by the Python API in events_optimize_events() More...
 
int events_num = 0
 
int clients_num = 0
 
int clips_num = 0
 
int targets_num = 0
 
int it_times_num = 0
 
EventsServer events = {}
 
ClientsServer clients = {}
 
ClipsServer clips = {}
 
TargetsServer targets = {}
 
IterTimesServer it_times = {}
 
BinaryImageServer image = {}
 
char answer_buffer [8192]
 
char answer_block [8208]
 
char b64chars [] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
 
uint8_t b64inverse [256] = {0}
 
+

Macro Definition Documentation

+ +

◆ MURMUR_SEED

+ +
+
+ + + + +
#define MURMUR_SEED   76493
+
+ +

Just a 5 digit prime.

+ +
+
+

Typedef Documentation

+ +

◆ BinaryImageServer

+ +
+
+ + + + +
typedef std::map<int, pBinaryImage> BinaryImageServer
+
+ +
+
+ +

◆ ClientsServer

+ +
+
+ + + + +
typedef std::map<int, pClients> ClientsServer
+
+ +
+
+ +

◆ ClipsServer

+ +
+
+ + + + +
typedef std::map<int, pClips> ClipsServer
+
+ +
+
+ +

◆ EventsServer

+ +
+
+ + + + +
typedef std::map<int, pEvents> EventsServer
+
+ +
+
+ +

◆ IterTimesServer

+ +
+
+ + + + +
typedef std::map<int, pIterTimes> IterTimesServer
+
+ +
+
+ +

◆ pClients

+ +
+
+ + + + +
typedef Clients* pClients
+
+ +
+
+ +

◆ pClips

+ +
+
+ + + + +
typedef Clips* pClips
+
+ +
+
+ +

◆ pEvents

+ +
+
+ + + + +
typedef Events* pEvents
+
+ +
+
+ +

◆ pIterTimes

+ +
+
+ + + + +
typedef TimesToTarget* pIterTimes
+
+ +
+
+ +

◆ pTargets

+ +
+
+ + + + +
typedef Targets* pTargets
+
+ +
+
+ +

◆ TargetsServer

+ +
+
+ + + + +
typedef std::map<int, pTargets> TargetsServer
+
+ +
+
+

Function Documentation

+ +

◆ clients_add_client_id()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool clients_add_client_id (int id,
char * p_cli 
)
+
+ +

Add a client ID to a Clients object stored by the ClientsServer only if new.

+
Parameters
+ + + +
idThe id returned by a previous new_clients() call.
p_cliThe "client". A string representing "the actor".
+
+
+
Returns
True on success. False on id not found or p_cli is empty or already a client.
+ +
+
+ +

◆ clients_hash_by_index()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * clients_hash_by_index (int id,
int idx 
)
+
+ +

Return the hash of a stored client ID by index as a decimal string.

+
Parameters
+ + + +
idThe id returned by a previous new_clients() call.
idxThe index of the client in the container (In range 0..size() - 1).
+
+
+
Returns
The hash of the selected client id as a decimal string.
+ +
+
+ +

◆ clients_hash_client_id()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * clients_hash_client_id (int id,
char * p_cli 
)
+
+ +

Return the hash of a client ID as a decimal string.

+
Parameters
+ + + +
idThe id returned by a previous new_clients() call.
p_cliThe "client". A string representing "the actor".
+
+
+
Returns
The hash of the selected client if as a decimal string.
+ +
+
+ +

◆ clients_load_block()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool clients_load_block (int id,
char * p_block 
)
+
+ +

Pushes raw image blocks into an initially empty Clients object and finally creates it already populated with the binary image.

+
Parameters
+ + + +
idThe id returned by a previous new_clients() call. The object must be empty (never called).
p_blockIf non-empty, a block in the right order making a binary image obtained for a previous clients_save() call. If empty, an order to .load() the Clients object and destroyed the previously stored blocks.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ clients_num_clients()

+ +
+
+ + + + + + + + +
int clients_num_clients (int id)
+
+ +

Return the number of clients stored in an Clients object stored by the ClientsServer.

+
Parameters
+ + +
idThe id returned by a previous new_clients() call.
+
+
+
Returns
The size of the internal ClientIDSet() or a negative error code on failure.
+ +
+
+ +

◆ clients_save()

+ +
+
+ + + + + + + + +
int clients_save (int id)
+
+ +

Saves an Clients object as a BinaryImage.

+
Parameters
+ + +
idThe id returned by a previous new_clients() call.
+
+
+
Returns
0 on error, or a binary_image_id > 0 which is the same as id and must be destroyed using destroy_binary_image_iterator()
+ +
+
+ +

◆ clips_describe_clip()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * clips_describe_clip (int id,
char * client_id 
)
+
+ +

Describes the internal representation of a clip.

+
Parameters
+ + + +
idThe id returned by a previous new_clips() call.
client_idThe hash identifying a client or the client id.
+
+
+
Returns
On success, it will return a tab separated list of codes corresponding to the clip.
+ +
+
+ +

◆ clips_hash_by_previous()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * clips_hash_by_previous (int id,
char * prev_hash 
)
+
+ +

Return the hash of the client ID of a clip defined the previous value or zero for the first one as a decimal string.

+
Parameters
+ + + +
idThe id returned by a previous new_clients() call.
prev_hashThe previous hash returned by this function to use as an iterator.
+
+
+
Returns
The hash of the selected client id as a hexadecimal string.
+ +
+
+ +

◆ clips_load_block()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool clips_load_block (int id,
char * p_block 
)
+
+ +

Pushes raw image blocks into an initially empty Clips object and finally creates it already populated with the binary image.

+
Parameters
+ + + +
idThe id returned by a previous new_clips() call. The object must be empty (never called).
p_blockIf non-empty, a block in the right order making a binary image obtained for a previous clips_save() call. If empty, an order to .load() the Clips object and destroyed the previously stored blocks.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ clips_num_clips()

+ +
+
+ + + + + + + + +
int clips_num_clips (int id)
+
+ +

Return the number of clips stored in the internal ClipMap in a Clips object stored by the ClipsServer.

+
Parameters
+ + +
idThe id returned by a previous new_clips() call.
+
+
+
Returns
The number clips in the internal ClipMap.
+ +
+
+ +

◆ clips_num_events()

+ +
+
+ + + + + + + + +
int clips_num_events (int id)
+
+ +

Return the number of events stored in the internal ClipMap in a Clips object stored by the ClipsServer.

+
Parameters
+ + +
idThe id returned by a previous new_clips() call.
+
+
+
Returns
The total count of events aggregating all the clips in the internal ClipMap or -1 on error.
+ +
+
+ +

◆ clips_save()

+ +
+
+ + + + + + + + +
int clips_save (int id)
+
+ +

Saves an Clips object as a BinaryImage.

+
Parameters
+ + +
idThe id returned by a previous new_clips() call.
+
+
+
Returns
0 on error, or a binary_image_id > 0 which is the same as id and must be destroyed using destroy_binary_image_iterator()
+ +
+
+ +

◆ clips_scan_event()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool clips_scan_event (int id,
char * p_e,
char * p_d,
double w,
char * p_c,
char * p_t 
)
+
+ +

Process a row from a transaction file, to add the event to the client's timeline in a Clips object stored by the ClipsServer.

+
Parameters
+ + + + + + + +
idThe id returned by a previous new_clips() call.
p_eThe "emitter". A C/Python string representing "owner of event".
p_dThe "description". A C/Python string representing "the event".
wThe "weight". A double representing a weight of the event.
p_cThe "client". A C/Python string representing "the actor".
p_tThe "time". A timestamp of the event as a C/Python string. (The format is given via set_time_format().)
+
+
+
Returns
True on insertion. False usually just means, the event is not in events or the client is not in clients. Occasionally, it may be a time parsing error or id not found.
+ +
+
+ +

◆ clips_set_time_format()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool clips_set_time_format (int id,
char * fmt 
)
+
+ +

Sets the public property time_format to simplify the python interface in a Clips object stored by the ClipsServer.

+
Parameters
+ + + +
idThe id returned by a previous new_clips() call.
fmtThe time format in standard calendar time format http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
+
+
+
Returns
True on valid id.
+ +
+
+ +

◆ clips_test_sequence()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * clips_test_sequence (int seq_num,
bool target 
)
+
+ +

Generates a constant sequence of codes for testing the Event Optimizer.

+

This returns one of the 500 non target sequences or one of the 500 target sequences.

+
Parameters
+ + + +
seq_numThe sequence id (in range 0.499).
targetTrue for one of the target sequences, false for non target.
+
+
+
Returns
A sequence of integer codes as a comma separated string. Empty if seq_num is out of range.
+ +
+
+ +

◆ destroy_binary_image_iterator()

+ +
+
+ + + + + + + + +
bool destroy_binary_image_iterator (int image_id)
+
+ +

Destroy an iterator for a binary image(returned by save_as_binary_image()).

+
Parameters
+ + +
image_idThe image_id returned by a previous save_as_binary_image() call.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ destroy_clients()

+ +
+
+ + + + + + + + +
bool destroy_clients (int id)
+
+ +

Destroy a Clients object that was used via the Python interface.

+
Parameters
+ + +
idThe id returned by a previous new_clients() call.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ destroy_clips()

+ +
+
+ + + + + + + + +
bool destroy_clips (int id)
+
+ +

Destroy a Clips object that was used via the Python interface.

+
Parameters
+ + +
idThe id returned by a previous new_clips() call.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ destroy_events()

+ +
+
+ + + + + + + + +
bool destroy_events (int id)
+
+ +

Destroy a Events object that was used via the Python interface.

+
Parameters
+ + +
idThe id returned by a previous new_events() call.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ destroy_result_iterator()

+ +
+
+ + + + + + + + +
void destroy_result_iterator (int iter_id)
+
+ +

Destroy an iterator returned by predict().

+
Parameters
+ + +
iter_idThe iter_id returned by a previous predict() call.
+
+
+ +
+
+ +

◆ destroy_targets()

+ +
+
+ + + + + + + + +
bool destroy_targets (int id)
+
+ +

Destroy a Targets object that was used via the Python interface.

+
Parameters
+ + +
idThe id returned by a previous new_targets() call.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ events_define_event()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool events_define_event (int id,
char * p_e,
char * p_d,
double w,
int code 
)
+
+ +

Define events explicitly in an Events object stored by the EventsServer.

+
Parameters
+ + + + + + +
idThe id returned by a previous new_events() call.
p_eThe "emitter". A C/Python string representing "owner of event".
p_dThe "description". A C/Python string representing "the event".
wThe "weight". A double representing a weight of the event.
codeA unique code number identifying the event.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ events_describe_next_event()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * events_describe_next_event (int id,
char * prev_event 
)
+
+ +

Describes the internal representation of an event. (Iterate through all.)

+
Parameters
+ + + +
idThe id returned by a previous new_events() call.
prev_eventThe previous description, either complete or the (emitter, description, weight) triple alone, or empty for the first.
+
+
+
Returns
On success, it will return either tab separated emitter, description, weight, code (if store_strings is true) or the same with hashes corresponding to strings instead of strings if false.
+ +
+
+ +

◆ events_insert_row()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool events_insert_row (int id,
char * p_e,
char * p_d,
double w 
)
+
+ +

Process a row from a transaction file in an Events object stored by the EventsServer.

+
Parameters
+ + + + + +
idThe id returned by a previous new_events() call.
p_eThe "emitter". A C/Python string representing "owner of event".
p_dThe "description". A C/Python string representing "the event".
wThe "weight". A double representing a weight of the event.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ events_load_block()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool events_load_block (int id,
char * p_block 
)
+
+ +

Pushes raw image blocks into an initially empty Events object and finally creates it already populated with the binary image.

+
Parameters
+ + + +
idThe id returned by a previous new_events() call. The object must be empty (never called).
p_blockIf non-empty, a block in the right order making a binary image obtained for a previous events_save() call. If empty, an order to .load() the Events object and destroyed the previously stored blocks.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ events_num_events()

+ +
+
+ + + + + + + + +
int events_num_events (int id)
+
+ +

Return the number of events stored in an Events object stored by the EventsServer.

+
Parameters
+ + +
idThe id returned by a previous new_events() call.
+
+
+
Returns
The size of the internal EventMap() or a negative error code on failure.
+ +
+
+ +

◆ events_optimize_events()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
char * events_optimize_events (int id,
int id_clips,
int id_targets,
int num_steps,
int codes_per_step,
double threshold,
char * force_include,
char * force_exclude,
char * x_form,
char * agg,
double p,
int depth,
int as_states,
double exp_decay,
double lower_bound_p,
bool log_lift 
)
+
+ +

Events optimizer.

+

Optimizes the events to maximize prediction signal. (F1 score over same number of positives.) It converts code values many-to-one trying to group event codes into categories that represent similar events.

+

Before starting, a non-optimized Events object must be populated with an initial set of codes we want to reduce by assigning new many-to-one codes to them.

+

The algorithm initially removes all codes not found in the clips object. This completely removes them.

+

The algorithm builds a list of most promising (not already used) codes at the beginning of each step by full tree search. From that list, each code is tried downwards as {noise, new_code, last_code} for score improvement above threshold up to codes_per_step steps. And assigned a new code accordingly. The codes assigned become part of the internal EventCodeMap and in the next step they will replace their old values.

+

When the algorithm finishes, the internal EventCodeMap is used to rename the object codes and the whole process is reported.

+
Parameters
+ + + + + + + + + + + + + + + + + +
idThe id returned by a previous new_events() call. The object must be empty (never called).
id_clipsThe id of a clips object with the same codes and clips for a set of clients whose prediction we optimize.
id_targetsThe id of a Targets object whose internal TargetMap defines the targets. (Internally a new Targets object will be used to make the predictions we want to optimize.)
num_stepsThe number of steps to iterate. The method will stop early if no codes are found at a step.
codes_per_stepThe number of codes to be tried from the top of the priority list at each step.
thresholdA minimum threshold, below which a score change is not considered improvement.
force_includeAn optional pointer to a set of codes that must be included before starting.
force_excludeAn optional pointer to a set of codes that will excluded and set to the base code.
x_formThe x_form argument to fit the internal Targets object prediction model.
aggThe agg argument to fit the internal Targets object prediction model.
pThe p argument to fit the internal Targets object prediction model.
depthThe depth argument to fit the internal Targets object prediction model.
as_statesThe as_states argument to fit the internal Targets object prediction model.
exp_decayExponential Decay Factor applied to the internal score in terms of depth. That score selects what codes enter the model. The decay is applied to the average tree depth. 0 is no decay, default value = 0.00693 decays to 0.5 in 100 steps.
lower_bound_pAnother p for lower bound, but applied to the scoring process rather than the model.
log_liftA boolean to set if lift (= LB(included)/LB(after inclusion)) is log() transformed or not.
+
+
+
Returns
A lf separated report string that contains either "ERROR" or "success" as the first line.
+ +
+
+ +

◆ events_save()

+ +
+
+ + + + + + + + +
int events_save (int id)
+
+ +

Saves an Events object as a BinaryImage.

+
Parameters
+ + +
idThe id returned by a previous new_events() call.
+
+
+
Returns
0 on error, or a binary_image_id > 0 which is the same as id and must be destroyed using destroy_binary_image_iterator()
+ +
+
+ +

◆ events_set_max_num_events()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool events_set_max_num_events (int id,
int max_events 
)
+
+ +

Sets the public property max_num_events in an Events object stored by the EventsServer.

+
Parameters
+ + + +
idThe id returned by a previous new_events() call.
max_eventsThe value to apply to max_num_events.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ events_set_store_strings()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool events_set_store_strings (int id,
bool store 
)
+
+ +

Sets the public property store_strings in an Events object stored by the EventsServer.

+
Parameters
+ + + +
idThe id returned by a previous new_events() call.
storeTrue for storing the string contents.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ image_block_as_string() [1/2]

+ +
+
+ + + + + + + + +
char * image_block_as_string (ImageBlockblk)
+
+ +

Serializes a complete binary block (fixed size) as a base-64 string which is Python compatible.

+
Parameters
+ + +
blkAn ImageBlock passed by reference.
+
+
+
Returns
The address of a fixed buffer big enough to hold the output.
+ +
+
+ +

◆ image_block_as_string() [2/2]

+ +
+
+ + + + + + + + +
char * image_block_as_string (uint8_t * p_in)
+
+ +

Serializes a complete binary block (fixed size) as a base-64 string which is Python compatible.

+
Parameters
+ + +
p_inThe address of the ImageBlock as a generic unsigned pointer.
+
+
+
Returns
The address of a fixed buffer big enough to hold the output.
+ +
+
+ +

◆ new_clients()

+ +
+
+ + + + + + + +
int new_clients ()
+
+ +

Create a new Clients object that can be used via the Python interface.

+
Returns
A unique ID that can be passed as the id parameter for any method in the Python interface.
+

To free the resources allocated by this ID, the (python) caller must call destroy_clients() with the id and never use the same id after that.

+ +
+
+ +

◆ new_clips()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int new_clips (int id_clients,
int id_events 
)
+
+ +

Create a new Clips object that can be used via the Python interface.

+
Parameters
+ + + +
id_clientsThe id returned by a previous new_clients() call passed to the constructor.
id_eventsThe id returned by a previous new_events() call passed to the constructor.
+
+
+
Returns
A unique ID that can be passed as the id parameter for any method in the Python interface or -1 on error.
+

To free the resources allocated by this ID, the (python) caller must call destroy_clips() with the id and never use the same id after that.

+ +
+
+ +

◆ new_events()

+ +
+
+ + + + + + + +
int new_events ()
+
+ +

Create a new Events object that can be used via the Python interface.

+
Returns
A unique ID that can be passed as the id parameter for any method in the Python interface.
+

To free the resources allocated by this ID, the (python) caller must call destroy_events() with the id and never use the same id after that.

+ +
+
+ +

◆ new_targets()

+ +
+
+ + + + + + + + +
int new_targets (int id_clips)
+
+ +

Create a new Targets object that can be used via the Python interface.

+
Parameters
+ + +
id_clipsThe id returned by a previous new_clips() call passed to the constructor.
+
+
+
Returns
A unique ID that can be passed as the id parameter for any method in the Python interface or -1 on error.
+

To free the resources allocated by this ID, the (python) caller must call destroy_targets() with the id and never use the same id after that.

+ +
+
+ +

◆ next_binary_image_iterator()

+ +
+
+ + + + + + + + +
char * next_binary_image_iterator (int image_id)
+
+ +

Return the first unread binary images block in an iterator returned by a save_as_binary_image() call.

+
Parameters
+ + +
image_idThe image_id returned by a previous save_as_binary_image() call.
+
+
+
Returns
The the binary image block serialized as base64 or an empty string on failure.
+ +
+
+ +

◆ next_result_iterator()

+ +
+
+ + + + + + + + +
double next_result_iterator (int iter_id)
+
+ +

Return the first unread item in an iterator returned by predict().

+
Parameters
+ + +
iter_idThe iter_id returned by a previous predict() call.
+
+
+
Returns
The str_id of an insert()-ed set that matches the query.
+ +
+
+ +

◆ parse_bin_event_pt()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool parse_bin_event_pt (char * line,
BinEventPtev 
)
+
+ +
+
+ +

◆ size_binary_image_iterator()

+ +
+
+ + + + + + + + +
int size_binary_image_iterator (int image_id)
+
+ +

Return the number of unread binary images blocks in an iterator returned by a save_as_binary_image() call.

+
Parameters
+ + +
image_idThe image_id returned by a previous save_as_binary_image() call.
+
+
+
Returns
The number of unread blocks in the iterator.
+ +
+
+ +

◆ size_result_iterator()

+ +
+
+ + + + + + + + +
int size_result_iterator (int iter_id)
+
+ +

Return the number of unread items in an iterator returned by predict().

+
Parameters
+ + +
iter_idThe iter_id returned by a previous predict() call.
+
+
+
Returns
The number of unread items in the iterator.
+ +
+
+ +

◆ string_as_image_block()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool string_as_image_block (ImageBlockblk,
char * p_in 
)
+
+ +

Deserializes a base-64 string which is Python compatible as a complete binary ImageBlock (fixed size).

+
Parameters
+ + + +
blkAn ImageBlock passed by reference.
p_inThe address of the ImageBlock as a generic unsigned pointer.
+
+
+
Returns
The address of a fixed buffer big enough to hold the output.
+ +
+
+ +

◆ targets_describe_tree()

+ +
+
+ + + + + + + + +
char * targets_describe_tree (int id)
+
+ +

Describes some statistics of a fitted tree inside a Targets object.

+
Parameters
+ + +
idThe id returned by a previous new_targets() call.
+
+
+
Returns
On success, it will return a descriptive text with node count numbers for different node content.
+ +
+
+ +

◆ targets_describe_tree_node()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * targets_describe_tree_node (int id,
int idx 
)
+
+ +

Describes the internal representation of a tree node.

+
Parameters
+ + + +
idThe id returned by a previous new_targets() call.
idxThe index of the node in the tree, typically navigated using targets_tree_node_idx().
+
+
+
Returns
On success, it will return a tab separated list n_seen, n_target, sum_time_d, num_codes.
+ +
+
+ +

◆ targets_fit()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool targets_fit (int id,
char * x_form,
char * agg,
double p,
int depth,
int as_states 
)
+
+ +

Fit the prediction model in a Targets object stored by the TargetsServer.

+
Parameters
+ + + + + + + +
idThe id returned by a previous new_targets() call.
x_formA possible transformation of the times. (Currently "log" or "linear".)
aggThe mechanism used for the aggregation. (Currently "minimax", "mean" or "longest".)
pThe width of the confidence interval for the binomial proportion used to calculate the lower bound. (E.g., p = 0.5 will estimate a lower bound of a symmetric CI with coverage of 0.5.)
depthThe maximum depth of the tree (maximum sequence length learned).
as_statesTreat events as states by removing repeated ones from the ClipMap keeping the time of the first instance only. When used, the ClipMap passed to the constructor by reference will be converted to states as a side effect.
+
+
+

Fit can only be called once in the life of a Targets object and predict() cannot be called before fit().

+
Returns
True on success. Error if already fitted, wrong arguments or the id is not found.
+ +
+
+ +

◆ targets_insert_target()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool targets_insert_target (int id,
char * p_c,
char * p_t 
)
+
+ +

Utility to fill the internal TargetMap target in a Targets object stored by the TargetsServer.

+

The TargetMap can be initialized and given to the constructor, or an empty TargetMap can be given to the constructor ans initialized by this method. From the python interface only the latter is available.

+
Parameters
+ + + + +
idThe id returned by a previous new_targets() call.
p_cThe "client". A C/Python string representing "the actor".
p_tThe "time". A timestamp of the event as a C/Python string. (The format is given via set_time_format().)
+
+
+
Returns
True on new clients. False if the client is already in the TargetMap or the time is in the wrong format. Also false if the id is not found.
+ +
+
+ +

◆ targets_load_block()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool targets_load_block (int id,
char * p_block 
)
+
+ +

Pushes raw image blocks into an initially empty Targets object and finally creates it already populated with the binary image.

+
Parameters
+ + + +
idThe id returned by a previous new_targets() call. The object must be empty (never called).
p_blockIf non-empty, a block in the right order making a binary image obtained for a previous targets_save() call. If empty, an order to .load() the Targets object and destroyed the previously stored blocks.
+
+
+
Returns
True on success.
+ +
+
+ +

◆ targets_num_targets()

+ +
+
+ + + + + + + + +
int targets_num_targets (int id)
+
+ +

Returns the number of target points stored in the internal target variable.

+
Parameters
+ + +
idThe id returned by a previous new_targets() call.
+
+
+
Returns
-1 on error (wrong id) or the size.
+ +
+
+ +

◆ targets_predict_clients()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int targets_predict_clients (int id,
int id_clients 
)
+
+ +

Predict time to target for all the clients in a given Clients object whose clips have been used to fit the model in a Targets object stored by the TargetsServer.

+
predict() cannot be called before fit() and can be called any number of times in all overloaded forms after that.
+
+\param id         The id returned by a previous new_targets() call.
+\param id_clients The id returned by a previous new_clients() call passed to the constructor.
+
+\return  The index of an iterator (valid for size_result_iterator(), next_result_iterator() and destroy_result_iterator() calls)
+with the times of the predictions in seconds or -1 on error such as id not found.
+
+
+
+ +

◆ targets_predict_clips()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int targets_predict_clips (int id,
int id_clips 
)
+
+ +

Predict time to target for a set of clients whose clips are given in a ClipMap in a Targets object stored by the TargetsServer.

+

predict() cannot be called before fit() and can be called any number of times in all overloaded forms after that.

+
Parameters
+ + + +
idThe id returned by a previous new_targets() call.
id_clipsThe id returned by a previous new_clips() call passed to the constructor.
+
+
+
Returns
The index of an iterator (valid for size_result_iterator(), next_result_iterator() and destroy_result_iterator() calls) with the times of the predictions in seconds or -1 on error such as id not found.
+ +
+
+ +

◆ targets_save()

+ +
+
+ + + + + + + + +
int targets_save (int id)
+
+ +

Saves an Targets object as a BinaryImage.

+
Parameters
+ + +
idThe id returned by a previous new_targets() call.
+
+
+
Returns
0 on error, or a binary_image_id > 0 which is the same as id and must be destroyed using destroy_binary_image_iterator()
+ +
+
+ +

◆ targets_set_time_format()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool targets_set_time_format (int id,
char * fmt 
)
+
+ +

Sets the public property time_format to simplify the python interface in a Targets object stored by the TargetsServer.

+
Parameters
+ + + +
idThe id returned by a previous new_targets() call.
fmtThe time format in standard calendar time format http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
+
+
+
Returns
True on valid id.
+ +
+
+ +

◆ targets_tree_node_children()

+ +
+
+ + + + + + + + + + + + + + + + + + +
char * targets_tree_node_children (int id,
int idx 
)
+
+ +

Lists the children of a tree node.

+
Parameters
+ + + +
idThe id returned by a previous new_targets() call.
idxThe index of the node in the tree, typically navigated using targets_tree_node_idx().
+
+
+
Returns
On success, it will return a tab separated list of integer codes.
+ +
+
+ +

◆ targets_tree_node_idx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int targets_tree_node_idx (int id,
int parent_idx,
int code 
)
+
+ +

Returns the index of a tree node by parent node and code.

+
Parameters
+ + + + +
idThe id returned by a previous new_targets() call.
parent_idxThe index of the parent node which is either 0 for root or returned from a previous targets_tree_node_idx() call.
codeThe code that leads in the tree from the parent node to the child node.
+
+
+
Returns
On success, i.e, if both the parent index exists and contains the code, it will return the index of the child (-1 otherwise).
+ +
+
+

Variable Documentation

+ +

◆ answer_block

+ +
+
+ + + + +
char answer_block[8208]
+
+ +
+
+ +

◆ answer_buffer

+ +
+
+ + + + +
char answer_buffer[8192]
+
+ +
+
+ +

◆ b64chars

+ +
+
+ + + + +
char b64chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
+
+ +
+
+ +

◆ b64inverse

+ +
+
+ + + + +
uint8_t b64inverse[256] = {0}
+
+ +
+
+ +

◆ clients

+ +
+
+ + + + +
ClientsServer clients = {}
+
+ +
+
+ +

◆ clients_num

+ +
+
+ + + + +
int clients_num = 0
+
+ +
+
+ +

◆ clips

+ +
+
+ + + + +
ClipsServer clips = {}
+
+ +
+
+ +

◆ clips_num

+ +
+
+ + + + +
int clips_num = 0
+
+ +
+
+ +

◆ events

+ +
+
+ + + + +
EventsServer events = {}
+
+ +
+
+ +

◆ events_num

+ +
+
+ + + + +
int events_num = 0
+
+ +
+
+ +

◆ image

+ +
+
+ + + + +
BinaryImageServer image = {}
+
+ +
+
+ +

◆ it_times

+ +
+
+ + + + +
IterTimesServer it_times = {}
+
+ +
+
+ +

◆ it_times_num

+ +
+
+ + + + +
int it_times_num = 0
+
+ +
+
+ +

◆ targets

+ +
+
+ + + + +
TargetsServer targets = {}
+
+ +
+
+ +

◆ targets_num

+ +
+
+ + + + +
int targets_num = 0
+
+ +
+
+
+ + + + diff --git a/reference/html/reels_8cpp__incl.map b/reference/html/reels_8cpp__incl.map new file mode 100644 index 0000000..9e0c210 --- /dev/null +++ b/reference/html/reels_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/reference/html/reels_8cpp__incl.md5 b/reference/html/reels_8cpp__incl.md5 new file mode 100644 index 0000000..d90e87d --- /dev/null +++ b/reference/html/reels_8cpp__incl.md5 @@ -0,0 +1 @@ +0bd80a9842e12db5b8aa27f56685fda7 \ No newline at end of file diff --git a/reference/html/reels_8cpp__incl.png b/reference/html/reels_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..112f12f4405107fd0b3494f8907e43d13343209b GIT binary patch literal 24080 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 literal 0 HcmV?d00001 diff --git a/reference/html/reels_8h.html b/reference/html/reels_8h.html new file mode 100644 index 0000000..3fe25d8 --- /dev/null +++ b/reference/html/reels_8h.html @@ -0,0 +1,443 @@ + + + + + + + +Reels: reels/reels.h File Reference + + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
reels.h File Reference
+
+
+
#include <algorithm>
+#include <map>
+#include <math.h>
+#include <set>
+#include <string>
+#include <string.h>
+#include <time.h>
+#include <vector>
+#include <stdarg.h>
+#include <cstdint>
+
+Include dependency graph for reels.h:
+
+
+ + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

struct  reels::ImageBlock
 An generic block structure to store object state in a Python-friendly way. More...
 
struct  reels::BinEventPt
 The binary representation of an event as stored in a transaction file. More...
 
struct  reels::BinTransaction
 The binary representation of a transaction in a transaction file. More...
 
struct  reels::EventStat
 The metrics associated to an event identified by a BinEventPt. More...
 
struct  reels::CodeInTreeStatistics
 CodeInTreeStatistics: A structure to compute aggregated statistics of for each code. More...
 
struct  reels::StringUsage
 StringUsage: A pair of String and number of times it is used. More...
 
struct  reels::OptimizeEvalItem
 OptimizeEvalItem: A structure to compare predicted and observed. More...
 
struct  reels::CodeScoreItem
 CodeScoreItem: A structure to sort codes by lift. More...
 
struct  reels::CodeTreeNode
 CodeTreeNode: Each node in a fitted CodeTree. More...
 
class  reels::Logger
 A minimalist logger stored as a std::string providing sprintf functionality. More...
 
class  reels::Events
 A container class to hold events. More...
 
class  reels::Clients
 A container class to hold client ids. More...
 
class  reels::TimeUtil
 A common ancestor of Clips and Targets to avoid duplicating time management. More...
 
class  reels::Clips
 A container class to hold clips (sequences of events). More...
 
class  reels::Targets
 A container class to hold target events and do predictions based on clips. More...
 
+ + + + +

+Namespaces

namespace  reels
 The namespace including everything to simplify using Reels in a c++ application,.
 
+ + + + + + + + + + + + + + + + + + + + + +

+Macros

#define INCLUDED_REELS_TYPES
 
#define IMAGE_BUFF_SIZE   6136
 Makes sizeof(ImageBlock) == 6K. More...
 
#define PRIORITY_SEEN_FACTOR   2000000000
 Close enough to 2^31 increases by 1 on visit, multiplies by this on seen. More...
 
#define DEFAULT_NUM_EVENTS   1000
 A size to store events in an Events object by default. More...
 
#define MAX_SEQ_LEN_IN_PREDICT   1000
 The maximum sequence length used in prediction. More...
 
#define PREDICT_MAX_TIME   (100*365.25*24*3600)
 Hundred years when the target was never seen. More...
 
#define WEIGHT_PRECISION   10000
 10^ the number of digits at which weight is rounded More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef uint64_t reels::ElementHash
 A binary hash of a string. More...
 
typedef std::string reels::String
 A dynamically allocated c++ string. More...
 
typedef const char * reels::pChar
 A c string. More...
 
typedef time_t reels::TimePoint
 A c 8 byte integer time point. More...
 
typedef struct tm reels::TimeStruct
 A c structure of integer fields. More...
 
typedef double reels::ExtFloat
 Accumulator type: Was a 128 bit float, changed to 64 for macos compatibility. More...
 
typedef std::vector< ImageBlock > reels::BinaryImage
 An array of generic blocks to serialize anything. More...
 
typedef BinaryImage * reels::pBinaryImage
 A pointer to BinaryImage. More...
 
typedef std::map< BinEventPt, EventStat > reels::EventMap
 EventMap: A map from hashes in an BinEventPt to usage data defines the info about an event. More...
 
typedef std::map< uint64_t, BinEventPt > reels::PriorityMap
 PriorityMap: A map with all the acceptable priority values in the EventMap as keys. More...
 
typedef std::map< uint64_t, uint64_t > reels::EventCodeMap
 EventCodeMap: A map converting the space of Event codes into a lower cardinality set for Event optimization. More...
 
typedef std::map< uint64_t, CodeInTreeStatistics > reels::CodeInTreeStatMap
 CodeInTreeStatMap: A map to store all the CodeInTreeStatistics by code. More...
 
typedef std::map< ElementHash, StringUsage > reels::StringUsageMap
 StringUsageMap: A map from hashes to string and number of times the string is used. More...
 
typedef std::vector< ElementHash > reels::ClientIDs
 ClientIDs: A vector of client ID hashes. More...
 
typedef std::set< ElementHash > reels::ClientIDSet
 ClientIDSet: A set of client ID hashes. More...
 
typedef std::map< TimePoint, uint64_t > reels::Clip
 Clip: The clip (timeline) of a client is just a map of time points and codes. More...
 
typedef std::map< ElementHash, Clip > reels::ClipMap
 ClipMap: A map from clients to clips. More...
 
typedef ClipMap * reels::pClipMap
 Pointer to a ClipMap. More...
 
typedef std::map< ElementHash, TimePoint > reels::TargetMap
 TargetMap: A map from clients to target event TimePoints. More...
 
typedef TargetMap * reels::pTargetMap
 Pointer to a TargetMap. More...
 
typedef std::vector< double > reels::TimesToTarget
 TimesToTarget: A vector of predictions. More...
 
typedef std::set< uint64_t > reels::CodeSet
 CodeSet: A set of event codes. More...
 
typedef CodeSet * reels::pCodeSet
 Pointer to a CodeSet. More...
 
typedef std::vector< OptimizeEvalItem > reels::OptimizeEval
 OptimizeEval: A vector of OptimizeEvalItem. More...
 
typedef std::vector< CodeScoreItem > reels::CodeScores
 CodeScores: A vector of CodeScoreItem. More...
 
typedef std::map< uint64_t, int > reels::ChildIndex
 ChildIndex: A map to find the next child in a CodeTree. More...
 
typedef CodeTreeNode * reels::pCodeTreeNode
 Pointer to a CodeTreeNode. More...
 
typedef std::vector< CodeTreeNode > reels::CodeTree
 CodeTree: A tree of fitted targets. More...
 
typedef CodeTree * reels::pCodeTree
 Pointer to a CodeTree. More...
 
+ + + + + + + +

+Enumerations

enum  reels::Transform { reels::tr_undefined +, reels::tr_linear +, reels::tr_log + }
 Transform: The transformation applied to time differences. (And inverted again in predict().) More...
 
enum  reels::Aggregate { reels::ag_undefined +, reels::ag_mean +, reels::ag_minimax +, reels::ag_longest + }
 Aggregate: The method used to aggregate predictions for different sequence lengths. More...
 
+ + + + + + + + + + +

+Functions

uint64_t reels::MurmurHash64A (const void *key, int len)
 MurmurHash2, 64-bit versions, by Austin Appleby. More...
 
bool reels::image_put (pBinaryImage p_bi, void *p_data, int size)
 A function to push arbitrary raw data into a BinaryImage. More...
 
bool reels::image_get (pBinaryImage p_bi, int &c_block, int &c_ofs, void *p_data, int size)
 A function to get an arbitrary raw data block from a BinaryImage. More...
 
+

Macro Definition Documentation

+ +

◆ DEFAULT_NUM_EVENTS

+ +
+
+ + + + +
#define DEFAULT_NUM_EVENTS   1000
+
+ +

A size to store events in an Events object by default.

+ +
+
+ +

◆ IMAGE_BUFF_SIZE

+ +
+
+ + + + +
#define IMAGE_BUFF_SIZE   6136
+
+ +

Makes sizeof(ImageBlock) == 6K.

+ +
+
+ +

◆ INCLUDED_REELS_TYPES

+ +
+
+ + + + +
#define INCLUDED_REELS_TYPES
+
+ +
+
+ +

◆ MAX_SEQ_LEN_IN_PREDICT

+ +
+
+ + + + +
#define MAX_SEQ_LEN_IN_PREDICT   1000
+
+ +

The maximum sequence length used in prediction.

+ +
+
+ +

◆ PREDICT_MAX_TIME

+ +
+
+ + + + +
#define PREDICT_MAX_TIME   (100*365.25*24*3600)
+
+ +

Hundred years when the target was never seen.

+ +
+
+ +

◆ PRIORITY_SEEN_FACTOR

+ +
+
+ + + + +
#define PRIORITY_SEEN_FACTOR   2000000000
+
+ +

Close enough to 2^31 increases by 1 on visit, multiplies by this on seen.

+ +
+
+ +

◆ WEIGHT_PRECISION

+ +
+
+ + + + +
#define WEIGHT_PRECISION   10000
+
+ +

10^ the number of digits at which weight is rounded

+ +
+
+
+ + + + diff --git a/reference/html/reels_8h__dep__incl.map b/reference/html/reels_8h__dep__incl.map new file mode 100644 index 0000000..e7ccdcb --- /dev/null +++ b/reference/html/reels_8h__dep__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/reference/html/reels_8h__dep__incl.md5 b/reference/html/reels_8h__dep__incl.md5 new file mode 100644 index 0000000..ead48d2 --- /dev/null +++ b/reference/html/reels_8h__dep__incl.md5 @@ -0,0 +1 @@ +3ebcd240f82c58148bd7bf62da039d02 \ No newline at end of file diff --git a/reference/html/reels_8h__dep__incl.png b/reference/html/reels_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2317499c5e8676c7fb3da52eb5ab6bc39eadca27 GIT binary patch literal 11828 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 D!>1b= literal 0 HcmV?d00001 diff --git a/reference/html/reels_8h__incl.map b/reference/html/reels_8h__incl.map new file mode 100644 index 0000000..fe4ac69 --- /dev/null +++ b/reference/html/reels_8h__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/reference/html/reels_8h__incl.md5 b/reference/html/reels_8h__incl.md5 new file mode 100644 index 0000000..612a763 --- /dev/null +++ b/reference/html/reels_8h__incl.md5 @@ -0,0 +1 @@ +6c3963b711898551846ef6cf1f4f86fa \ No newline at end of file diff --git a/reference/html/reels_8h__incl.png b/reference/html/reels_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ab179cdd74febce041b6d321094db65105b8ba GIT binary patch literal 17795 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 Ib4q9e0D5%AkpKVy literal 0 HcmV?d00001 diff --git a/reference/html/reels_8h_source.html b/reference/html/reels_8h_source.html index d04030a..cc71b75 100644 --- a/reference/html/reels_8h_source.html +++ b/reference/html/reels_8h_source.html @@ -3,7 +3,7 @@ - + Reels: reels/reels.h Source File @@ -30,7 +30,7 @@ - + + + + + + + + +

+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
reels_main.cpp File Reference
+
+
+
#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string.h>
+#include "reels.h"
+#include "reels_main.h"
+
+Include dependency graph for reels_main.cpp:
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + +

+Functions

int do_all (String trans_fn, int max_events, String event_fn, String client_fn, String target_fn, String train_fn, String test_fn, String output, String transform, String aggregate, double fit_p, int depth, bool as_states)
 
void help ()
 
String parse (String name, int argc, char *argv[])
 
int main (int argc, char *argv[])
 
+

Function Documentation

+ +

◆ do_all()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int do_all (String trans_fn,
int max_events,
String event_fn,
String client_fn,
String target_fn,
String train_fn,
String test_fn,
String output,
String transform,
String aggregate,
double fit_p,
int depth,
bool as_states 
)
+
+ +
+
+ +

◆ help()

+ +
+
+ + + + + + + +
void help ()
+
+ +
+
+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char * argv[] 
)
+
+ +
+
+ +

◆ parse()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
String parse (String name,
int argc,
char * argv[] 
)
+
+ +
+
+
+ + + + diff --git a/reference/html/reels__main_8cpp__incl.map b/reference/html/reels__main_8cpp__incl.map new file mode 100644 index 0000000..f3ca211 --- /dev/null +++ b/reference/html/reels__main_8cpp__incl.map @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/reference/html/reels__main_8cpp__incl.md5 b/reference/html/reels__main_8cpp__incl.md5 new file mode 100644 index 0000000..99f9503 --- /dev/null +++ b/reference/html/reels__main_8cpp__incl.md5 @@ -0,0 +1 @@ +a35a3f1a91ab83554f4a9a2e54c8d47f \ No newline at end of file diff --git a/reference/html/reels__main_8cpp__incl.png b/reference/html/reels__main_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bf7e7c0ae886ccfd44e83e51d03493e3d88ad987 GIT binary patch literal 41409 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 literal 0 HcmV?d00001 diff --git a/reference/html/reels__main_8h.html b/reference/html/reels__main_8h.html new file mode 100644 index 0000000..d42e2f2 --- /dev/null +++ b/reference/html/reels__main_8h.html @@ -0,0 +1,125 @@ + + + + + + + +Reels: reels/reels_main.h File Reference + + + + + + + + + + +
+
reels_main.h File Reference
+
+
+
#include <sys/stat.h>
+#include <chrono>
+#include <iostream>
+#include <fstream>
+#include "reels.h"
+
+Include dependency graph for reels_main.h:
+
+
+ + + + + + + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+
+ + + + diff --git a/reference/html/reels__main_8h__dep__incl.map b/reference/html/reels__main_8h__dep__incl.map new file mode 100644 index 0000000..6ac1e6a --- /dev/null +++ b/reference/html/reels__main_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/reference/html/reels__main_8h__dep__incl.md5 b/reference/html/reels__main_8h__dep__incl.md5 new file mode 100644 index 0000000..144469d --- /dev/null +++ b/reference/html/reels__main_8h__dep__incl.md5 @@ -0,0 +1 @@ +81d3c268964eca5a2570174ac2e1a632 \ No newline at end of file diff --git a/reference/html/reels__main_8h__dep__incl.png b/reference/html/reels__main_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..699f26e11f5574b647a0d247cf685a70b0ebabfd GIT binary patch literal 3346 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 literal 0 HcmV?d00001 diff --git a/reference/html/reels__main_8h__incl.map b/reference/html/reels__main_8h__incl.map new file mode 100644 index 0000000..12d2a8d --- /dev/null +++ b/reference/html/reels__main_8h__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/reference/html/reels__main_8h__incl.md5 b/reference/html/reels__main_8h__incl.md5 new file mode 100644 index 0000000..8c97116 --- /dev/null +++ b/reference/html/reels__main_8h__incl.md5 @@ -0,0 +1 @@ +ddbf00b0822b37a5edfc15402a6f3d30 \ No newline at end of file diff --git a/reference/html/reels__main_8h__incl.png b/reference/html/reels__main_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2d6c9b46a8e794f1e238f069a5ef122ef3653c9a GIT binary patch literal 27453 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 - + Reels: reels/reels_main.h Source File @@ -30,7 +30,7 @@ - + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
reels_test.cpp File Reference
+
+
+
#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string.h>
+#include "reels_test.h"
+
+Include dependency graph for reels_test.cpp:
+
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +

+Macros

#define CATCH_CONFIG_MAIN
 
+

Macro Definition Documentation

+ +

◆ CATCH_CONFIG_MAIN

+ +
+
+ + + + +
#define CATCH_CONFIG_MAIN
+
+ +
+
+
+ + + + diff --git a/reference/html/reels__test_8cpp__incl.map b/reference/html/reels__test_8cpp__incl.map new file mode 100644 index 0000000..eead13b --- /dev/null +++ b/reference/html/reels__test_8cpp__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/reference/html/reels__test_8cpp__incl.md5 b/reference/html/reels__test_8cpp__incl.md5 new file mode 100644 index 0000000..c9f2e24 --- /dev/null +++ b/reference/html/reels__test_8cpp__incl.md5 @@ -0,0 +1 @@ +553b5359d5a96fd057c2ff81473cbb7d \ No newline at end of file diff --git a/reference/html/reels__test_8cpp__incl.png b/reference/html/reels__test_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..1228c9c228b4245239e5f621731b237eb8cb8807 GIT binary patch literal 31081 zcmb@tWmJ`I)GkU$N-IdW(%lWxQqm350@B?eNJw{sNJ)cqBOS6(K)O@9yY{{C{q`RF zoFC`USq_H|c-9@W=e({b?5(0SIw~P53=9mqtc-*T49pWD7#LU>WJK_jN?P<%@DHM~ zoU{bY1N6_A*1~ug7;+d{2{ASIjNN$;clGtg`=f(uH^g3;uiw7N*WpSc_RynZOv&J2 zZGM^fNFn-ONJS~ywX$q;ZCq6;y6#NVrsOpamc=g(NeWncjJMKi_TRqtqkX1CMGZ2o z*u0R2d;RkXwbvf?#b#4OcWGwrerrAX&4&KSQ_BCZ&u9$eE)3-vo5M=?ZzGGC4H}%V z($<^(WFM^LaB&Pi>RtR% z`BJT_k4(CCK_uc5&<~+9HCX+>Po!A>za_ziFV&Rttw-L63q(ppDApo2aDN#q+Ss`3+{m=03Ok#4# zg$n*j<#(Y6OKxO&?JtABIhqv)w<|B&zn#o*>6a9osMk7eDw6u$IwUdc4@Qv);B&sm znx3A{D=66aC|mG*@R=yn?K27?>BZI5`@z;nTs`8YJLZ55{lw0zdCFARx*r+)UUrd< zmT0n2#v;4TySy+nGt&eA)>uzQ(PVqa2^_S<8{TberVxx3D3qLCE(qUWnvi;|VV5`W z^EbI2KxS&KJ=PO7&*=z~m~?yjHZ$T`J&HLTRwRV4)}BFxZ$2oB+?@&;R_x8BbK4Xj z>2PIM6o36n*>=6n@JcC5J_LhA>$@q+LF)zS-OUBk(zHePy0pkOHju?8^#A9xcAI|p zn||*X+k9H1!XGu_Z)+E8{$Z-ph}h{Tn*=3x-G}MUor-oy3Y!V<=`V51KgGDodX6aB z-p43J+#kN3xU2tupOBYFty60y>FCJb>UFUZC&xVPXCPD^2P_Z8KA|9KivZQgw&PaGB8d-V|8OQ7_RjH8uTJq)M~kz8dLC z_To{buw|z)=DRWC7}F;wN+Ng9{j(o#Hy7RKHipxu+kCvr`kGyK>P99pgihbSl27T# zjTRnEHuROPx1GOSxM=HBmL@^y(6wvrsc$=D0!K~6@;H~)pT530@OwKs)8fGqD-+a( zAyC@eN9_4GXYuj^_`~>3!=pryzk#hk9O#PjyX{A$9)*b91^~PAU9HOYIoB@hD;aC| z^8*V-H=i62u{iCN)jNW}adB~--_3^3wHvWqvu4y<)eFi$xagN`Ulni9HFAhy9S+cB z|H_w3wj!%;cAvgkL_))Vd$9V?^uNsN=6&K_ixJ0XeFrmEsI&=nkI8cVQk~k*P?I@6 zKIV_sJge}#3y1oFLOM5gcn|VN|L@<~=Q7EW-Ea2l+m$_o5(}A0_?_R~U7tM>dt32u zcNpM6KWysf>o#wJMOgGk5PXhw1M^(SG}ln_6w&d;)I!rVA||;Afu# z;E^W&M;Pz(Lu$xZdm~qi3bR�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 + + + + + + +Reels: reels/reels_test.h File Reference + + + + + + + + + +
+
+ + + + + + + +
+
Reels +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
reels_test.h File Reference
+
+
+
#include "reels.h"
+
+Include dependency graph for reels_test.h:
+
+
+ + + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+
+ + + + diff --git a/reference/html/reels__test_8h__dep__incl.map b/reference/html/reels__test_8h__dep__incl.map new file mode 100644 index 0000000..598cb26 --- /dev/null +++ b/reference/html/reels__test_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/reference/html/reels__test_8h__dep__incl.md5 b/reference/html/reels__test_8h__dep__incl.md5 new file mode 100644 index 0000000..444a31f --- /dev/null +++ b/reference/html/reels__test_8h__dep__incl.md5 @@ -0,0 +1 @@ +c5f6a2b7d7aa13506f708e20d1247533 \ No newline at end of file diff --git a/reference/html/reels__test_8h__dep__incl.png b/reference/html/reels__test_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..40fd583373d943af373a20d091eea7fc2fcbff32 GIT binary patch literal 2905 zcmcJR`8$-|AIHboLb4B%T|_g97+V-cW2|EvTiJ?ai_Bx+qH;Y920c=Qk}Ok}8Edu} zqO4=dPK`9E$ubyOzjr@;zt{5*e6Rc5_qoowu5(|Xb3X6S>%9L)TOoP5PjiDnAYPQI zu`SRS0dL?54&bZUNo%^OnU<`SmSkJbQLJUq2c%xhLz4 zs1Jrd1GgP)_ARfj3QCd*6K>JG3vv5z{g|RBQeP&pva(h?L5EkcFN-gVlJ<0q4E_B4 z@R^zS&pTGW4}cfHdc_viDrISD*%fX(ySB|6~Um_uV1$e-gs^hdm09V ziAhT*V+h^pl6pnsev*t-QB^s4dDbk2a=8q>YsCUSB=MefNpj82o}$qew1Y!QV|{7e zW%|%_AQs-ct=o`(pG#CK6@C3W4k;DcwXYObz}Aug8lIm|rxiq>(tUo42whzNO0IT! zTlVHn*GP$Z$mTcH*!cL@_xD-x3S7txscqf%nfLEOrzIq8oSnJeVp7}M4D$8D2UmoG z)Ss?@%eJmi%+TXVVwtFNM+OC5`25zD);Kpaos^U$HL+Q17~Z!3OV8fkUPf7&3)oM@ zS}POn>Z-T606Af#!+v+Vmg~-)J9uw#GMT))(IahRYn!;#_e5S@U2vv8ki7k4B7{Dz z+1*5_uDJn>!l&uyzv*ta$iorp78?n9M z7Nn#j*tj$m`UFSd<3?G%M+>i8v*s!f2HfCDdkYs{*hU{+{o&a|mwuR?$*5{a(G%q# zD#Y<>o8RiO0%1UyNgJrHbs1Iu3$$g#>}#x@7$}&=ee2ee;K9;AmLvVl+iF$2C$xED z?Iv-CeVqK%{bNKyqw$MW9&Np$FFPwtxHu+j9oMM+BGtMhP9?CUw_14?^kqvbGRs3; z+JyQyJ<9}Li|;}r3?Cle2ZL-X8_XX7xtvsyu{B);@0oX!1UtU_cqw&~jE01$yTU({ zMIp`i*$6OjeBh))8k?5$GF84vT8_NV7ZKfm;@+-sO5&4qTOllmM(1qi zjUy#?lnmJS%icW13~N*x{YLpe>CD95B5CmBuD?jnNN6K^amGZqd^^6|=j1{EonkP> z5c$1*>~-;W4BNjB9naPM?;QL;hnkCyTc=MxqGu_@Lgg&VWCP(K#H#*zZIrLfOUY}+ zloipasDtA~UXH6@gkWM(6c+m-UyXOIb2nK?L?RgS2xd^g-COlvwcxo*roojrnjy&a zGXj!iqrgZA_c#O(JH=Cxz-O>4GnlUmR-X$T02h=@>t5(glXdJTyzCla%yVz+FFQvn78BogVPuZExi z1;8$&z^~e}4ki+b)zQqL>n#x!wPR|k zDn2_qDK}T_5AR2&LvIjDOF2C~Jx$Hc8I6{Heyg~QD!0~EM$CoFajKKFKC zfU$*@6?L{L^qh)H=h)a|;ASYdD@6m!aF6@Vjv|xE4qobp{n|-R8g@siq zm(6}PuNmZ8C|X!s??1M@1DiNxK{z{$!|%@joQ#i)GYDIoPcwgV!4r!W2K+c!zXv3_uu>1?XSzM!u;le?TP#+?`}S=+ zJG<;5Mzeb;U~(uws@knqR#vb>`b@Nsk7Df3)NNzqKMDbUg|U=68yFb4HGGxNCL%%` zSbDzlZEa5TA$^LJyt%n~W(J4D4bQhm-&y+f&tp6u0ccr6P3>#Mn~I7G-^0D_TI`Cg z3(1E!mNB4Zl~K~rR0WO_kQ-qP85%B{s5727D-jGs-PsT1j2{DKS5@l%I!M<2J#c<+ zTpO&gCqWHW+H2Q8zB^Ke!9*mj|M^Z=$(?JXD#%gP4(@&Je5f-(Q~8#W0ImJseS_y( z+K_t%*q~gUNjc5p1R|6!QR*SzC5}r9rgz2u2D~x| MWnyJqdBr2~KjIvJ=l}o! literal 0 HcmV?d00001 diff --git a/reference/html/reels__test_8h__incl.map b/reference/html/reels__test_8h__incl.map new file mode 100644 index 0000000..078d6b8 --- /dev/null +++ b/reference/html/reels__test_8h__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/reference/html/reels__test_8h__incl.md5 b/reference/html/reels__test_8h__incl.md5 new file mode 100644 index 0000000..0aad1c3 --- /dev/null +++ b/reference/html/reels__test_8h__incl.md5 @@ -0,0 +1 @@ +c89f8087d4a2602d1a0d017759d315fe \ No newline at end of file diff --git a/reference/html/reels__test_8h__incl.png b/reference/html/reels__test_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4994a9ed24532b673033dde237ad6b013ccf4939 GIT binary patch literal 20337 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 eS{B8h#a^azWiABX=K(`c - + Reels: reels/reels_test.h Source File @@ -30,7 +30,7 @@ - +