diff --git a/_r_e_a_d_m_e_8md.html b/_r_e_a_d_m_e_8md.html index dce6cac16..2ff915988 100644 --- a/_r_e_a_d_m_e_8md.html +++ b/_r_e_a_d_m_e_8md.html @@ -102,7 +102,7 @@ diff --git a/annotated.html b/annotated.html index 906ca95ed..269a9c4fb 100644 --- a/annotated.html +++ b/annotated.html @@ -147,7 +147,7 @@ diff --git a/barray-bones_8hpp.html b/barray-bones_8hpp.html index eb5b5aa9b..61688ac96 100644 --- a/barray-bones_8hpp.html +++ b/barray-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/barray-bones_8hpp_source.html b/barray-bones_8hpp_source.html index c1dee6a1e..1d468517c 100644 --- a/barray-bones_8hpp_source.html +++ b/barray-bones_8hpp_source.html @@ -328,7 +328,7 @@ diff --git a/barray-iterator_8hpp.html b/barray-iterator_8hpp.html index bff1c71d1..d654c2387 100644 --- a/barray-iterator_8hpp.html +++ b/barray-iterator_8hpp.html @@ -112,7 +112,7 @@ diff --git a/barray-iterator_8hpp_source.html b/barray-iterator_8hpp_source.html index 1b675ca9a..36f76d17c 100644 --- a/barray-iterator_8hpp_source.html +++ b/barray-iterator_8hpp_source.html @@ -148,7 +148,7 @@ diff --git a/barray-meat-operators_8hpp.html b/barray-meat-operators_8hpp.html index 6d7e2792a..3c2373238 100644 --- a/barray-meat-operators_8hpp.html +++ b/barray-meat-operators_8hpp.html @@ -576,7 +576,7 @@

diff --git a/barray-meat-operators_8hpp_source.html b/barray-meat-operators_8hpp_source.html index 337164361..7a098cdb6 100644 --- a/barray-meat-operators_8hpp_source.html +++ b/barray-meat-operators_8hpp_source.html @@ -240,7 +240,7 @@ diff --git a/barray-meat_8hpp.html b/barray-meat_8hpp.html index c09e006dd..4ec147f4c 100644 --- a/barray-meat_8hpp.html +++ b/barray-meat_8hpp.html @@ -164,7 +164,7 @@

    - +
diff --git a/barray-meat_8hpp_source.html b/barray-meat_8hpp_source.html index c2cf2ab6d..d2c5bb5e1 100644 --- a/barray-meat_8hpp_source.html +++ b/barray-meat_8hpp_source.html @@ -1441,7 +1441,7 @@ diff --git a/barraycell-bones_8hpp.html b/barraycell-bones_8hpp.html index 4e9b6d0ad..468ce0588 100644 --- a/barraycell-bones_8hpp.html +++ b/barraycell-bones_8hpp.html @@ -123,7 +123,7 @@ diff --git a/barraycell-bones_8hpp_source.html b/barraycell-bones_8hpp_source.html index ff0523583..f2f65e6b4 100644 --- a/barraycell-bones_8hpp_source.html +++ b/barraycell-bones_8hpp_source.html @@ -204,7 +204,7 @@ diff --git a/barraycell-meat_8hpp.html b/barraycell-meat_8hpp.html index 07be832cd..f94f1c6b2 100644 --- a/barraycell-meat_8hpp.html +++ b/barraycell-meat_8hpp.html @@ -113,7 +113,7 @@ diff --git a/barraycell-meat_8hpp_source.html b/barraycell-meat_8hpp_source.html index 19751e7f5..d5c25e974 100644 --- a/barraycell-meat_8hpp_source.html +++ b/barraycell-meat_8hpp_source.html @@ -220,7 +220,7 @@ diff --git a/barraydense-bones_8hpp.html b/barraydense-bones_8hpp.html index be05c9ca1..5dbb00e35 100644 --- a/barraydense-bones_8hpp.html +++ b/barraydense-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/barraydense-bones_8hpp_source.html b/barraydense-bones_8hpp_source.html index db734f3e6..84fd23e49 100644 --- a/barraydense-bones_8hpp_source.html +++ b/barraydense-bones_8hpp_source.html @@ -340,7 +340,7 @@ diff --git a/barraydense-meat-operators_8hpp.html b/barraydense-meat-operators_8hpp.html index 9450bb422..a6c509f44 100644 --- a/barraydense-meat-operators_8hpp.html +++ b/barraydense-meat-operators_8hpp.html @@ -481,7 +481,7 @@

    - +
diff --git a/barraydense-meat-operators_8hpp_source.html b/barraydense-meat-operators_8hpp_source.html index bda92a10e..f95675196 100644 --- a/barraydense-meat-operators_8hpp_source.html +++ b/barraydense-meat-operators_8hpp_source.html @@ -231,7 +231,7 @@ diff --git a/barraydense-meat_8hpp.html b/barraydense-meat_8hpp.html index 53d4846a6..acd55972d 100644 --- a/barraydense-meat_8hpp.html +++ b/barraydense-meat_8hpp.html @@ -252,7 +252,7 @@

    - +
diff --git a/barraydense-meat_8hpp_source.html b/barraydense-meat_8hpp_source.html index 709e608fe..00aebffc7 100644 --- a/barraydense-meat_8hpp_source.html +++ b/barraydense-meat_8hpp_source.html @@ -1190,7 +1190,7 @@ diff --git a/barraydensecell-bones_8hpp.html b/barraydensecell-bones_8hpp.html index 3e9ab9678..c38972317 100644 --- a/barraydensecell-bones_8hpp.html +++ b/barraydensecell-bones_8hpp.html @@ -158,7 +158,7 @@

    - +
diff --git a/barraydensecell-bones_8hpp_source.html b/barraydensecell-bones_8hpp_source.html index 250dbc556..3b0376cee 100644 --- a/barraydensecell-bones_8hpp_source.html +++ b/barraydensecell-bones_8hpp_source.html @@ -189,7 +189,7 @@ diff --git a/barraydensecell-meat_8hpp.html b/barraydensecell-meat_8hpp.html index 8727dcd52..c900ee99a 100644 --- a/barraydensecell-meat_8hpp.html +++ b/barraydensecell-meat_8hpp.html @@ -152,7 +152,7 @@

    - +
diff --git a/barraydensecell-meat_8hpp_source.html b/barraydensecell-meat_8hpp_source.html index c773d0449..316e2f10b 100644 --- a/barraydensecell-meat_8hpp_source.html +++ b/barraydensecell-meat_8hpp_source.html @@ -235,7 +235,7 @@ diff --git a/barraydensecol-bones_8hpp.html b/barraydensecol-bones_8hpp.html index d17cecf1b..384bd3e83 100644 --- a/barraydensecol-bones_8hpp.html +++ b/barraydensecol-bones_8hpp.html @@ -216,7 +216,7 @@

    - +
diff --git a/barraydensecol-bones_8hpp_source.html b/barraydensecol-bones_8hpp_source.html index 8a207a30a..36037eebf 100644 --- a/barraydensecol-bones_8hpp_source.html +++ b/barraydensecol-bones_8hpp_source.html @@ -246,7 +246,7 @@ diff --git a/barraydenserow-bones_8hpp.html b/barraydenserow-bones_8hpp.html index 64e0d7d1f..b86ab4631 100644 --- a/barraydenserow-bones_8hpp.html +++ b/barraydenserow-bones_8hpp.html @@ -216,7 +216,7 @@

    - +
diff --git a/barraydenserow-bones_8hpp_source.html b/barraydenserow-bones_8hpp_source.html index 7afa0cf19..da30c6a1b 100644 --- a/barraydenserow-bones_8hpp_source.html +++ b/barraydenserow-bones_8hpp_source.html @@ -257,7 +257,7 @@ diff --git a/barrayrow-bones_8hpp.html b/barrayrow-bones_8hpp.html index 56c7d3385..245e0d78a 100644 --- a/barrayrow-bones_8hpp.html +++ b/barrayrow-bones_8hpp.html @@ -114,7 +114,7 @@ diff --git a/barrayrow-bones_8hpp_source.html b/barrayrow-bones_8hpp_source.html index 649bbebe7..59b9d5c25 100644 --- a/barrayrow-bones_8hpp_source.html +++ b/barrayrow-bones_8hpp_source.html @@ -195,7 +195,7 @@ diff --git a/barrayrow-meat_8hpp.html b/barrayrow-meat_8hpp.html index a22ef2f1d..aac9989a7 100644 --- a/barrayrow-meat_8hpp.html +++ b/barrayrow-meat_8hpp.html @@ -350,7 +350,7 @@

    - +
diff --git a/barrayrow-meat_8hpp_source.html b/barrayrow-meat_8hpp_source.html index a5ab7bca9..bf82838b6 100644 --- a/barrayrow-meat_8hpp_source.html +++ b/barrayrow-meat_8hpp_source.html @@ -229,7 +229,7 @@ diff --git a/barrayvector-bones_8hpp.html b/barrayvector-bones_8hpp.html index c42fb10f1..e9523330e 100644 --- a/barrayvector-bones_8hpp.html +++ b/barrayvector-bones_8hpp.html @@ -115,7 +115,7 @@ diff --git a/barrayvector-bones_8hpp_source.html b/barrayvector-bones_8hpp_source.html index 94abd7611..5de495e27 100644 --- a/barrayvector-bones_8hpp_source.html +++ b/barrayvector-bones_8hpp_source.html @@ -232,7 +232,7 @@ diff --git a/barrayvector-meat_8hpp.html b/barrayvector-meat_8hpp.html index d0acf7c6a..26abcb09b 100644 --- a/barrayvector-meat_8hpp.html +++ b/barrayvector-meat_8hpp.html @@ -104,7 +104,7 @@ diff --git a/barrayvector-meat_8hpp_source.html b/barrayvector-meat_8hpp_source.html index f005720ff..01d3cc983 100644 --- a/barrayvector-meat_8hpp_source.html +++ b/barrayvector-meat_8hpp_source.html @@ -444,7 +444,7 @@ diff --git a/barry-configuration_8hpp.html b/barry-configuration_8hpp.html index 633905914..de568d429 100644 --- a/barry-configuration_8hpp.html +++ b/barry-configuration_8hpp.html @@ -257,7 +257,7 @@

    - +
diff --git a/barry-configuration_8hpp_source.html b/barry-configuration_8hpp_source.html index da69ef0af..e18453e99 100644 --- a/barry-configuration_8hpp_source.html +++ b/barry-configuration_8hpp_source.html @@ -160,7 +160,7 @@ diff --git a/barry-debug_8hpp.html b/barry-debug_8hpp.html index f147b3f94..8f606f1f4 100644 --- a/barry-debug_8hpp.html +++ b/barry-debug_8hpp.html @@ -139,7 +139,7 @@

    - +
diff --git a/barry-debug_8hpp_source.html b/barry-debug_8hpp_source.html index ec74fd176..bf55ca1ef 100644 --- a/barry-debug_8hpp_source.html +++ b/barry-debug_8hpp_source.html @@ -145,7 +145,7 @@ diff --git a/barry-macros_8hpp.html b/barry-macros_8hpp.html index 75b77ed7f..f1bcb8b78 100644 --- a/barry-macros_8hpp.html +++ b/barry-macros_8hpp.html @@ -236,7 +236,7 @@

    - +
diff --git a/barry-macros_8hpp_source.html b/barry-macros_8hpp_source.html index 318c50635..b632cc88a 100644 --- a/barry-macros_8hpp_source.html +++ b/barry-macros_8hpp_source.html @@ -121,7 +121,7 @@ diff --git a/barry_8hpp.html b/barry_8hpp.html index c73fbfffe..51d75389d 100644 --- a/barry_8hpp.html +++ b/barry_8hpp.html @@ -401,7 +401,7 @@

    - +
diff --git a/barry_8hpp_source.html b/barry_8hpp_source.html index 785f72fce..e982a9ee1 100644 --- a/barry_8hpp_source.html +++ b/barry_8hpp_source.html @@ -237,7 +237,7 @@ diff --git a/cell-bones_8hpp.html b/cell-bones_8hpp.html index f13f2d8e5..c718c734b 100644 --- a/cell-bones_8hpp.html +++ b/cell-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/cell-bones_8hpp_source.html b/cell-bones_8hpp_source.html index 350e8eb0c..fa195c452 100644 --- a/cell-bones_8hpp_source.html +++ b/cell-bones_8hpp_source.html @@ -159,7 +159,7 @@ diff --git a/cell-meat_8hpp.html b/cell-meat_8hpp.html index 5031feff3..3ad2a9c58 100644 --- a/cell-meat_8hpp.html +++ b/cell-meat_8hpp.html @@ -113,7 +113,7 @@ diff --git a/cell-meat_8hpp_source.html b/cell-meat_8hpp_source.html index 1dd2e717a..acdbb9846 100644 --- a/cell-meat_8hpp_source.html +++ b/cell-meat_8hpp_source.html @@ -180,7 +180,7 @@ diff --git a/class_b_array-members.html b/class_b_array-members.html index 0fad102ae..32844fd00 100644 --- a/class_b_array-members.html +++ b/class_b_array-members.html @@ -165,7 +165,7 @@ diff --git a/class_b_array.html b/class_b_array.html index 007f23591..df3b2f58b 100644 --- a/class_b_array.html +++ b/class_b_array.html @@ -2141,7 +2141,7 @@

    - +
diff --git a/class_b_array_cell-members.html b/class_b_array_cell-members.html index c767c741a..9edda5874 100644 --- a/class_b_array_cell-members.html +++ b/class_b_array_cell-members.html @@ -113,7 +113,7 @@ diff --git a/class_b_array_cell.html b/class_b_array_cell.html index ba3e557a9..0c24070fd 100644 --- a/class_b_array_cell.html +++ b/class_b_array_cell.html @@ -430,7 +430,7 @@

    - +
diff --git a/class_b_array_cell__const-members.html b/class_b_array_cell__const-members.html index 9ac8269fb..fe2f42f59 100644 --- a/class_b_array_cell__const-members.html +++ b/class_b_array_cell__const-members.html @@ -113,7 +113,7 @@ diff --git a/class_b_array_cell__const.html b/class_b_array_cell__const.html index 1cc9399cc..26a84a792 100644 --- a/class_b_array_cell__const.html +++ b/class_b_array_cell__const.html @@ -430,7 +430,7 @@

    - +
diff --git a/class_b_array_dense-members.html b/class_b_array_dense-members.html index 14dd299f1..befac11e7 100644 --- a/class_b_array_dense-members.html +++ b/class_b_array_dense-members.html @@ -170,7 +170,7 @@ diff --git a/class_b_array_dense.html b/class_b_array_dense.html index 3ef0778f6..abcddaa7e 100644 --- a/class_b_array_dense.html +++ b/class_b_array_dense.html @@ -2668,7 +2668,7 @@

    - +
diff --git a/class_b_array_dense_cell-members.html b/class_b_array_dense_cell-members.html index 8c3e2e13f..df49bff85 100644 --- a/class_b_array_dense_cell-members.html +++ b/class_b_array_dense_cell-members.html @@ -117,7 +117,7 @@ diff --git a/class_b_array_dense_cell.html b/class_b_array_dense_cell.html index 74f48c41c..30ca4d2d3 100644 --- a/class_b_array_dense_cell.html +++ b/class_b_array_dense_cell.html @@ -550,7 +550,7 @@

    - +
diff --git a/class_b_array_dense_cell__const.html b/class_b_array_dense_cell__const.html index 89acb8353..a26f605ed 100644 --- a/class_b_array_dense_cell__const.html +++ b/class_b_array_dense_cell__const.html @@ -111,7 +111,7 @@ diff --git a/class_b_array_dense_col-members.html b/class_b_array_dense_col-members.html index dc4f7f198..73510cdd2 100644 --- a/class_b_array_dense_col-members.html +++ b/class_b_array_dense_col-members.html @@ -112,7 +112,7 @@ diff --git a/class_b_array_dense_col.html b/class_b_array_dense_col.html index 67cca3d59..c60d47bac 100644 --- a/class_b_array_dense_col.html +++ b/class_b_array_dense_col.html @@ -379,7 +379,7 @@

    - +
diff --git a/class_b_array_dense_col__const-members.html b/class_b_array_dense_col__const-members.html index c01b4c9ee..73e39b88a 100644 --- a/class_b_array_dense_col__const-members.html +++ b/class_b_array_dense_col__const-members.html @@ -111,7 +111,7 @@ diff --git a/class_b_array_dense_col__const.html b/class_b_array_dense_col__const.html index aae867189..7c79ad20d 100644 --- a/class_b_array_dense_col__const.html +++ b/class_b_array_dense_col__const.html @@ -351,7 +351,7 @@

    - +
diff --git a/class_b_array_dense_row-members.html b/class_b_array_dense_row-members.html index 045c2bbd6..cbb421a5e 100644 --- a/class_b_array_dense_row-members.html +++ b/class_b_array_dense_row-members.html @@ -112,7 +112,7 @@ diff --git a/class_b_array_dense_row.html b/class_b_array_dense_row.html index 63049241d..df1ef0952 100644 --- a/class_b_array_dense_row.html +++ b/class_b_array_dense_row.html @@ -379,7 +379,7 @@

    - +
diff --git a/class_b_array_dense_row__const-members.html b/class_b_array_dense_row__const-members.html index 1c0328667..e622a4ae7 100644 --- a/class_b_array_dense_row__const-members.html +++ b/class_b_array_dense_row__const-members.html @@ -111,7 +111,7 @@ diff --git a/class_b_array_dense_row__const.html b/class_b_array_dense_row__const.html index 9bd19db0f..3b7f909e5 100644 --- a/class_b_array_dense_row__const.html +++ b/class_b_array_dense_row__const.html @@ -351,7 +351,7 @@

    - +
diff --git a/class_b_array_row-members.html b/class_b_array_row-members.html index 0f82aab4a..d5bf03e5c 100644 --- a/class_b_array_row-members.html +++ b/class_b_array_row-members.html @@ -113,7 +113,7 @@ diff --git a/class_b_array_row.html b/class_b_array_row.html index c5797ebe9..5d7385094 100644 --- a/class_b_array_row.html +++ b/class_b_array_row.html @@ -354,7 +354,7 @@

    - +
diff --git a/class_b_array_row__const-members.html b/class_b_array_row__const-members.html index b0bf6c5e3..bc2ae38d5 100644 --- a/class_b_array_row__const-members.html +++ b/class_b_array_row__const-members.html @@ -113,7 +113,7 @@ diff --git a/class_b_array_row__const.html b/class_b_array_row__const.html index 0a7f344a4..68fa5deea 100644 --- a/class_b_array_row__const.html +++ b/class_b_array_row__const.html @@ -354,7 +354,7 @@

    - +
diff --git a/class_b_array_vector-members.html b/class_b_array_vector-members.html index 6f2faa29b..480a5806c 100644 --- a/class_b_array_vector-members.html +++ b/class_b_array_vector-members.html @@ -118,7 +118,7 @@ diff --git a/class_b_array_vector.html b/class_b_array_vector.html index 02698799e..a4c5ac5c9 100644 --- a/class_b_array_vector.html +++ b/class_b_array_vector.html @@ -585,7 +585,7 @@

    - +
diff --git a/class_b_array_vector__const-members.html b/class_b_array_vector__const-members.html index 6466e9a1d..faa2ef8cc 100644 --- a/class_b_array_vector__const-members.html +++ b/class_b_array_vector__const-members.html @@ -118,7 +118,7 @@ diff --git a/class_b_array_vector__const.html b/class_b_array_vector__const.html index bd1c4134f..917b9cc04 100644 --- a/class_b_array_vector__const.html +++ b/class_b_array_vector__const.html @@ -567,7 +567,7 @@

    - +
diff --git a/class_cell-members.html b/class_cell-members.html index 615fe9414..76b544ad9 100644 --- a/class_cell-members.html +++ b/class_cell-members.html @@ -124,7 +124,7 @@ diff --git a/class_cell.html b/class_cell.html index 896cd4cbb..73127503d 100644 --- a/class_cell.html +++ b/class_cell.html @@ -695,7 +695,7 @@

    - +
diff --git a/class_cell__const.html b/class_cell__const.html index 3f4c4b6f1..1bc31774f 100644 --- a/class_cell__const.html +++ b/class_cell__const.html @@ -111,7 +111,7 @@ diff --git a/class_const_b_array_row_iter-members.html b/class_const_b_array_row_iter-members.html index b1aaaf441..47267794d 100644 --- a/class_const_b_array_row_iter-members.html +++ b/class_const_b_array_row_iter-members.html @@ -110,7 +110,7 @@ diff --git a/class_const_b_array_row_iter.html b/class_const_b_array_row_iter.html index 7318797af..f1548a7f6 100644 --- a/class_const_b_array_row_iter.html +++ b/class_const_b_array_row_iter.html @@ -278,7 +278,7 @@

    - +
diff --git a/class_counter-members.html b/class_counter-members.html index c2fba353a..02035df55 100644 --- a/class_counter-members.html +++ b/class_counter-members.html @@ -123,7 +123,7 @@ diff --git a/class_counter.html b/class_counter.html index 051a647f9..0c07e03f9 100644 --- a/class_counter.html +++ b/class_counter.html @@ -679,7 +679,7 @@

    - +
diff --git a/class_counters-members.html b/class_counters-members.html index a55a6ba1a..3debd839e 100644 --- a/class_counters-members.html +++ b/class_counters-members.html @@ -118,7 +118,7 @@ diff --git a/class_counters.html b/class_counters.html index 96ec4241b..5c5222469 100644 --- a/class_counters.html +++ b/class_counters.html @@ -573,7 +573,7 @@

    - +
diff --git a/class_d_e_f_m-members.html b/class_d_e_f_m-members.html index 0784b43f3..dd14ea4f2 100644 --- a/class_d_e_f_m-members.html +++ b/class_d_e_f_m-members.html @@ -124,7 +124,7 @@ diff --git a/class_d_e_f_m.html b/class_d_e_f_m.html index 6a07592e5..d0d0d9650 100644 --- a/class_d_e_f_m.html +++ b/class_d_e_f_m.html @@ -811,7 +811,7 @@

    - +
diff --git a/class_d_e_f_m_counter_data-members.html b/class_d_e_f_m_counter_data-members.html index a3fc4a75b..675dadb4e 100644 --- a/class_d_e_f_m_counter_data-members.html +++ b/class_d_e_f_m_counter_data-members.html @@ -114,7 +114,7 @@ diff --git a/class_d_e_f_m_counter_data.html b/class_d_e_f_m_counter_data.html index 27eeee83e..0a14f0b35 100644 --- a/class_d_e_f_m_counter_data.html +++ b/class_d_e_f_m_counter_data.html @@ -146,7 +146,7 @@ diff --git a/class_d_e_f_m_data-members.html b/class_d_e_f_m_data-members.html index 5d50c71de..76ece81b3 100644 --- a/class_d_e_f_m_data-members.html +++ b/class_d_e_f_m_data-members.html @@ -119,7 +119,7 @@ diff --git a/class_d_e_f_m_data.html b/class_d_e_f_m_data.html index 2ddc381e9..22483aac9 100644 --- a/class_d_e_f_m_data.html +++ b/class_d_e_f_m_data.html @@ -164,7 +164,7 @@ diff --git a/class_d_e_f_m_rule_data-members.html b/class_d_e_f_m_rule_data-members.html index a3a1adc01..706aa9ffb 100644 --- a/class_d_e_f_m_rule_data-members.html +++ b/class_d_e_f_m_rule_data-members.html @@ -114,7 +114,7 @@ diff --git a/class_d_e_f_m_rule_data.html b/class_d_e_f_m_rule_data.html index e7a3e5772..e4272cbf3 100644 --- a/class_d_e_f_m_rule_data.html +++ b/class_d_e_f_m_rule_data.html @@ -150,7 +150,7 @@ diff --git a/class_d_e_f_m_rule_dyn_data-members.html b/class_d_e_f_m_rule_dyn_data-members.html index 953f32498..438c55105 100644 --- a/class_d_e_f_m_rule_dyn_data-members.html +++ b/class_d_e_f_m_rule_dyn_data-members.html @@ -117,7 +117,7 @@ diff --git a/class_d_e_f_m_rule_dyn_data.html b/class_d_e_f_m_rule_dyn_data.html index 7866fd1c0..00847c581 100644 --- a/class_d_e_f_m_rule_dyn_data.html +++ b/class_d_e_f_m_rule_dyn_data.html @@ -167,7 +167,7 @@ diff --git a/class_entries-members.html b/class_entries-members.html index 30d799d5f..00d8cd6e2 100644 --- a/class_entries-members.html +++ b/class_entries-members.html @@ -111,7 +111,7 @@ diff --git a/class_entries.html b/class_entries.html index fa4c3e719..363c9e4fd 100644 --- a/class_entries.html +++ b/class_entries.html @@ -323,7 +323,7 @@

    - +
diff --git a/class_flock-members.html b/class_flock-members.html index 690724437..f1c549c57 100644 --- a/class_flock-members.html +++ b/class_flock-members.html @@ -130,7 +130,7 @@ diff --git a/class_flock.html b/class_flock.html index 8c33df6d6..f9d9085d7 100644 --- a/class_flock.html +++ b/class_flock.html @@ -948,7 +948,7 @@

    - +
diff --git a/class_freq_table-members.html b/class_freq_table-members.html index 3d5f168e9..7cc590f0c 100644 --- a/class_freq_table-members.html +++ b/class_freq_table-members.html @@ -115,7 +115,7 @@ diff --git a/class_freq_table.html b/class_freq_table.html index 32e466586..c4a1deb23 100644 --- a/class_freq_table.html +++ b/class_freq_table.html @@ -491,7 +491,7 @@

    - +
diff --git a/class_geese-members.html b/class_geese-members.html index 85ab1a79a..365f885ec 100644 --- a/class_geese-members.html +++ b/class_geese-members.html @@ -159,7 +159,7 @@ diff --git a/class_geese.html b/class_geese.html index 2c89cc34a..30c461bce 100644 --- a/class_geese.html +++ b/class_geese.html @@ -1895,7 +1895,7 @@

    - +
diff --git a/class_model-members.html b/class_model-members.html index 3e4cae0f6..df1c42d6d 100644 --- a/class_model-members.html +++ b/class_model-members.html @@ -194,7 +194,7 @@ diff --git a/class_model.html b/class_model.html index fbd5ce051..d7db60787 100644 --- a/class_model.html +++ b/class_model.html @@ -425,7 +425,7 @@

-

Definition at line 304 of file model-meat.hpp.

+

Definition at line 307 of file model-meat.hpp.

@@ -455,7 +455,7 @@

-

Definition at line 342 of file model-meat.hpp.

+

Definition at line 345 of file model-meat.hpp.

@@ -485,7 +485,7 @@

-

Definition at line 384 of file model-meat.hpp.

+

Definition at line 387 of file model-meat.hpp.

@@ -566,7 +566,7 @@

Returns
The number of the array.

When computing with the powerset, we need to grow the corresponding vectors on the fly

-

Definition at line 628 of file model-meat.hpp.

+

Definition at line 631 of file model-meat.hpp.

@@ -596,7 +596,7 @@

-

Definition at line 503 of file model-meat.hpp.

+

Definition at line 506 of file model-meat.hpp.

@@ -642,7 +642,7 @@

-

Definition at line 512 of file model-meat.hpp.

+

Definition at line 515 of file model-meat.hpp.

@@ -672,7 +672,7 @@

-

Definition at line 547 of file model-meat.hpp.

+

Definition at line 550 of file model-meat.hpp.

@@ -702,7 +702,7 @@

-

Definition at line 558 of file model-meat.hpp.

+

Definition at line 561 of file model-meat.hpp.

@@ -762,7 +762,7 @@

-

Definition at line 586 of file model-meat.hpp.

+

Definition at line 589 of file model-meat.hpp.

@@ -802,7 +802,7 @@

-

Definition at line 595 of file model-meat.hpp.

+

Definition at line 598 of file model-meat.hpp.

@@ -828,7 +828,7 @@

-

Definition at line 1366 of file model-meat.hpp.

+

Definition at line 1369 of file model-meat.hpp.

@@ -893,7 +893,7 @@

Returns
double The conditional probability
-

Definition at line 1670 of file model-meat.hpp.

+

Definition at line 1669 of file model-meat.hpp.

@@ -923,7 +923,7 @@

-

Definition at line 496 of file model-meat.hpp.

+

Definition at line 499 of file model-meat.hpp.

@@ -949,7 +949,7 @@

-

Definition at line 1759 of file model-meat.hpp.

+

Definition at line 1758 of file model-meat.hpp.

@@ -975,7 +975,7 @@

-

Definition at line 1708 of file model-meat.hpp.

+

Definition at line 1707 of file model-meat.hpp.

@@ -1001,7 +1001,7 @@

-

Definition at line 1173 of file model-meat.hpp.

+

Definition at line 1176 of file model-meat.hpp.

@@ -1027,7 +1027,7 @@

-

Definition at line 1160 of file model-meat.hpp.

+

Definition at line 1163 of file model-meat.hpp.

@@ -1057,7 +1057,7 @@

-

Definition at line 1181 of file model-meat.hpp.

+

Definition at line 1184 of file model-meat.hpp.

@@ -1083,7 +1083,7 @@

-

Definition at line 1766 of file model-meat.hpp.

+

Definition at line 1765 of file model-meat.hpp.

@@ -1109,7 +1109,7 @@

-

Definition at line 1804 of file model-meat.hpp.

+

Definition at line 1803 of file model-meat.hpp.

@@ -1135,7 +1135,7 @@

-

Definition at line 1783 of file model-meat.hpp.

+

Definition at line 1782 of file model-meat.hpp.

@@ -1161,7 +1161,7 @@

-

Definition at line 1793 of file model-meat.hpp.

+

Definition at line 1792 of file model-meat.hpp.

@@ -1189,7 +1189,7 @@

Definition at line 1772 of file model-meat.hpp.

+

Definition at line 1771 of file model-meat.hpp.

@@ -1219,7 +1219,7 @@

-

Definition at line 1195 of file model-meat.hpp.

+

Definition at line 1198 of file model-meat.hpp.

@@ -1245,7 +1245,7 @@

-

Definition at line 1703 of file model-meat.hpp.

+

Definition at line 1702 of file model-meat.hpp.

@@ -1271,7 +1271,7 @@

-

Definition at line 1713 of file model-meat.hpp.

+

Definition at line 1712 of file model-meat.hpp.

@@ -1297,7 +1297,7 @@

-

Definition at line 1718 of file model-meat.hpp.

+

Definition at line 1717 of file model-meat.hpp.

@@ -1325,7 +1325,7 @@

Definition at line 1736 of file model-meat.hpp.

+

Definition at line 1735 of file model-meat.hpp.

@@ -1353,7 +1353,7 @@

Definition at line 1744 of file model-meat.hpp.

+

Definition at line 1743 of file model-meat.hpp.

@@ -1381,7 +1381,7 @@

Definition at line 1752 of file model-meat.hpp.

+

Definition at line 1751 of file model-meat.hpp.

@@ -1410,7 +1410,7 @@

Definition at line 1729 of file model-meat.hpp.

+

Definition at line 1728 of file model-meat.hpp.

@@ -1436,7 +1436,7 @@

-

Definition at line 1724 of file model-meat.hpp.

+

Definition at line 1723 of file model-meat.hpp.

@@ -1494,7 +1494,7 @@

-

Definition at line 852 of file model-meat.hpp.

+

Definition at line 855 of file model-meat.hpp.

@@ -1552,7 +1552,7 @@

-

Definition at line 1002 of file model-meat.hpp.

+

Definition at line 1005 of file model-meat.hpp.

@@ -1604,7 +1604,7 @@

-

Definition at line 805 of file model-meat.hpp.

+

Definition at line 808 of file model-meat.hpp.

@@ -1662,7 +1662,7 @@

-

Definition at line 936 of file model-meat.hpp.

+

Definition at line 939 of file model-meat.hpp.

@@ -1714,7 +1714,7 @@

-

Definition at line 1074 of file model-meat.hpp.

+

Definition at line 1077 of file model-meat.hpp.

@@ -1740,7 +1740,7 @@

-

Definition at line 1336 of file model-meat.hpp.

+

Definition at line 1339 of file model-meat.hpp.

@@ -1766,7 +1766,7 @@

-

Definition at line 1344 of file model-meat.hpp.

+

Definition at line 1347 of file model-meat.hpp.

@@ -1792,7 +1792,7 @@

-

Definition at line 1325 of file model-meat.hpp.

+

Definition at line 1328 of file model-meat.hpp.

@@ -1822,7 +1822,7 @@

-

Definition at line 434 of file model-meat.hpp.

+

Definition at line 437 of file model-meat.hpp.

@@ -1850,7 +1850,7 @@

Definition at line 1247 of file model-meat.hpp.

+

Definition at line 1250 of file model-meat.hpp.

@@ -1880,7 +1880,7 @@

-

Definition at line 1207 of file model-meat.hpp.

+

Definition at line 1210 of file model-meat.hpp.

@@ -1921,7 +1921,7 @@

When computing with the powerset, we need to grow the corresponding vectors on the fly

-

Definition at line 1457 of file model-meat.hpp.

+

Definition at line 1456 of file model-meat.hpp.

@@ -1961,7 +1961,7 @@

-

Definition at line 1383 of file model-meat.hpp.

+

Definition at line 1386 of file model-meat.hpp.

@@ -1991,7 +1991,7 @@

-

Definition at line 529 of file model-meat.hpp.

+

Definition at line 532 of file model-meat.hpp.

@@ -2061,7 +2061,7 @@

-

Definition at line 568 of file model-meat.hpp.

+

Definition at line 571 of file model-meat.hpp.

@@ -2091,7 +2091,7 @@

-

Definition at line 610 of file model-meat.hpp.

+

Definition at line 613 of file model-meat.hpp.

@@ -2173,7 +2173,7 @@

Definition at line 1816 of file model-meat.hpp.

+

Definition at line 1815 of file model-meat.hpp.

@@ -2199,7 +2199,7 @@

-

Definition at line 1308 of file model-meat.hpp.

+

Definition at line 1311 of file model-meat.hpp.

@@ -2225,7 +2225,7 @@

-

Definition at line 1316 of file model-meat.hpp.

+

Definition at line 1319 of file model-meat.hpp.

@@ -2251,7 +2251,7 @@

-

Definition at line 490 of file model-meat.hpp.

+

Definition at line 493 of file model-meat.hpp.

@@ -2277,7 +2277,7 @@

-

Definition at line 1352 of file model-meat.hpp.

+

Definition at line 1355 of file model-meat.hpp.

@@ -3234,7 +3234,7 @@

    - +
diff --git a/class_net_counter_data-members.html b/class_net_counter_data-members.html index b8970ea81..b861c4406 100644 --- a/class_net_counter_data-members.html +++ b/class_net_counter_data-members.html @@ -109,7 +109,7 @@ diff --git a/class_net_counter_data.html b/class_net_counter_data.html index a6c909106..173c5ca26 100644 --- a/class_net_counter_data.html +++ b/class_net_counter_data.html @@ -261,7 +261,7 @@

    - +
diff --git a/class_network_data-members.html b/class_network_data-members.html index af409009f..40ec81879 100644 --- a/class_network_data-members.html +++ b/class_network_data-members.html @@ -110,7 +110,7 @@ diff --git a/class_network_data.html b/class_network_data.html index fbbda7a59..6e4966874 100644 --- a/class_network_data.html +++ b/class_network_data.html @@ -323,7 +323,7 @@

    - +
diff --git a/class_node-members.html b/class_node-members.html index 318fc9a8f..3878ab2db 100644 --- a/class_node-members.html +++ b/class_node-members.html @@ -125,7 +125,7 @@ diff --git a/class_node.html b/class_node.html index 4d402eef1..b39db8b67 100644 --- a/class_node.html +++ b/class_node.html @@ -687,7 +687,7 @@

    - +
diff --git a/class_node_data-members.html b/class_node_data-members.html index 33010864e..df24e2e0f 100644 --- a/class_node_data-members.html +++ b/class_node_data-members.html @@ -109,7 +109,7 @@ diff --git a/class_node_data.html b/class_node_data.html index 4e525aa9a..f14f0cd27 100644 --- a/class_node_data.html +++ b/class_node_data.html @@ -260,7 +260,7 @@

    - +
diff --git a/class_phylo_counter_data-members.html b/class_phylo_counter_data-members.html index 8c934a1cd..6fd841722 100644 --- a/class_phylo_counter_data-members.html +++ b/class_phylo_counter_data-members.html @@ -117,7 +117,7 @@ diff --git a/class_phylo_counter_data.html b/class_phylo_counter_data.html index 70ad5c7c2..55f646d1e 100644 --- a/class_phylo_counter_data.html +++ b/class_phylo_counter_data.html @@ -512,7 +512,7 @@

    - +
diff --git a/class_phylo_rule_dyn_data-members.html b/class_phylo_rule_dyn_data-members.html index 3f6483412..b6609a471 100644 --- a/class_phylo_rule_dyn_data-members.html +++ b/class_phylo_rule_dyn_data-members.html @@ -112,7 +112,7 @@ diff --git a/class_phylo_rule_dyn_data.html b/class_phylo_rule_dyn_data.html index 39787e337..09324af3f 100644 --- a/class_phylo_rule_dyn_data.html +++ b/class_phylo_rule_dyn_data.html @@ -330,7 +330,7 @@

    - +
diff --git a/class_power_set-members.html b/class_power_set-members.html index b8314fddb..76519c174 100644 --- a/class_power_set-members.html +++ b/class_power_set-members.html @@ -129,7 +129,7 @@ diff --git a/class_power_set.html b/class_power_set.html index 2f70c9951..45f6e5d14 100644 --- a/class_power_set.html +++ b/class_power_set.html @@ -845,7 +845,7 @@

    - +
diff --git a/class_progress-members.html b/class_progress-members.html index a7901dd0f..355c30c16 100644 --- a/class_progress-members.html +++ b/class_progress-members.html @@ -108,7 +108,7 @@ diff --git a/class_progress.html b/class_progress.html index e7d8af288..737c4f779 100644 --- a/class_progress.html +++ b/class_progress.html @@ -250,7 +250,7 @@

    - +
diff --git a/class_rule-members.html b/class_rule-members.html index 6438e1682..0a8ccd021 100644 --- a/class_rule-members.html +++ b/class_rule-members.html @@ -113,7 +113,7 @@ diff --git a/class_rule.html b/class_rule.html index 92c96f69a..6469b270c 100644 --- a/class_rule.html +++ b/class_rule.html @@ -452,7 +452,7 @@

    - +
diff --git a/class_rules-members.html b/class_rules-members.html index eb9dfa4f8..caf7750ba 100644 --- a/class_rules-members.html +++ b/class_rules-members.html @@ -117,7 +117,7 @@ diff --git a/class_rules.html b/class_rules.html index 33b925042..882c508ac 100644 --- a/class_rules.html +++ b/class_rules.html @@ -617,7 +617,7 @@

    - +
diff --git a/class_stats_counter-members.html b/class_stats_counter-members.html index d24debf41..5f4242f5f 100644 --- a/class_stats_counter-members.html +++ b/class_stats_counter-members.html @@ -118,7 +118,7 @@ diff --git a/class_stats_counter.html b/class_stats_counter.html index a3ebd13fc..d59914086 100644 --- a/class_stats_counter.html +++ b/class_stats_counter.html @@ -519,7 +519,7 @@

    - +
diff --git a/class_support-members.html b/class_support-members.html index 2c8381aa0..7cdaaa0f0 100644 --- a/class_support-members.html +++ b/class_support-members.html @@ -143,7 +143,7 @@ diff --git a/class_support.html b/class_support.html index dccdb71b4..95718ddd3 100644 --- a/class_support.html +++ b/class_support.html @@ -1277,7 +1277,7 @@

    - +
diff --git a/classes.html b/classes.html index ec616cda3..dd18d4661 100644 --- a/classes.html +++ b/classes.html @@ -140,7 +140,7 @@ diff --git a/col-bones_8hpp.html b/col-bones_8hpp.html index 53cb51601..2203f7830 100644 --- a/col-bones_8hpp.html +++ b/col-bones_8hpp.html @@ -104,7 +104,7 @@ diff --git a/col-bones_8hpp_source.html b/col-bones_8hpp_source.html index fbb62fcfd..c64dad2c5 100644 --- a/col-bones_8hpp_source.html +++ b/col-bones_8hpp_source.html @@ -159,7 +159,7 @@ diff --git a/counters-bones_8hpp.html b/counters-bones_8hpp.html index 795037c28..0a9b004cb 100644 --- a/counters-bones_8hpp.html +++ b/counters-bones_8hpp.html @@ -125,7 +125,7 @@ diff --git a/counters-bones_8hpp_source.html b/counters-bones_8hpp_source.html index 9e45f48f4..351fb1e74 100644 --- a/counters-bones_8hpp_source.html +++ b/counters-bones_8hpp_source.html @@ -258,7 +258,7 @@ diff --git a/counters-meat_8hpp.html b/counters-meat_8hpp.html index 9952eb4f3..4e6ba8fb9 100644 --- a/counters-meat_8hpp.html +++ b/counters-meat_8hpp.html @@ -1560,7 +1560,7 @@

    - +
diff --git a/counters-meat_8hpp_source.html b/counters-meat_8hpp_source.html index 1b3bb0067..665cd3449 100644 --- a/counters-meat_8hpp_source.html +++ b/counters-meat_8hpp_source.html @@ -417,7 +417,7 @@ diff --git a/defm-bones_8hpp.html b/defm-bones_8hpp.html index 97352a5c3..88d1e536a 100644 --- a/defm-bones_8hpp.html +++ b/defm-bones_8hpp.html @@ -121,7 +121,7 @@ diff --git a/defm-bones_8hpp_source.html b/defm-bones_8hpp_source.html index 6081a9de2..684551e60 100644 --- a/defm-bones_8hpp_source.html +++ b/defm-bones_8hpp_source.html @@ -216,7 +216,7 @@ diff --git a/defm-meat_8hpp.html b/defm-meat_8hpp.html index bb8f61bc4..7eb0fee8f 100644 --- a/defm-meat_8hpp.html +++ b/defm-meat_8hpp.html @@ -212,7 +212,7 @@

    - +
diff --git a/defm-meat_8hpp_source.html b/defm-meat_8hpp_source.html index 579e3c00d..96ae763a1 100644 --- a/defm-meat_8hpp_source.html +++ b/defm-meat_8hpp_source.html @@ -592,7 +592,7 @@ diff --git a/defm-types_8hpp.html b/defm-types_8hpp.html index 69882d22b..ad0cc6672 100644 --- a/defm-types_8hpp.html +++ b/defm-types_8hpp.html @@ -171,7 +171,7 @@

    - +
diff --git a/defm-types_8hpp_source.html b/defm-types_8hpp_source.html index 85ef39f7d..9f09aed0f 100644 --- a/defm-types_8hpp_source.html +++ b/defm-types_8hpp_source.html @@ -305,7 +305,7 @@ diff --git a/defm_2counters_8hpp.html b/defm_2counters_8hpp.html index c76336d89..1214a6a05 100644 --- a/defm_2counters_8hpp.html +++ b/defm_2counters_8hpp.html @@ -326,7 +326,7 @@

    - +
diff --git a/defm_2counters_8hpp_source.html b/defm_2counters_8hpp_source.html index 4d8097d7b..104b6a9eb 100644 --- a/defm_2counters_8hpp_source.html +++ b/defm_2counters_8hpp_source.html @@ -794,7 +794,7 @@ diff --git a/defm_8hpp.html b/defm_8hpp.html index e865319ec..ba95c13a1 100644 --- a/defm_8hpp.html +++ b/defm_8hpp.html @@ -133,7 +133,7 @@ diff --git a/defm_8hpp_source.html b/defm_8hpp_source.html index 9dc7830c1..344daa61b 100644 --- a/defm_8hpp_source.html +++ b/defm_8hpp_source.html @@ -126,7 +126,7 @@ diff --git a/dir_000001_000002.html b/dir_000001_000002.html index 6416b28b2..f1c6cabef 100644 --- a/dir_000001_000002.html +++ b/dir_000001_000002.html @@ -98,7 +98,7 @@

barry → counters Relation

diff --git a/dir_000003_000004.html b/dir_000003_000004.html index 86ede4b37..9646fae96 100644 --- a/dir_000003_000004.html +++ b/dir_000003_000004.html @@ -98,7 +98,7 @@

models → defm Relation

    - +
diff --git a/dir_000003_000005.html b/dir_000003_000005.html index 5b577be9c..b4be92c54 100644 --- a/dir_000003_000005.html +++ b/dir_000003_000005.html @@ -98,7 +98,7 @@

models → geese Relation

    - +
diff --git a/dir_488ec4010567cc6d95c62bdcb57a6d3e.html b/dir_488ec4010567cc6d95c62bdcb57a6d3e.html index f63e932e3..fbd1fe070 100644 --- a/dir_488ec4010567cc6d95c62bdcb57a6d3e.html +++ b/dir_488ec4010567cc6d95c62bdcb57a6d3e.html @@ -130,7 +130,7 @@ diff --git a/dir_6e63e3665115632dc5d61b2d6d6c3354.html b/dir_6e63e3665115632dc5d61b2d6d6c3354.html index 77b46c07f..12dca517d 100644 --- a/dir_6e63e3665115632dc5d61b2d6d6c3354.html +++ b/dir_6e63e3665115632dc5d61b2d6d6c3354.html @@ -203,7 +203,7 @@ diff --git a/dir_b3150c389b0f5b078392750f1ae70361.html b/dir_b3150c389b0f5b078392750f1ae70361.html index 53e8420a1..6048d96ea 100644 --- a/dir_b3150c389b0f5b078392750f1ae70361.html +++ b/dir_b3150c389b0f5b078392750f1ae70361.html @@ -110,7 +110,7 @@ diff --git a/dir_c5954a04c87570f0664da134464d5428.html b/dir_c5954a04c87570f0664da134464d5428.html index 8f7106162..aebdd46f6 100644 --- a/dir_c5954a04c87570f0664da134464d5428.html +++ b/dir_c5954a04c87570f0664da134464d5428.html @@ -134,7 +134,7 @@ diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index a724c74d0..17172b24a 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -117,7 +117,7 @@ diff --git a/dir_d7a554d3e09ed8456d56450fe8436947.html b/dir_d7a554d3e09ed8456d56450fe8436947.html index 8270e38e1..a7fb3df59 100644 --- a/dir_d7a554d3e09ed8456d56450fe8436947.html +++ b/dir_d7a554d3e09ed8456d56450fe8436947.html @@ -116,7 +116,7 @@ diff --git a/files.html b/files.html index f4aea53bc..a4aa1c0e9 100644 --- a/files.html +++ b/files.html @@ -173,7 +173,7 @@ diff --git a/flock-bones_8hpp.html b/flock-bones_8hpp.html index e34096dd1..b49fa0ea5 100644 --- a/flock-bones_8hpp.html +++ b/flock-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/flock-bones_8hpp_source.html b/flock-bones_8hpp_source.html index 073c601a4..fb0f8d47e 100644 --- a/flock-bones_8hpp_source.html +++ b/flock-bones_8hpp_source.html @@ -197,7 +197,7 @@ diff --git a/flock-meat_8hpp.html b/flock-meat_8hpp.html index 8548c3459..c666d45ad 100644 --- a/flock-meat_8hpp.html +++ b/flock-meat_8hpp.html @@ -113,7 +113,7 @@ diff --git a/flock-meat_8hpp_source.html b/flock-meat_8hpp_source.html index 11ee39540..90437fd3a 100644 --- a/flock-meat_8hpp_source.html +++ b/flock-meat_8hpp_source.html @@ -470,7 +470,7 @@ diff --git a/formula_8hpp.html b/formula_8hpp.html index a35d21963..48fbb7e99 100644 --- a/formula_8hpp.html +++ b/formula_8hpp.html @@ -206,7 +206,7 @@

Transition effects

diff --git a/formula_8hpp_source.html b/formula_8hpp_source.html index f60c6cba3..09f2f2131 100644 --- a/formula_8hpp_source.html +++ b/formula_8hpp_source.html @@ -288,7 +288,7 @@ diff --git a/freqtable_8hpp.html b/freqtable_8hpp.html index d846a75a4..89b635710 100644 --- a/freqtable_8hpp.html +++ b/freqtable_8hpp.html @@ -122,7 +122,7 @@ diff --git a/freqtable_8hpp_source.html b/freqtable_8hpp_source.html index ab1dab0f1..3eaba1ea9 100644 --- a/freqtable_8hpp_source.html +++ b/freqtable_8hpp_source.html @@ -356,7 +356,7 @@ diff --git a/functions.html b/functions.html index 76f8b1d35..4d5850283 100644 --- a/functions.html +++ b/functions.html @@ -159,7 +159,7 @@

- a -

    diff --git a/functions_b.html b/functions_b.html index d826a3c77..1f2a55d96 100644 --- a/functions_b.html +++ b/functions_b.html @@ -192,7 +192,7 @@

    - b -

      diff --git a/functions_c.html b/functions_c.html index cbee6ea19..0560bdec5 100644 --- a/functions_c.html +++ b/functions_c.html @@ -203,7 +203,7 @@

      - c -

        diff --git a/functions_d.html b/functions_d.html index fa9b8b5e1..b6790f200 100644 --- a/functions_d.html +++ b/functions_d.html @@ -166,7 +166,7 @@

        - d -

          diff --git a/functions_e.html b/functions_e.html index e1badb9e4..c34f8f615 100644 --- a/functions_e.html +++ b/functions_e.html @@ -137,7 +137,7 @@

          - e -

            diff --git a/functions_f.html b/functions_f.html index f425c3822..4f2e9ffef 100644 --- a/functions_f.html +++ b/functions_f.html @@ -113,7 +113,7 @@

            - f -

              diff --git a/functions_func.html b/functions_func.html index 60d815138..1e844486b 100644 --- a/functions_func.html +++ b/functions_func.html @@ -140,7 +140,7 @@

              - a -

                diff --git a/functions_func_b.html b/functions_func_b.html index afd906a9a..96547b779 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -151,7 +151,7 @@

                - b -

                  diff --git a/functions_func_c.html b/functions_func_c.html index 31c4c65e8..1a83b8956 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -155,7 +155,7 @@

                  - c -

                    diff --git a/functions_func_d.html b/functions_func_d.html index 695994f70..fdfb29f33 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -129,7 +129,7 @@

                    - d -

                      diff --git a/functions_func_e.html b/functions_func_e.html index bd1e8fea6..7f0740d47 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -122,7 +122,7 @@

                      - e -

                        diff --git a/functions_func_f.html b/functions_func_f.html index ddf9e85e1..ccafb13cd 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -110,7 +110,7 @@

                        - f -

                          diff --git a/functions_func_g.html b/functions_func_g.html index d9079ab33..4771c130c 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -287,7 +287,7 @@

                          - g -

                            diff --git a/functions_func_i.html b/functions_func_i.html index 6d0c2d643..384fdb2da 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -151,7 +151,7 @@

                            - i -

                              diff --git a/functions_func_l.html b/functions_func_l.html index 92a6ff3fb..00141c39e 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -117,7 +117,7 @@

                              - l -

                                diff --git a/functions_func_m.html b/functions_func_m.html index 9e5d453a4..7dc94131c 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -110,7 +110,7 @@

                                - m -

                                  diff --git a/functions_func_n.html b/functions_func_n.html index c38a11c51..be6c12526 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -166,7 +166,7 @@

                                  - n -

                                    diff --git a/functions_func_o.html b/functions_func_o.html index c9a39cc77..d7b1c8377 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -228,7 +228,7 @@

                                    - o -

                                      diff --git a/functions_func_p.html b/functions_func_p.html index 98e1d0534..155af8687 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -158,7 +158,7 @@

                                      - p -

                                        diff --git a/functions_func_r.html b/functions_func_r.html index d5f138d62..69a0c6451 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -136,7 +136,7 @@

                                        - r -

                                          diff --git a/functions_func_s.html b/functions_func_s.html index b7fa94753..f458ae8ab 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -189,7 +189,7 @@

                                          - s -

                                            diff --git a/functions_func_t.html b/functions_func_t.html index 1e07478f8..342cd0dbd 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -116,7 +116,7 @@

                                            - t -

                                              diff --git a/functions_func_u.html b/functions_func_u.html index 20774ba2c..96a47ccce 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -113,7 +113,7 @@

                                              - u -

                                                diff --git a/functions_func_z.html b/functions_func_z.html index 11bcaaad1..9bc8f0317 100644 --- a/functions_func_z.html +++ b/functions_func_z.html @@ -109,7 +109,7 @@

                                                - z -

                                                  diff --git a/functions_func_~.html b/functions_func_~.html index 6481ec5ea..b9933d5d2 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -194,7 +194,7 @@

                                                  - ~ -

                                                    diff --git a/functions_g.html b/functions_g.html index 36a1bf828..d15a6a8a5 100644 --- a/functions_g.html +++ b/functions_g.html @@ -287,7 +287,7 @@

                                                    - g -

                                                      diff --git a/functions_h.html b/functions_h.html index 10078339b..7e68d6271 100644 --- a/functions_h.html +++ b/functions_h.html @@ -113,7 +113,7 @@

                                                      - h -

                                                        diff --git a/functions_i.html b/functions_i.html index 19634a8da..f61ec141b 100644 --- a/functions_i.html +++ b/functions_i.html @@ -171,7 +171,7 @@

                                                        - i -

                                                          diff --git a/functions_k.html b/functions_k.html index e0190c9dd..a49f53348 100644 --- a/functions_k.html +++ b/functions_k.html @@ -104,7 +104,7 @@

                                                          - k -

                                                            diff --git a/functions_l.html b/functions_l.html index e0afb755a..8eaebcff2 100644 --- a/functions_l.html +++ b/functions_l.html @@ -124,7 +124,7 @@

                                                            - l -

                                                              diff --git a/functions_m.html b/functions_m.html index 944df2c3b..4759e4601 100644 --- a/functions_m.html +++ b/functions_m.html @@ -123,7 +123,7 @@

                                                              - m -

                                                                diff --git a/functions_n.html b/functions_n.html index c7b643b5b..999646dae 100644 --- a/functions_n.html +++ b/functions_n.html @@ -200,7 +200,7 @@

                                                                - n -

                                                                  diff --git a/functions_o.html b/functions_o.html index 5b5e1c725..d0d46de38 100644 --- a/functions_o.html +++ b/functions_o.html @@ -237,7 +237,7 @@

                                                                  - o -

                                                                    diff --git a/functions_p.html b/functions_p.html index a4d7b8d69..86fdfaae1 100644 --- a/functions_p.html +++ b/functions_p.html @@ -188,7 +188,7 @@

                                                                    - p -

                                                                      diff --git a/functions_r.html b/functions_r.html index ea0948112..17c2f9a51 100644 --- a/functions_r.html +++ b/functions_r.html @@ -153,7 +153,7 @@

                                                                      - r -

                                                                        diff --git a/functions_rela.html b/functions_rela.html index d811554bd..f9def6dad 100644 --- a/functions_rela.html +++ b/functions_rela.html @@ -137,7 +137,7 @@ diff --git a/functions_s.html b/functions_s.html index d9c5705e5..21034efa5 100644 --- a/functions_s.html +++ b/functions_s.html @@ -222,7 +222,7 @@

                                                                        - s -

                                                                          diff --git a/functions_t.html b/functions_t.html index 1d3272405..24cb39273 100644 --- a/functions_t.html +++ b/functions_t.html @@ -125,7 +125,7 @@

                                                                          - t -

                                                                            diff --git a/functions_u.html b/functions_u.html index d06df5b71..47c4be331 100644 --- a/functions_u.html +++ b/functions_u.html @@ -116,7 +116,7 @@

                                                                            - u -

                                                                              diff --git a/functions_v.html b/functions_v.html index 0efff7064..12331f30b 100644 --- a/functions_v.html +++ b/functions_v.html @@ -116,7 +116,7 @@

                                                                              - v -

                                                                                diff --git a/functions_vars.html b/functions_vars.html index dbb0a71f3..396561979 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -524,7 +524,7 @@

                                                                                - x -

                                                                                  diff --git a/functions_w.html b/functions_w.html index 07b6e1844..31cb0bceb 100644 --- a/functions_w.html +++ b/functions_w.html @@ -104,7 +104,7 @@

                                                                                  - w -

                                                                                    diff --git a/functions_x.html b/functions_x.html index e11c15719..39483f51c 100644 --- a/functions_x.html +++ b/functions_x.html @@ -107,7 +107,7 @@

                                                                                    - x -

                                                                                      diff --git a/functions_z.html b/functions_z.html index 2184ce0b4..5be4c33e8 100644 --- a/functions_z.html +++ b/functions_z.html @@ -109,7 +109,7 @@

                                                                                      - z -

                                                                                        diff --git a/functions_~.html b/functions_~.html index 1f3c42017..9b12c017f 100644 --- a/functions_~.html +++ b/functions_~.html @@ -194,7 +194,7 @@

                                                                                        - ~ -

                                                                                          diff --git a/geese-bones_8hpp.html b/geese-bones_8hpp.html index 520a381d7..9bd7883b2 100644 --- a/geese-bones_8hpp.html +++ b/geese-bones_8hpp.html @@ -291,7 +291,7 @@

                                                                                            - +
                                                                                          diff --git a/geese-bones_8hpp_source.html b/geese-bones_8hpp_source.html index 2e680d98d..577446dd7 100644 --- a/geese-bones_8hpp_source.html +++ b/geese-bones_8hpp_source.html @@ -415,7 +415,7 @@ diff --git a/geese-meat-constructors_8hpp.html b/geese-meat-constructors_8hpp.html index 428b55516..bd7a835ae 100644 --- a/geese-meat-constructors_8hpp.html +++ b/geese-meat-constructors_8hpp.html @@ -113,7 +113,7 @@ diff --git a/geese-meat-constructors_8hpp_source.html b/geese-meat-constructors_8hpp_source.html index d5e472460..0d2dcfa2d 100644 --- a/geese-meat-constructors_8hpp_source.html +++ b/geese-meat-constructors_8hpp_source.html @@ -484,7 +484,7 @@ diff --git a/geese-meat-likelihood_8hpp.html b/geese-meat-likelihood_8hpp.html index 80204f9f8..b46a17c03 100644 --- a/geese-meat-likelihood_8hpp.html +++ b/geese-meat-likelihood_8hpp.html @@ -230,7 +230,7 @@

                                                                                          diff --git a/geese-meat-likelihood_8hpp_source.html b/geese-meat-likelihood_8hpp_source.html index b4d89b49f..8de656c83 100644 --- a/geese-meat-likelihood_8hpp_source.html +++ b/geese-meat-likelihood_8hpp_source.html @@ -346,7 +346,7 @@ diff --git a/geese-meat-likelihood__exhaust_8hpp.html b/geese-meat-likelihood__exhaust_8hpp.html index 349c854ed..c727519df 100644 --- a/geese-meat-likelihood__exhaust_8hpp.html +++ b/geese-meat-likelihood__exhaust_8hpp.html @@ -113,7 +113,7 @@ diff --git a/geese-meat-likelihood__exhaust_8hpp_source.html b/geese-meat-likelihood__exhaust_8hpp_source.html index 1c9aa5e05..9bec3173d 100644 --- a/geese-meat-likelihood__exhaust_8hpp_source.html +++ b/geese-meat-likelihood__exhaust_8hpp_source.html @@ -247,7 +247,7 @@ diff --git a/geese-meat-predict_8hpp.html b/geese-meat-predict_8hpp.html index 6795234c3..1f1e2eef9 100644 --- a/geese-meat-predict_8hpp.html +++ b/geese-meat-predict_8hpp.html @@ -113,7 +113,7 @@ diff --git a/geese-meat-predict_8hpp_source.html b/geese-meat-predict_8hpp_source.html index a236ef896..7b4764583 100644 --- a/geese-meat-predict_8hpp_source.html +++ b/geese-meat-predict_8hpp_source.html @@ -499,7 +499,7 @@ diff --git a/geese-meat-predict__exhaust_8hpp.html b/geese-meat-predict__exhaust_8hpp.html index 2f4fb902d..92f70e005 100644 --- a/geese-meat-predict__exhaust_8hpp.html +++ b/geese-meat-predict__exhaust_8hpp.html @@ -113,7 +113,7 @@ diff --git a/geese-meat-predict__exhaust_8hpp_source.html b/geese-meat-predict__exhaust_8hpp_source.html index ef48fcc4b..7b10a057f 100644 --- a/geese-meat-predict__exhaust_8hpp_source.html +++ b/geese-meat-predict__exhaust_8hpp_source.html @@ -294,7 +294,7 @@ diff --git a/geese-meat-predict__sim_8hpp.html b/geese-meat-predict__sim_8hpp.html index fac77fb7d..866130cbf 100644 --- a/geese-meat-predict__sim_8hpp.html +++ b/geese-meat-predict__sim_8hpp.html @@ -113,7 +113,7 @@ diff --git a/geese-meat-predict__sim_8hpp_source.html b/geese-meat-predict__sim_8hpp_source.html index 8deb9c3da..5e98d716b 100644 --- a/geese-meat-predict__sim_8hpp_source.html +++ b/geese-meat-predict__sim_8hpp_source.html @@ -218,7 +218,7 @@ diff --git a/geese-meat-simulate_8hpp.html b/geese-meat-simulate_8hpp.html index d9b370450..e9569e9c7 100644 --- a/geese-meat-simulate_8hpp.html +++ b/geese-meat-simulate_8hpp.html @@ -113,7 +113,7 @@ diff --git a/geese-meat-simulate_8hpp_source.html b/geese-meat-simulate_8hpp_source.html index 192c9f363..55e61a138 100644 --- a/geese-meat-simulate_8hpp_source.html +++ b/geese-meat-simulate_8hpp_source.html @@ -207,7 +207,7 @@ diff --git a/geese-meat_8hpp.html b/geese-meat_8hpp.html index f87bdd24e..d6cb745af 100644 --- a/geese-meat_8hpp.html +++ b/geese-meat_8hpp.html @@ -113,7 +113,7 @@ diff --git a/geese-meat_8hpp_source.html b/geese-meat_8hpp_source.html index b01e26f27..a82655500 100644 --- a/geese-meat_8hpp_source.html +++ b/geese-meat_8hpp_source.html @@ -990,7 +990,7 @@ diff --git a/geese-node-bones_8hpp.html b/geese-node-bones_8hpp.html index 7e77b0e8f..c129bf684 100644 --- a/geese-node-bones_8hpp.html +++ b/geese-node-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/geese-node-bones_8hpp_source.html b/geese-node-bones_8hpp_source.html index 19b7a1efe..749d56bcf 100644 --- a/geese-node-bones_8hpp_source.html +++ b/geese-node-bones_8hpp_source.html @@ -225,7 +225,7 @@ diff --git a/geese-types_8hpp.html b/geese-types_8hpp.html index 09c68b31e..b686c8d59 100644 --- a/geese-types_8hpp.html +++ b/geese-types_8hpp.html @@ -384,7 +384,7 @@

                                                                                            - +
                                                                                          diff --git a/geese-types_8hpp_source.html b/geese-types_8hpp_source.html index d6406abbe..33c37f875 100644 --- a/geese-types_8hpp_source.html +++ b/geese-types_8hpp_source.html @@ -286,7 +286,7 @@ diff --git a/geese_2counters_8hpp.html b/geese_2counters_8hpp.html index 666bd82bd..4a7c902db 100644 --- a/geese_2counters_8hpp.html +++ b/geese_2counters_8hpp.html @@ -219,7 +219,7 @@ diff --git a/geese_2counters_8hpp_source.html b/geese_2counters_8hpp_source.html index fd52b1254..144fd3fb0 100644 --- a/geese_2counters_8hpp_source.html +++ b/geese_2counters_8hpp_source.html @@ -2179,7 +2179,7 @@ diff --git a/geese_8hpp.html b/geese_8hpp.html index 63211b00b..7fc7e337a 100644 --- a/geese_8hpp.html +++ b/geese_8hpp.html @@ -148,7 +148,7 @@ diff --git a/geese_8hpp_source.html b/geese_8hpp_source.html index 651bf06ae..100a41006 100644 --- a/geese_8hpp_source.html +++ b/geese_8hpp_source.html @@ -146,7 +146,7 @@ diff --git a/globals.html b/globals.html index 478692b55..b6c73ad61 100644 --- a/globals.html +++ b/globals.html @@ -104,7 +104,7 @@

                                                                                          - a -

                                                                                            diff --git a/globals_b.html b/globals_b.html index 496cb9234..5a293b958 100644 --- a/globals_b.html +++ b/globals_b.html @@ -185,7 +185,7 @@

                                                                                            - b -

                                                                                              diff --git a/globals_c.html b/globals_c.html index fed1bc967..bf3549a55 100644 --- a/globals_c.html +++ b/globals_c.html @@ -390,7 +390,7 @@

                                                                                              - c -

                                                                                                diff --git a/globals_d.html b/globals_d.html index 1ddfb3eed..f3cb665d8 100644 --- a/globals_d.html +++ b/globals_d.html @@ -167,7 +167,7 @@

                                                                                                - d -

                                                                                                  diff --git a/globals_defs.html b/globals_defs.html index b565cb35f..1aa2bba42 100644 --- a/globals_defs.html +++ b/globals_defs.html @@ -420,7 +420,7 @@

                                                                                                  - z -

                                                                                                    diff --git a/globals_e.html b/globals_e.html index 869808451..fe23165d0 100644 --- a/globals_e.html +++ b/globals_e.html @@ -104,7 +104,7 @@

                                                                                                    - e -

                                                                                                      diff --git a/globals_f.html b/globals_f.html index 7632eeb4f..5c0a0e0db 100644 --- a/globals_f.html +++ b/globals_f.html @@ -115,7 +115,7 @@

                                                                                                      - f -

                                                                                                        diff --git a/globals_func.html b/globals_func.html index ac02a1dd7..65c97725e 100644 --- a/globals_func.html +++ b/globals_func.html @@ -481,7 +481,7 @@

                                                                                                        - v -

                                                                                                          diff --git a/globals_g.html b/globals_g.html index f9a3cb22c..d96d65673 100644 --- a/globals_g.html +++ b/globals_g.html @@ -104,7 +104,7 @@

                                                                                                          - g -

                                                                                                            diff --git a/globals_h.html b/globals_h.html index 4f77f09bc..5c4240a76 100644 --- a/globals_h.html +++ b/globals_h.html @@ -113,7 +113,7 @@

                                                                                                            - h -

                                                                                                              diff --git a/globals_i.html b/globals_i.html index 2035cd067..41f7faaf1 100644 --- a/globals_i.html +++ b/globals_i.html @@ -131,7 +131,7 @@

                                                                                                              - i -

                                                                                                                diff --git a/globals_j.html b/globals_j.html index fd3f51b9e..5e3c3461d 100644 --- a/globals_j.html +++ b/globals_j.html @@ -105,7 +105,7 @@

                                                                                                                - j -

                                                                                                                  diff --git a/globals_k.html b/globals_k.html index e3b4a31da..a63e5f85e 100644 --- a/globals_k.html +++ b/globals_k.html @@ -107,7 +107,7 @@

                                                                                                                  - k -

                                                                                                                    diff --git a/globals_l.html b/globals_l.html index 86ad31b09..fbed54232 100644 --- a/globals_l.html +++ b/globals_l.html @@ -104,7 +104,7 @@

                                                                                                                    - l -

                                                                                                                      diff --git a/globals_m.html b/globals_m.html index c87623b71..77e5f31ed 100644 --- a/globals_m.html +++ b/globals_m.html @@ -113,7 +113,7 @@

                                                                                                                      - m -

                                                                                                                        diff --git a/globals_n.html b/globals_n.html index 93ba836e2..e522a4f0a 100644 --- a/globals_n.html +++ b/globals_n.html @@ -158,7 +158,7 @@

                                                                                                                        - n -

                                                                                                                          diff --git a/globals_o.html b/globals_o.html index b8a5d2584..7cb704c09 100644 --- a/globals_o.html +++ b/globals_o.html @@ -104,7 +104,7 @@

                                                                                                                          - o -

                                                                                                                            diff --git a/globals_p.html b/globals_p.html index b13242b74..e4ac688c9 100644 --- a/globals_p.html +++ b/globals_p.html @@ -170,7 +170,7 @@

                                                                                                                            - p -

                                                                                                                              diff --git a/globals_r.html b/globals_r.html index 179228c6c..943e2c7af 100644 --- a/globals_r.html +++ b/globals_r.html @@ -151,7 +151,7 @@

                                                                                                                              - r -

                                                                                                                                diff --git a/globals_s.html b/globals_s.html index 0032fe805..1b3462547 100644 --- a/globals_s.html +++ b/globals_s.html @@ -113,7 +113,7 @@

                                                                                                                                - s -

                                                                                                                                  diff --git a/globals_t.html b/globals_t.html index 57082dbc1..6ddee9443 100644 --- a/globals_t.html +++ b/globals_t.html @@ -107,7 +107,7 @@

                                                                                                                                  - t -

                                                                                                                                    diff --git a/globals_type.html b/globals_type.html index be00321c1..0fd767235 100644 --- a/globals_type.html +++ b/globals_type.html @@ -242,7 +242,7 @@

                                                                                                                                    - r -

                                                                                                                                      diff --git a/globals_u.html b/globals_u.html index b1e8a7115..4b49c889e 100644 --- a/globals_u.html +++ b/globals_u.html @@ -107,7 +107,7 @@

                                                                                                                                      - u -

                                                                                                                                        diff --git a/globals_v.html b/globals_v.html index f3d23ca56..1433c716d 100644 --- a/globals_v.html +++ b/globals_v.html @@ -116,7 +116,7 @@

                                                                                                                                        - v -

                                                                                                                                          diff --git a/globals_vars.html b/globals_vars.html index c7969416a..d1757c21d 100644 --- a/globals_vars.html +++ b/globals_vars.html @@ -174,7 +174,7 @@ diff --git a/globals_z.html b/globals_z.html index 1cd761a4f..7dd2158dc 100644 --- a/globals_z.html +++ b/globals_z.html @@ -106,7 +106,7 @@

                                                                                                                                          - z -

                                                                                                                                            diff --git a/graph_legend.html b/graph_legend.html index 2702fb37c..ec1edbc3a 100644 --- a/graph_legend.html +++ b/graph_legend.html @@ -161,7 +161,7 @@ diff --git a/group__counters-network.html b/group__counters-network.html index 4ae40e09b..5f0697608 100644 --- a/group__counters-network.html +++ b/group__counters-network.html @@ -1698,7 +1698,7 @@

                                                                                                                                            diff --git a/group__counters-phylo.html b/group__counters-phylo.html index a75be46dd..020ba3ef2 100644 --- a/group__counters-phylo.html +++ b/group__counters-phylo.html @@ -1334,7 +1334,7 @@

                                                                                                                                            diff --git a/group__counting.html b/group__counting.html index 261362e24..6392b5b62 100644 --- a/group__counting.html +++ b/group__counting.html @@ -1657,7 +1657,7 @@

                                                                                                                                            diff --git a/group__rules-phylo.html b/group__rules-phylo.html index 9f384a564..552f730dc 100644 --- a/group__rules-phylo.html +++ b/group__rules-phylo.html @@ -1495,7 +1495,7 @@

                                                                                                                                            diff --git a/group__stat-models.html b/group__stat-models.html index a08ce2a6a..7adcdae6c 100644 --- a/group__stat-models.html +++ b/group__stat-models.html @@ -121,7 +121,7 @@ diff --git a/hierarchy.html b/hierarchy.html index 5827fbf91..3e54e1733 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -161,7 +161,7 @@ diff --git a/index.html b/index.html index da30c341d..258958c21 100644 --- a/index.html +++ b/index.html @@ -206,7 +206,7 @@

                                                                                                                                            Code of Conduct

                                                                                                                                            diff --git a/inherits.html b/inherits.html index d85b87611..caab4d9c2 100644 --- a/inherits.html +++ b/inherits.html @@ -367,7 +367,7 @@ diff --git a/latex/barray-bones_8hpp__dep__incl.pdf b/latex/barray-bones_8hpp__dep__incl.pdf index 275c6881e..675eb042e 100644 Binary files a/latex/barray-bones_8hpp__dep__incl.pdf and b/latex/barray-bones_8hpp__dep__incl.pdf differ diff --git a/latex/barray-meat-operators_8hpp__dep__incl.pdf b/latex/barray-meat-operators_8hpp__dep__incl.pdf index 650a138f7..80d204d2f 100644 Binary files a/latex/barray-meat-operators_8hpp__dep__incl.pdf and b/latex/barray-meat-operators_8hpp__dep__incl.pdf differ diff --git a/latex/barray-meat_8hpp__dep__incl.pdf b/latex/barray-meat_8hpp__dep__incl.pdf index 6fe7df11a..6ade0db0b 100644 Binary files a/latex/barray-meat_8hpp__dep__incl.pdf and b/latex/barray-meat_8hpp__dep__incl.pdf differ diff --git a/latex/barraycell-bones_8hpp__dep__incl.pdf b/latex/barraycell-bones_8hpp__dep__incl.pdf index 23b878f97..8e47ad6fe 100644 Binary files a/latex/barraycell-bones_8hpp__dep__incl.pdf and b/latex/barraycell-bones_8hpp__dep__incl.pdf differ diff --git a/latex/barraycell-meat_8hpp__dep__incl.pdf b/latex/barraycell-meat_8hpp__dep__incl.pdf index 0e443ac82..0bf50ca7e 100644 Binary files a/latex/barraycell-meat_8hpp__dep__incl.pdf and b/latex/barraycell-meat_8hpp__dep__incl.pdf differ diff --git a/latex/barraydense-bones_8hpp__dep__incl.pdf b/latex/barraydense-bones_8hpp__dep__incl.pdf index ebc1fdcfb..468de42cb 100644 Binary files a/latex/barraydense-bones_8hpp__dep__incl.pdf and b/latex/barraydense-bones_8hpp__dep__incl.pdf differ diff --git a/latex/barraydense-meat-operators_8hpp__dep__incl.pdf b/latex/barraydense-meat-operators_8hpp__dep__incl.pdf index 791215e5c..e4bf609c1 100644 Binary files a/latex/barraydense-meat-operators_8hpp__dep__incl.pdf and b/latex/barraydense-meat-operators_8hpp__dep__incl.pdf differ diff --git a/latex/barraydense-meat_8hpp__dep__incl.pdf b/latex/barraydense-meat_8hpp__dep__incl.pdf index 13bc771a3..cd95d8ae8 100644 Binary files a/latex/barraydense-meat_8hpp__dep__incl.pdf and b/latex/barraydense-meat_8hpp__dep__incl.pdf differ diff --git a/latex/barraydensecell-bones_8hpp__dep__incl.pdf b/latex/barraydensecell-bones_8hpp__dep__incl.pdf index 105d2dac5..bcf3f7039 100644 Binary files a/latex/barraydensecell-bones_8hpp__dep__incl.pdf and b/latex/barraydensecell-bones_8hpp__dep__incl.pdf differ diff --git a/latex/barraydensecell-meat_8hpp__dep__incl.pdf b/latex/barraydensecell-meat_8hpp__dep__incl.pdf index 53f22e31a..bdf462b65 100644 Binary files a/latex/barraydensecell-meat_8hpp__dep__incl.pdf and b/latex/barraydensecell-meat_8hpp__dep__incl.pdf differ diff --git a/latex/barraydensecol-bones_8hpp__dep__incl.pdf b/latex/barraydensecol-bones_8hpp__dep__incl.pdf index f58e91a48..7b07da5c6 100644 Binary files a/latex/barraydensecol-bones_8hpp__dep__incl.pdf and b/latex/barraydensecol-bones_8hpp__dep__incl.pdf differ diff --git a/latex/barraydenserow-bones_8hpp__dep__incl.pdf b/latex/barraydenserow-bones_8hpp__dep__incl.pdf index 0facddfa3..bb9cafa5d 100644 Binary files a/latex/barraydenserow-bones_8hpp__dep__incl.pdf and b/latex/barraydenserow-bones_8hpp__dep__incl.pdf differ diff --git a/latex/barry-configuration_8hpp__dep__incl.pdf b/latex/barry-configuration_8hpp__dep__incl.pdf index 9f0e7fceb..2d2b7e44d 100644 Binary files a/latex/barry-configuration_8hpp__dep__incl.pdf and b/latex/barry-configuration_8hpp__dep__incl.pdf differ diff --git a/latex/barry-debug_8hpp__dep__incl.pdf b/latex/barry-debug_8hpp__dep__incl.pdf index b66396f6f..39e2bff21 100644 Binary files a/latex/barry-debug_8hpp__dep__incl.pdf and b/latex/barry-debug_8hpp__dep__incl.pdf differ diff --git a/latex/barry-macros_8hpp__dep__incl.pdf b/latex/barry-macros_8hpp__dep__incl.pdf index 7d4f3a1bc..18a7d5409 100644 Binary files a/latex/barry-macros_8hpp__dep__incl.pdf and b/latex/barry-macros_8hpp__dep__incl.pdf differ diff --git a/latex/barry_8hpp__incl.pdf b/latex/barry_8hpp__incl.pdf index ac7545c69..f66995b51 100644 Binary files a/latex/barry_8hpp__incl.pdf and b/latex/barry_8hpp__incl.pdf differ diff --git a/latex/cell-bones_8hpp__dep__incl.pdf b/latex/cell-bones_8hpp__dep__incl.pdf index de1adca53..8a4351e89 100644 Binary files a/latex/cell-bones_8hpp__dep__incl.pdf and b/latex/cell-bones_8hpp__dep__incl.pdf differ diff --git a/latex/cell-meat_8hpp__dep__incl.pdf b/latex/cell-meat_8hpp__dep__incl.pdf index 55f55371f..d43054c57 100644 Binary files a/latex/cell-meat_8hpp__dep__incl.pdf and b/latex/cell-meat_8hpp__dep__incl.pdf differ diff --git a/latex/class_const_b_array_row_iter__coll__graph.pdf b/latex/class_const_b_array_row_iter__coll__graph.pdf index 38aa2c698..b65abbf15 100644 Binary files a/latex/class_const_b_array_row_iter__coll__graph.pdf and b/latex/class_const_b_array_row_iter__coll__graph.pdf differ diff --git a/latex/class_d_e_f_m__coll__graph.pdf b/latex/class_d_e_f_m__coll__graph.pdf index 49b8942e8..bea645fd9 100644 Binary files a/latex/class_d_e_f_m__coll__graph.pdf and b/latex/class_d_e_f_m__coll__graph.pdf differ diff --git a/latex/class_d_e_f_m__inherit__graph.pdf b/latex/class_d_e_f_m__inherit__graph.pdf index 49b8942e8..bea645fd9 100644 Binary files a/latex/class_d_e_f_m__inherit__graph.pdf and b/latex/class_d_e_f_m__inherit__graph.pdf differ diff --git a/latex/class_d_e_f_m_rule_data__inherit__graph.pdf b/latex/class_d_e_f_m_rule_data__inherit__graph.pdf index 4020fc10b..ceedb49d6 100644 Binary files a/latex/class_d_e_f_m_rule_data__inherit__graph.pdf and b/latex/class_d_e_f_m_rule_data__inherit__graph.pdf differ diff --git a/latex/class_d_e_f_m_rule_dyn_data__coll__graph.pdf b/latex/class_d_e_f_m_rule_dyn_data__coll__graph.pdf index 5224a097f..63542a4c6 100644 Binary files a/latex/class_d_e_f_m_rule_dyn_data__coll__graph.pdf and b/latex/class_d_e_f_m_rule_dyn_data__coll__graph.pdf differ diff --git a/latex/class_d_e_f_m_rule_dyn_data__inherit__graph.pdf b/latex/class_d_e_f_m_rule_dyn_data__inherit__graph.pdf index 5224a097f..63542a4c6 100644 Binary files a/latex/class_d_e_f_m_rule_dyn_data__inherit__graph.pdf and b/latex/class_d_e_f_m_rule_dyn_data__inherit__graph.pdf differ diff --git a/latex/class_model.tex b/latex/class_model.tex index 9354499ec..80cc56995 100644 --- a/latex/class_model.tex +++ b/latex/class_model.tex @@ -324,7 +324,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 304 of file model-\/meat.\+hpp. +Definition at line 307 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a5026c5d72a07db2eff58689fe101a57d}\label{class_model_a5026c5d72a07db2eff58689fe101a57d}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!Model@{Model}} @@ -335,7 +335,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 342 of file model-\/meat.\+hpp. +Definition at line 345 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a43b71b392309bd71ed7c49f783b8815b}\label{class_model_a43b71b392309bd71ed7c49f783b8815b}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!Model@{Model}} @@ -346,7 +346,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 384 of file model-\/meat.\+hpp. +Definition at line 387 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a58dc9105b487e0e2d2cb3faa16397ae2}\label{class_model_a58dc9105b487e0e2d2cb3faa16397ae2}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!````~Model@{$\sim$Model}} @@ -385,7 +385,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D \end{DoxyReturn} When computing with the powerset, we need to grow the corresponding vectors on the fly -Definition at line 628 of file model-\/meat.\+hpp. +Definition at line 631 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a2326ca9975e29d3cf1902b6e60c613b9}\label{class_model_a2326ca9975e29d3cf1902b6e60c613b9}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!add\_counter@{add\_counter}} @@ -396,7 +396,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 503 of file model-\/meat.\+hpp. +Definition at line 506 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a60bc7a1e36ed90ff0af62a3999b9d06f}\label{class_model_a60bc7a1e36ed90ff0af62a3999b9d06f}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!add\_counter@{add\_counter}} @@ -407,7 +407,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 512 of file model-\/meat.\+hpp. +Definition at line 515 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a5e0ab8493a4aeecacc96d666089c543d}\label{class_model_a5e0ab8493a4aeecacc96d666089c543d}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!add\_hasher@{add\_hasher}} @@ -418,7 +418,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 547 of file model-\/meat.\+hpp. +Definition at line 550 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_af9b85db739f6947861fe123136c11c07}\label{class_model_af9b85db739f6947861fe123136c11c07}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!add\_rule@{add\_rule}} @@ -429,7 +429,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 558 of file model-\/meat.\+hpp. +Definition at line 561 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a8a27b1ce7513359b61840a15fc661575}\label{class_model_a8a27b1ce7513359b61840a15fc661575}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!add\_rule@{add\_rule}} @@ -447,7 +447,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 586 of file model-\/meat.\+hpp. +Definition at line 589 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a6df0512038f2eae91f67ef151ae95328}\label{class_model_a6df0512038f2eae91f67ef151ae95328}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!add\_rule\_dyn@{add\_rule\_dyn}} @@ -458,7 +458,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 595 of file model-\/meat.\+hpp. +Definition at line 598 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a61b7baf9d45f885832db74fb9cd99c4d}\label{class_model_a61b7baf9d45f885832db74fb9cd99c4d}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!colnames@{colnames}} @@ -469,7 +469,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1366 of file model-\/meat.\+hpp. +Definition at line 1369 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a3f13aa5080ce580a11892cf6a69fee64}\label{class_model_a3f13aa5080ce580a11892cf6a69fee64}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!conditional\_prob@{conditional\_prob}} @@ -500,7 +500,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D \end{DoxyReturn} -Definition at line 1670 of file model-\/meat.\+hpp. +Definition at line 1669 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a5ab59e34639b590094bc2716d056e78c}\label{class_model_a5ab59e34639b590094bc2716d056e78c}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!gen\_key@{gen\_key}} @@ -511,7 +511,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 496 of file model-\/meat.\+hpp. +Definition at line 499 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_ab705e7531998b61c1358c6cbef773e0d}\label{class_model_ab705e7531998b61c1358c6cbef773e0d}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_arrays2support@{get\_arrays2support}} @@ -522,7 +522,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1759 of file model-\/meat.\+hpp. +Definition at line 1758 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a2345f3e51002d81bd60cb0b14f006dbd}\label{class_model_a2345f3e51002d81bd60cb0b14f006dbd}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_counters@{get\_counters}} @@ -533,7 +533,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1708 of file model-\/meat.\+hpp. +Definition at line 1707 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_ae3caae36db5ae9a042170b99ca62cd9c}\label{class_model_ae3caae36db5ae9a042170b99ca62cd9c}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_likelihoods@{get\_likelihoods}} @@ -544,7 +544,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1173 of file model-\/meat.\+hpp. +Definition at line 1176 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a6c5567678ee71a713b33ed52335eb6f3}\label{class_model_a6c5567678ee71a713b33ed52335eb6f3}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_normalizing\_constants@{get\_normalizing\_constants}} @@ -555,7 +555,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1160 of file model-\/meat.\+hpp. +Definition at line 1163 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_aefb5399f2e396d34eb523e00c7d89140}\label{class_model_aefb5399f2e396d34eb523e00c7d89140}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_pset@{get\_pset}} @@ -566,7 +566,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1181 of file model-\/meat.\+hpp. +Definition at line 1184 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a567fbbecd8a77f62ada9535f1e56588f}\label{class_model_a567fbbecd8a77f62ada9535f1e56588f}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_pset\_arrays@{get\_pset\_arrays}} @@ -577,7 +577,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1766 of file model-\/meat.\+hpp. +Definition at line 1765 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a6bcd7931aa28d8658d9fb8fbb0bdc7ce}\label{class_model_a6bcd7931aa28d8658d9fb8fbb0bdc7ce}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_pset\_locations@{get\_pset\_locations}} @@ -588,7 +588,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1804 of file model-\/meat.\+hpp. +Definition at line 1803 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_ab9dedfc84fc302de7eb205bf99fb4106}\label{class_model_ab9dedfc84fc302de7eb205bf99fb4106}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_pset\_probs@{get\_pset\_probs}} @@ -599,7 +599,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1783 of file model-\/meat.\+hpp. +Definition at line 1782 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_abb6295eb0ef2782a9e510f0807f2d448}\label{class_model_abb6295eb0ef2782a9e510f0807f2d448}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_pset\_sizes@{get\_pset\_sizes}} @@ -610,7 +610,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1793 of file model-\/meat.\+hpp. +Definition at line 1792 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a1679f2b9d3ddddb468b262fd3dc280a1}\label{class_model_a1679f2b9d3ddddb468b262fd3dc280a1}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_pset\_stats@{get\_pset\_stats}} @@ -625,7 +625,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1772 of file model-\/meat.\+hpp. +Definition at line 1771 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a227db01077d1f1917593e0611768f9c3}\label{class_model_a227db01077d1f1917593e0611768f9c3}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_pset\_stats@{get\_pset\_stats}} @@ -636,7 +636,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1195 of file model-\/meat.\+hpp. +Definition at line 1198 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a02cac4f649946705bfb4d69bc3a3576f}\label{class_model_a02cac4f649946705bfb4d69bc3a3576f}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_rengine@{get\_rengine}} @@ -647,7 +647,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1703 of file model-\/meat.\+hpp. +Definition at line 1702 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a8796a5e54c0ba505129db2bc1e452d0d}\label{class_model_a8796a5e54c0ba505129db2bc1e452d0d}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_rules@{get\_rules}} @@ -658,7 +658,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1713 of file model-\/meat.\+hpp. +Definition at line 1712 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_aff4c85b28ba08c67b6d3308cf94fc30a}\label{class_model_aff4c85b28ba08c67b6d3308cf94fc30a}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_rules\_dyn@{get\_rules\_dyn}} @@ -669,7 +669,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1718 of file model-\/meat.\+hpp. +Definition at line 1717 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a689e68b499eb7bfd92a7f8318f51c121}\label{class_model_a689e68b499eb7bfd92a7f8318f51c121}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_stats\_support@{get\_stats\_support}} @@ -684,7 +684,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1736 of file model-\/meat.\+hpp. +Definition at line 1735 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_ad58c3af0e2785e39b43966d00b284ece}\label{class_model_ad58c3af0e2785e39b43966d00b284ece}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_stats\_support\_sizes@{get\_stats\_support\_sizes}} @@ -699,7 +699,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1744 of file model-\/meat.\+hpp. +Definition at line 1743 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a0cc4d7632840ecdaeaf344b7839cec71}\label{class_model_a0cc4d7632840ecdaeaf344b7839cec71}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_stats\_support\_sizes\_acc@{get\_stats\_support\_sizes\_acc}} @@ -714,7 +714,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1752 of file model-\/meat.\+hpp. +Definition at line 1751 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a5414f4d58c598c844bf0e7885e06488a}\label{class_model_a5414f4d58c598c844bf0e7885e06488a}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_stats\_target@{get\_stats\_target}} @@ -729,7 +729,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D The support of the model is stored as a vector of vector$<$double$>$. Each element of it contains the support for an specific type of array included. It represents an array of size {\ttfamily (k + 1) x n unique elements}, with the data stored by-\/row. The last element of each entry corresponds to the weights, i.\+e., the frequency with which such sufficient statistics are observed in the support. -Definition at line 1729 of file model-\/meat.\+hpp. +Definition at line 1728 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a5a887a9d87a1f86ccc783fd27a0a1ddc}\label{class_model_a5a887a9d87a1f86ccc783fd27a0a1ddc}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!get\_support\_fun@{get\_support\_fun}} @@ -740,7 +740,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1724 of file model-\/meat.\+hpp. +Definition at line 1723 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a2b216befc5a05c5aa6607b9b617b14f6}\label{class_model_a2b216befc5a05c5aa6607b9b617b14f6}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!likelihood@{likelihood}} @@ -751,7 +751,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 852 of file model-\/meat.\+hpp. +Definition at line 855 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a085429b8f8d8d81a7f742fdc3deceeee}\label{class_model_a085429b8f8d8d81a7f742fdc3deceeee}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!likelihood@{likelihood}} @@ -762,7 +762,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1002 of file model-\/meat.\+hpp. +Definition at line 1005 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a6640d5add2e5e2004202b81866339a3a}\label{class_model_a6640d5add2e5e2004202b81866339a3a}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!likelihood@{likelihood}} @@ -773,7 +773,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 805 of file model-\/meat.\+hpp. +Definition at line 808 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a6ed252b0bcc46668bee04f543bbafdae}\label{class_model_a6ed252b0bcc46668bee04f543bbafdae}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!likelihood@{likelihood}} @@ -784,7 +784,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 936 of file model-\/meat.\+hpp. +Definition at line 939 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a7ecc7893f532a3fc4cb4149eb587dc3e}\label{class_model_a7ecc7893f532a3fc4cb4149eb587dc3e}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!likelihood\_total@{likelihood\_total}} @@ -795,7 +795,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1074 of file model-\/meat.\+hpp. +Definition at line 1077 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a6a1213e74dd4d7ce7b0071a664b6f3b3}\label{class_model_a6a1213e74dd4d7ce7b0071a664b6f3b3}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!nrules@{nrules}} @@ -806,7 +806,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1336 of file model-\/meat.\+hpp. +Definition at line 1339 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a9a9ea5238be86c147f9ec264eb51b984}\label{class_model_a9a9ea5238be86c147f9ec264eb51b984}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!nrules\_dyn@{nrules\_dyn}} @@ -817,7 +817,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1344 of file model-\/meat.\+hpp. +Definition at line 1347 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a79ebbea31dc3742c37eba173c25acd5d}\label{class_model_a79ebbea31dc3742c37eba173c25acd5d}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!nterms@{nterms}} @@ -828,7 +828,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1325 of file model-\/meat.\+hpp. +Definition at line 1328 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a4cf7b0d8d1c1d5996e09b3dbf7599cd6}\label{class_model_a4cf7b0d8d1c1d5996e09b3dbf7599cd6}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!operator=@{operator=}} @@ -839,7 +839,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 434 of file model-\/meat.\+hpp. +Definition at line 437 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a9b882a97407460beb9b97405fac98dd9}\label{class_model_a9b882a97407460beb9b97405fac98dd9}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!print@{print}} @@ -854,7 +854,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1247 of file model-\/meat.\+hpp. +Definition at line 1250 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a72f41dd130d67b171acc433fa288de78}\label{class_model_a72f41dd130d67b171acc433fa288de78}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!print\_stats@{print\_stats}} @@ -865,7 +865,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1207 of file model-\/meat.\+hpp. +Definition at line 1210 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a2adac6eb2d37bd67d5f0222374ce193d}\label{class_model_a2adac6eb2d37bd67d5f0222374ce193d}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!sample@{sample}} @@ -876,7 +876,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D When computing with the powerset, we need to grow the corresponding vectors on the fly -Definition at line 1457 of file model-\/meat.\+hpp. +Definition at line 1456 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_ad6d0a2c68540fe6480337a606c14cea6}\label{class_model_ad6d0a2c68540fe6480337a606c14cea6}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!sample@{sample}} @@ -887,7 +887,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1383 of file model-\/meat.\+hpp. +Definition at line 1386 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a93632a05117d5b862d082885015c9363}\label{class_model_a93632a05117d5b862d082885015c9363}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!set\_counters@{set\_counters}} @@ -898,7 +898,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 529 of file model-\/meat.\+hpp. +Definition at line 532 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_af86cd3bfb4b3c929a263090950435a3c}\label{class_model_af86cd3bfb4b3c929a263090950435a3c}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!set\_rengine@{set\_rengine}} @@ -920,7 +920,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 568 of file model-\/meat.\+hpp. +Definition at line 571 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_ab200cf9d28983471fa8264fc90071bad}\label{class_model_ab200cf9d28983471fa8264fc90071bad}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!set\_rules\_dyn@{set\_rules\_dyn}} @@ -931,7 +931,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 610 of file model-\/meat.\+hpp. +Definition at line 613 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_afe7f86754248416469456f98f493c9b5}\label{class_model_afe7f86754248416469456f98f493c9b5}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!set\_seed@{set\_seed}} @@ -970,7 +970,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D \end{DoxyParams} -Definition at line 1816 of file model-\/meat.\+hpp. +Definition at line 1815 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a1d45ad43d7aa468deb326074e110524b}\label{class_model_a1d45ad43d7aa468deb326074e110524b}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!size@{size}} @@ -981,7 +981,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1308 of file model-\/meat.\+hpp. +Definition at line 1311 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a0261a55996a1707b9bae97544f1fabf8}\label{class_model_a0261a55996a1707b9bae97544f1fabf8}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!size\_unique@{size\_unique}} @@ -992,7 +992,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1316 of file model-\/meat.\+hpp. +Definition at line 1319 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a3e8c4587b259d60fcf7c70c7e3f55082}\label{class_model_a3e8c4587b259d60fcf7c70c7e3f55082}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!store\_psets@{store\_psets}} @@ -1003,7 +1003,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 490 of file model-\/meat.\+hpp. +Definition at line 493 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a98e5f6188b1d3235efa61b72f4562741}\label{class_model_a98e5f6188b1d3235efa61b72f4562741}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!support\_size@{support\_size}} @@ -1014,7 +1014,7 @@ \subsubsection*{template$<$typename Array\+\_\+\+Type = BArray$<$$>$, typename D -Definition at line 1352 of file model-\/meat.\+hpp. +Definition at line 1355 of file model-\/meat.\+hpp. \mbox{\Hypertarget{class_model_a9f17772e230a4790ee6b7d028eca7e26}\label{class_model_a9f17772e230a4790ee6b7d028eca7e26}} \index{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$@{Model$<$ Array\_Type, Data\_Counter\_Type, Data\_Rule\_Type, Data\_Rule\_Dyn\_Type $>$}!transform\_model@{transform\_model}} diff --git a/latex/class_model__coll__graph.pdf b/latex/class_model__coll__graph.pdf index 4f86958ea..2cff11300 100644 Binary files a/latex/class_model__coll__graph.pdf and b/latex/class_model__coll__graph.pdf differ diff --git a/latex/class_node__coll__graph.pdf b/latex/class_node__coll__graph.pdf index 6215e0e44..9bcff2d33 100644 Binary files a/latex/class_node__coll__graph.pdf and b/latex/class_node__coll__graph.pdf differ diff --git a/latex/class_power_set__coll__graph.pdf b/latex/class_power_set__coll__graph.pdf index edf833632..e8a9fe8ce 100644 Binary files a/latex/class_power_set__coll__graph.pdf and b/latex/class_power_set__coll__graph.pdf differ diff --git a/latex/counters-bones_8hpp__dep__incl.pdf b/latex/counters-bones_8hpp__dep__incl.pdf index 239348efe..116f2179e 100644 Binary files a/latex/counters-bones_8hpp__dep__incl.pdf and b/latex/counters-bones_8hpp__dep__incl.pdf differ diff --git a/latex/counters-meat_8hpp__dep__incl.pdf b/latex/counters-meat_8hpp__dep__incl.pdf index a1850e0b0..6bfbcd0a2 100644 Binary files a/latex/counters-meat_8hpp__dep__incl.pdf and b/latex/counters-meat_8hpp__dep__incl.pdf differ diff --git a/latex/defm-bones_8hpp__dep__incl.pdf b/latex/defm-bones_8hpp__dep__incl.pdf index 8a46733f4..f3dfbbdb0 100644 Binary files a/latex/defm-bones_8hpp__dep__incl.pdf and b/latex/defm-bones_8hpp__dep__incl.pdf differ diff --git a/latex/defm-meat_8hpp__dep__incl.pdf b/latex/defm-meat_8hpp__dep__incl.pdf index 812bae74c..febdc8230 100644 Binary files a/latex/defm-meat_8hpp__dep__incl.pdf and b/latex/defm-meat_8hpp__dep__incl.pdf differ diff --git a/latex/defm-types_8hpp__dep__incl.pdf b/latex/defm-types_8hpp__dep__incl.pdf index 2cffbe558..f0a63a8b1 100644 Binary files a/latex/defm-types_8hpp__dep__incl.pdf and b/latex/defm-types_8hpp__dep__incl.pdf differ diff --git a/latex/defm_2counters_8hpp__dep__incl.pdf b/latex/defm_2counters_8hpp__dep__incl.pdf index 5b73892b5..64fe50d84 100644 Binary files a/latex/defm_2counters_8hpp__dep__incl.pdf and b/latex/defm_2counters_8hpp__dep__incl.pdf differ diff --git a/latex/defm_2counters_8hpp__incl.pdf b/latex/defm_2counters_8hpp__incl.pdf index 1dbab4ba0..f31eea10f 100644 Binary files a/latex/defm_2counters_8hpp__incl.pdf and b/latex/defm_2counters_8hpp__incl.pdf differ diff --git a/latex/defm_8hpp__incl.pdf b/latex/defm_8hpp__incl.pdf index 515ed5a44..51575a020 100644 Binary files a/latex/defm_8hpp__incl.pdf and b/latex/defm_8hpp__incl.pdf differ diff --git a/latex/dir_488ec4010567cc6d95c62bdcb57a6d3e_dep.pdf b/latex/dir_488ec4010567cc6d95c62bdcb57a6d3e_dep.pdf index 7c24f633a..37326be1a 100644 Binary files a/latex/dir_488ec4010567cc6d95c62bdcb57a6d3e_dep.pdf and b/latex/dir_488ec4010567cc6d95c62bdcb57a6d3e_dep.pdf differ diff --git a/latex/dir_6e63e3665115632dc5d61b2d6d6c3354_dep.pdf b/latex/dir_6e63e3665115632dc5d61b2d6d6c3354_dep.pdf index 9d18b4ac7..e9a709cb4 100644 Binary files a/latex/dir_6e63e3665115632dc5d61b2d6d6c3354_dep.pdf and b/latex/dir_6e63e3665115632dc5d61b2d6d6c3354_dep.pdf differ diff --git a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf b/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf index 1b77a45cd..ef0a33685 100644 Binary files a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf and b/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf differ diff --git a/latex/flock-bones_8hpp__dep__incl.pdf b/latex/flock-bones_8hpp__dep__incl.pdf index 883d80371..f7e58a1ba 100644 Binary files a/latex/flock-bones_8hpp__dep__incl.pdf and b/latex/flock-bones_8hpp__dep__incl.pdf differ diff --git a/latex/flock-meat_8hpp__dep__incl.pdf b/latex/flock-meat_8hpp__dep__incl.pdf index 6ef9d6e19..6d61c543e 100644 Binary files a/latex/flock-meat_8hpp__dep__incl.pdf and b/latex/flock-meat_8hpp__dep__incl.pdf differ diff --git a/latex/formula_8hpp__dep__incl.pdf b/latex/formula_8hpp__dep__incl.pdf index 7bcd26171..04b684f44 100644 Binary files a/latex/formula_8hpp__dep__incl.pdf and b/latex/formula_8hpp__dep__incl.pdf differ diff --git a/latex/freqtable_8hpp__dep__incl.pdf b/latex/freqtable_8hpp__dep__incl.pdf index c9a89a4ed..c752059d2 100644 Binary files a/latex/freqtable_8hpp__dep__incl.pdf and b/latex/freqtable_8hpp__dep__incl.pdf differ diff --git a/latex/geese-bones_8hpp__dep__incl.pdf b/latex/geese-bones_8hpp__dep__incl.pdf index b1a5d668e..8d773bbab 100644 Binary files a/latex/geese-bones_8hpp__dep__incl.pdf and b/latex/geese-bones_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat-constructors_8hpp__dep__incl.pdf b/latex/geese-meat-constructors_8hpp__dep__incl.pdf index d42a9ac19..b8abf9151 100644 Binary files a/latex/geese-meat-constructors_8hpp__dep__incl.pdf and b/latex/geese-meat-constructors_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat-likelihood_8hpp__dep__incl.pdf b/latex/geese-meat-likelihood_8hpp__dep__incl.pdf index c3b29d2f6..8419ac9ef 100644 Binary files a/latex/geese-meat-likelihood_8hpp__dep__incl.pdf and b/latex/geese-meat-likelihood_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat-likelihood_8hpp__incl.pdf b/latex/geese-meat-likelihood_8hpp__incl.pdf index b83189f1d..948a91267 100644 Binary files a/latex/geese-meat-likelihood_8hpp__incl.pdf and b/latex/geese-meat-likelihood_8hpp__incl.pdf differ diff --git a/latex/geese-meat-likelihood__exhaust_8hpp__dep__incl.pdf b/latex/geese-meat-likelihood__exhaust_8hpp__dep__incl.pdf index 13d33dc26..5cc30f7b1 100644 Binary files a/latex/geese-meat-likelihood__exhaust_8hpp__dep__incl.pdf and b/latex/geese-meat-likelihood__exhaust_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat-predict_8hpp__dep__incl.pdf b/latex/geese-meat-predict_8hpp__dep__incl.pdf index c216848cc..9d3b570d6 100644 Binary files a/latex/geese-meat-predict_8hpp__dep__incl.pdf and b/latex/geese-meat-predict_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat-predict__exhaust_8hpp__dep__incl.pdf b/latex/geese-meat-predict__exhaust_8hpp__dep__incl.pdf index 94267f104..0a6827acc 100644 Binary files a/latex/geese-meat-predict__exhaust_8hpp__dep__incl.pdf and b/latex/geese-meat-predict__exhaust_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat-predict__sim_8hpp__dep__incl.pdf b/latex/geese-meat-predict__sim_8hpp__dep__incl.pdf index 78cba26fa..a571d984e 100644 Binary files a/latex/geese-meat-predict__sim_8hpp__dep__incl.pdf and b/latex/geese-meat-predict__sim_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat-simulate_8hpp__dep__incl.pdf b/latex/geese-meat-simulate_8hpp__dep__incl.pdf index 78cb5a37f..f1132152e 100644 Binary files a/latex/geese-meat-simulate_8hpp__dep__incl.pdf and b/latex/geese-meat-simulate_8hpp__dep__incl.pdf differ diff --git a/latex/geese-meat_8hpp__dep__incl.pdf b/latex/geese-meat_8hpp__dep__incl.pdf index c2d423907..8d6c8f565 100644 Binary files a/latex/geese-meat_8hpp__dep__incl.pdf and b/latex/geese-meat_8hpp__dep__incl.pdf differ diff --git a/latex/geese-node-bones_8hpp__dep__incl.pdf b/latex/geese-node-bones_8hpp__dep__incl.pdf index 48986a0fb..10e09d072 100644 Binary files a/latex/geese-node-bones_8hpp__dep__incl.pdf and b/latex/geese-node-bones_8hpp__dep__incl.pdf differ diff --git a/latex/geese-types_8hpp__dep__incl.pdf b/latex/geese-types_8hpp__dep__incl.pdf index 72c8956bb..9811140c2 100644 Binary files a/latex/geese-types_8hpp__dep__incl.pdf and b/latex/geese-types_8hpp__dep__incl.pdf differ diff --git a/latex/geese_2counters_8hpp__dep__incl.pdf b/latex/geese_2counters_8hpp__dep__incl.pdf index ae18cdc26..ae2db9acc 100644 Binary files a/latex/geese_2counters_8hpp__dep__incl.pdf and b/latex/geese_2counters_8hpp__dep__incl.pdf differ diff --git a/latex/geese_8hpp__incl.pdf b/latex/geese_8hpp__incl.pdf index 6d8c99a40..2a71e16b9 100644 Binary files a/latex/geese_8hpp__incl.pdf and b/latex/geese_8hpp__incl.pdf differ diff --git a/latex/group__counters-phylo.pdf b/latex/group__counters-phylo.pdf index cad685e1e..f42e6d695 100644 Binary files a/latex/group__counters-phylo.pdf and b/latex/group__counters-phylo.pdf differ diff --git a/latex/group__rules-phylo.pdf b/latex/group__rules-phylo.pdf index ff7298096..a9c7b74a9 100644 Binary files a/latex/group__rules-phylo.pdf and b/latex/group__rules-phylo.pdf differ diff --git a/latex/model-bones_8hpp__dep__incl.pdf b/latex/model-bones_8hpp__dep__incl.pdf index 78d83b4a3..2a5fcaebe 100644 Binary files a/latex/model-bones_8hpp__dep__incl.pdf and b/latex/model-bones_8hpp__dep__incl.pdf differ diff --git a/latex/model-meat_8hpp__dep__incl.pdf b/latex/model-meat_8hpp__dep__incl.pdf index ad5965c7a..27f6a9c8a 100644 Binary files a/latex/model-meat_8hpp__dep__incl.pdf and b/latex/model-meat_8hpp__dep__incl.pdf differ diff --git a/latex/network-css_8hpp__dep__incl.pdf b/latex/network-css_8hpp__dep__incl.pdf index 06e8c5edc..95b9170ff 100644 Binary files a/latex/network-css_8hpp__dep__incl.pdf and b/latex/network-css_8hpp__dep__incl.pdf differ diff --git a/latex/network_8hpp__dep__incl.pdf b/latex/network_8hpp__dep__incl.pdf index 0acf6deef..d6451084c 100644 Binary files a/latex/network_8hpp__dep__incl.pdf and b/latex/network_8hpp__dep__incl.pdf differ diff --git a/latex/network_8hpp__incl.pdf b/latex/network_8hpp__incl.pdf index ecb6db1dd..9fa9da8f3 100644 Binary files a/latex/network_8hpp__incl.pdf and b/latex/network_8hpp__incl.pdf differ diff --git a/latex/powerset-bones_8hpp__dep__incl.pdf b/latex/powerset-bones_8hpp__dep__incl.pdf index 11f4a60a1..b5219e9bc 100644 Binary files a/latex/powerset-bones_8hpp__dep__incl.pdf and b/latex/powerset-bones_8hpp__dep__incl.pdf differ diff --git a/latex/powerset-meat_8hpp__dep__incl.pdf b/latex/powerset-meat_8hpp__dep__incl.pdf index 60833b475..2315eeb69 100644 Binary files a/latex/powerset-meat_8hpp__dep__incl.pdf and b/latex/powerset-meat_8hpp__dep__incl.pdf differ diff --git a/latex/progress_8hpp__dep__incl.pdf b/latex/progress_8hpp__dep__incl.pdf index 7f69271d8..f0416b1f9 100644 Binary files a/latex/progress_8hpp__dep__incl.pdf and b/latex/progress_8hpp__dep__incl.pdf differ diff --git a/latex/refman.log b/latex/refman.log index 8a12896f0..496273b07 100644 --- a/latex/refman.log +++ b/latex/refman.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Alpine Linux) (preloaded format=pdflatex 2023.10.5) 5 OCT 2023 20:50 +This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Alpine Linux) (preloaded format=pdflatex 2023.10.5) 5 OCT 2023 21:11 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -6296,7 +6296,7 @@ are/texmf-dist/fonts/type1/urw/courier/ucrro8a.pfb> -Output written on refman.pdf (409 pages, 1543305 bytes). +Output written on refman.pdf (409 pages, 1543302 bytes). PDF statistics: 18020 PDF objects out of 18468 (max. 8388607) 17112 compressed objects within 172 object streams diff --git a/latex/refman.pdf b/latex/refman.pdf index ee75a4788..5ed6da6be 100644 Binary files a/latex/refman.pdf and b/latex/refman.pdf differ diff --git a/latex/rules-bones_8hpp__dep__incl.pdf b/latex/rules-bones_8hpp__dep__incl.pdf index e218dd267..70dc9bf58 100644 Binary files a/latex/rules-bones_8hpp__dep__incl.pdf and b/latex/rules-bones_8hpp__dep__incl.pdf differ diff --git a/latex/rules-meat_8hpp__dep__incl.pdf b/latex/rules-meat_8hpp__dep__incl.pdf index 1a69c8471..690afceae 100644 Binary files a/latex/rules-meat_8hpp__dep__incl.pdf and b/latex/rules-meat_8hpp__dep__incl.pdf differ diff --git a/latex/statscounter-bones_8hpp__dep__incl.pdf b/latex/statscounter-bones_8hpp__dep__incl.pdf index 555b4240a..b0871f2ca 100644 Binary files a/latex/statscounter-bones_8hpp__dep__incl.pdf and b/latex/statscounter-bones_8hpp__dep__incl.pdf differ diff --git a/latex/statscounter-meat_8hpp__dep__incl.pdf b/latex/statscounter-meat_8hpp__dep__incl.pdf index b989d30ca..c1cb12986 100644 Binary files a/latex/statscounter-meat_8hpp__dep__incl.pdf and b/latex/statscounter-meat_8hpp__dep__incl.pdf differ diff --git a/latex/support-bones_8hpp__dep__incl.pdf b/latex/support-bones_8hpp__dep__incl.pdf index 15aee7668..fbf7a3073 100644 Binary files a/latex/support-bones_8hpp__dep__incl.pdf and b/latex/support-bones_8hpp__dep__incl.pdf differ diff --git a/latex/support-meat_8hpp__dep__incl.pdf b/latex/support-meat_8hpp__dep__incl.pdf index 683210ccd..8e2559613 100644 Binary files a/latex/support-meat_8hpp__dep__incl.pdf and b/latex/support-meat_8hpp__dep__incl.pdf differ diff --git a/latex/typedefs_8hpp__dep__incl.pdf b/latex/typedefs_8hpp__dep__incl.pdf index 8c44c5192..eb8d45fc5 100644 Binary files a/latex/typedefs_8hpp__dep__incl.pdf and b/latex/typedefs_8hpp__dep__incl.pdf differ diff --git a/latex/typedefs_8hpp__incl.pdf b/latex/typedefs_8hpp__incl.pdf index 91f108f7f..4f9b36014 100644 Binary files a/latex/typedefs_8hpp__incl.pdf and b/latex/typedefs_8hpp__incl.pdf differ diff --git a/model-bones_8hpp.html b/model-bones_8hpp.html index b438a5dbd..96111e9dd 100644 --- a/model-bones_8hpp.html +++ b/model-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/model-bones_8hpp_source.html b/model-bones_8hpp_source.html index 2ffdca1b4..bb81796c1 100644 --- a/model-bones_8hpp_source.html +++ b/model-bones_8hpp_source.html @@ -348,86 +348,86 @@
                                                                                                                                            A counter function based on change statistics.
                                                                                                                                            Vector of counters.
                                                                                                                                            General framework for discrete exponential models. This class allows generating discrete exponential ...
                                                                                                                                            Definition: model-bones.hpp:34
                                                                                                                                            -
                                                                                                                                            size_t size_unique() const noexcept
                                                                                                                                            +
                                                                                                                                            size_t size_unique() const noexcept
                                                                                                                                            std::vector< std::string > transform_model_term_names
                                                                                                                                            -
                                                                                                                                            const std::mt19937 * get_rengine() const
                                                                                                                                            +
                                                                                                                                            const std::mt19937 * get_rengine() const
                                                                                                                                            bool delete_rules
                                                                                                                                            void update_normalizing_constants(const std::vector< double > &params, BARRY_NCORES_ARG(=1), int i=-1)
                                                                                                                                            Computes the normalizing constant for a given set of parameters.
                                                                                                                                            Definition: model-meat.hpp:134
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes_acc()
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes_acc()
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            void update_pset_probs(const std::vector< double > &params, BARRY_NCORES_ARG(=1), int i=-1)
                                                                                                                                            Definition: model-meat.hpp:223
                                                                                                                                            Rules< Array_Type, Data_Rule_Dyn_Type > * rules_dyn
                                                                                                                                            Definition: model-bones.hpp:98
                                                                                                                                            std::vector< size_t > pset_sizes
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:87
                                                                                                                                            Rules< Array_Type, Data_Rule_Type > * rules
                                                                                                                                            Definition: model-bones.hpp:97
                                                                                                                                            -
                                                                                                                                            std::vector< double > * get_pset_stats()
                                                                                                                                            Statistics of the support(s)
                                                                                                                                            +
                                                                                                                                            std::vector< double > * get_pset_stats()
                                                                                                                                            Statistics of the support(s)
                                                                                                                                            StatsCounter< Array_Type, Data_Counter_Type > counter_fun
                                                                                                                                            -
                                                                                                                                            size_t size() const noexcept
                                                                                                                                            -
                                                                                                                                            void add_counter(Counter< Array_Type, Data_Counter_Type > &counter)
                                                                                                                                            Definition: model-meat.hpp:503
                                                                                                                                            -
                                                                                                                                            Counters< Array_Type, Data_Counter_Type > * get_counters()
                                                                                                                                            +
                                                                                                                                            size_t size() const noexcept
                                                                                                                                            +
                                                                                                                                            void add_counter(Counter< Array_Type, Data_Counter_Type > &counter)
                                                                                                                                            Definition: model-meat.hpp:506
                                                                                                                                            +
                                                                                                                                            Counters< Array_Type, Data_Counter_Type > * get_counters()
                                                                                                                                            std::vector< std::vector< double > > stats_target
                                                                                                                                            Target statistics of the model.
                                                                                                                                            Definition: model-bones.hpp:66
                                                                                                                                            std::vector< double > pset_probs
                                                                                                                                            Probabilities of the support(s)
                                                                                                                                            Definition: model-bones.hpp:86
                                                                                                                                            -
                                                                                                                                            Array_Type sample(const Array_Type &Array_, const std::vector< double > &params={})
                                                                                                                                            -
                                                                                                                                            void add_rule_dyn(Rule< Array_Type, Data_Rule_Dyn_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:586
                                                                                                                                            +
                                                                                                                                            Array_Type sample(const Array_Type &Array_, const std::vector< double > &params={})
                                                                                                                                            +
                                                                                                                                            void add_rule_dyn(Rule< Array_Type, Data_Rule_Dyn_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:589
                                                                                                                                            std::vector< double > stats_likelihood
                                                                                                                                            Definition: model-bones.hpp:67
                                                                                                                                            std::vector< double > stats_support
                                                                                                                                            Sufficient statistics of the model (support)
                                                                                                                                            Definition: model-bones.hpp:62
                                                                                                                                            -
                                                                                                                                            void store_psets() noexcept
                                                                                                                                            Definition: model-meat.hpp:490
                                                                                                                                            -
                                                                                                                                            double conditional_prob(const Array_Type &Array_, const std::vector< double > &params, size_t i, size_t j)
                                                                                                                                            Conditional probability ("Gibbs sampler")
                                                                                                                                            -
                                                                                                                                            Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > & operator=(const Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > &Model_)
                                                                                                                                            Definition: model-meat.hpp:434
                                                                                                                                            -
                                                                                                                                            std::vector< std::vector< double > > * get_stats_target()
                                                                                                                                            Raw pointers to the support and target statistics.
                                                                                                                                            +
                                                                                                                                            void store_psets() noexcept
                                                                                                                                            Definition: model-meat.hpp:493
                                                                                                                                            +
                                                                                                                                            double conditional_prob(const Array_Type &Array_, const std::vector< double > &params, size_t i, size_t j)
                                                                                                                                            Conditional probability ("Gibbs sampler")
                                                                                                                                            +
                                                                                                                                            Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > & operator=(const Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > &Model_)
                                                                                                                                            Definition: model-meat.hpp:437
                                                                                                                                            +
                                                                                                                                            std::vector< std::vector< double > > * get_stats_target()
                                                                                                                                            Raw pointers to the support and target statistics.
                                                                                                                                            bool delete_rengine
                                                                                                                                            Definition: model-bones.hpp:43
                                                                                                                                            -
                                                                                                                                            std::vector< std::vector< Array_Type > > * get_pset_arrays()
                                                                                                                                            +
                                                                                                                                            std::vector< std::vector< Array_Type > > * get_pset_arrays()
                                                                                                                                            virtual ~Model()
                                                                                                                                            -
                                                                                                                                            Support< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > * get_support_fun()
                                                                                                                                            -
                                                                                                                                            std::vector< double > gen_key(const Array_Type &Array_)
                                                                                                                                            Definition: model-meat.hpp:496
                                                                                                                                            +
                                                                                                                                            Support< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > * get_support_fun()
                                                                                                                                            +
                                                                                                                                            std::vector< double > gen_key(const Array_Type &Array_)
                                                                                                                                            Definition: model-meat.hpp:499
                                                                                                                                            std::vector< size_t > arrays2support
                                                                                                                                            Definition: model-bones.hpp:68
                                                                                                                                            -
                                                                                                                                            size_t add_array(const Array_Type &Array_, bool force_new=false)
                                                                                                                                            Adds an array to the support of not already included.
                                                                                                                                            Definition: model-meat.hpp:628
                                                                                                                                            -
                                                                                                                                            void add_hasher(Hasher_fun_type< Array_Type, Data_Counter_Type > fun_)
                                                                                                                                            Definition: model-meat.hpp:547
                                                                                                                                            -
                                                                                                                                            std::vector< std::string > colnames() const
                                                                                                                                            -
                                                                                                                                            double likelihood(const std::vector< double > &params, const size_t &i, bool as_log=false, bool no_update_normconst=false)
                                                                                                                                            Definition: model-meat.hpp:805
                                                                                                                                            +
                                                                                                                                            size_t add_array(const Array_Type &Array_, bool force_new=false)
                                                                                                                                            Adds an array to the support of not already included.
                                                                                                                                            Definition: model-meat.hpp:631
                                                                                                                                            +
                                                                                                                                            void add_hasher(Hasher_fun_type< Array_Type, Data_Counter_Type > fun_)
                                                                                                                                            Definition: model-meat.hpp:550
                                                                                                                                            +
                                                                                                                                            std::vector< std::string > colnames() const
                                                                                                                                            +
                                                                                                                                            double likelihood(const std::vector< double > &params, const size_t &i, bool as_log=false, bool no_update_normconst=false)
                                                                                                                                            Definition: model-meat.hpp:808
                                                                                                                                            std::vector< size_t > stats_support_sizes_acc
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:64
                                                                                                                                            -
                                                                                                                                            std::vector< double > * get_stats_support()
                                                                                                                                            Sufficient statistics of the support(s)
                                                                                                                                            -
                                                                                                                                            void set_rules(Rules< Array_Type, Data_Rule_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:568
                                                                                                                                            -
                                                                                                                                            size_t nrules() const noexcept
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_pset_locations()
                                                                                                                                            -
                                                                                                                                            const std::vector< double > & get_normalizing_constants() const
                                                                                                                                            +
                                                                                                                                            std::vector< double > * get_stats_support()
                                                                                                                                            Sufficient statistics of the support(s)
                                                                                                                                            +
                                                                                                                                            void set_rules(Rules< Array_Type, Data_Rule_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:571
                                                                                                                                            +
                                                                                                                                            size_t nrules() const noexcept
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_pset_locations()
                                                                                                                                            +
                                                                                                                                            const std::vector< double > & get_normalizing_constants() const
                                                                                                                                            std::vector< size_t > stats_support_n_arrays
                                                                                                                                            Number of arrays included per support.
                                                                                                                                            Definition: model-bones.hpp:65
                                                                                                                                            -
                                                                                                                                            void print_stats(size_t i) const
                                                                                                                                            -
                                                                                                                                            size_t nterms() const noexcept
                                                                                                                                            -
                                                                                                                                            double likelihood_total(const std::vector< double > &params, bool as_log=false, BARRY_NCORES_ARG(=2), bool no_update_normconst=false)
                                                                                                                                            +
                                                                                                                                            void print_stats(size_t i) const
                                                                                                                                            +
                                                                                                                                            size_t nterms() const noexcept
                                                                                                                                            +
                                                                                                                                            double likelihood_total(const std::vector< double > &params, bool as_log=false, BARRY_NCORES_ARG(=2), bool no_update_normconst=false)
                                                                                                                                            bool with_pset
                                                                                                                                            Definition: model-bones.hpp:83
                                                                                                                                            -
                                                                                                                                            Rules< Array_Type, Data_Rule_Type > * get_rules()
                                                                                                                                            +
                                                                                                                                            Rules< Array_Type, Data_Rule_Type > * get_rules()
                                                                                                                                            bool delete_rules_dyn
                                                                                                                                            bool delete_counters
                                                                                                                                            -
                                                                                                                                            void set_counters(Counters< Array_Type, Data_Counter_Type > *counters_)
                                                                                                                                            Definition: model-meat.hpp:529
                                                                                                                                            -
                                                                                                                                            size_t support_size() const noexcept
                                                                                                                                            -
                                                                                                                                            size_t nrules_dyn() const noexcept
                                                                                                                                            +
                                                                                                                                            void set_counters(Counters< Array_Type, Data_Counter_Type > *counters_)
                                                                                                                                            Definition: model-meat.hpp:532
                                                                                                                                            +
                                                                                                                                            size_t support_size() const noexcept
                                                                                                                                            +
                                                                                                                                            size_t nrules_dyn() const noexcept
                                                                                                                                            std::vector< std::vector< double > > params_last
                                                                                                                                            Vector of the previously used parameters.
                                                                                                                                            -
                                                                                                                                            virtual void print() const
                                                                                                                                            Prints information about the model.
                                                                                                                                            +
                                                                                                                                            virtual void print() const
                                                                                                                                            Prints information about the model.
                                                                                                                                            std::vector< double > transform_model(double *data, size_t k)
                                                                                                                                            std::mt19937 * rengine
                                                                                                                                            Definition: model-bones.hpp:42
                                                                                                                                            Support< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > support_fun
                                                                                                                                            Definition: model-bones.hpp:99
                                                                                                                                            -
                                                                                                                                            void set_rules_dyn(Rules< Array_Type, Data_Rule_Dyn_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:610
                                                                                                                                            +
                                                                                                                                            void set_rules_dyn(Rules< Array_Type, Data_Rule_Dyn_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:613
                                                                                                                                            std::vector< std::vector< Array_Type > > pset_arrays
                                                                                                                                            Arrays of the support(s)
                                                                                                                                            Definition: model-bones.hpp:84
                                                                                                                                            std::function< std::vector< double >double *, size_t k)> transform_model_fun
                                                                                                                                            Transformation of the model.
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_arrays2support()
                                                                                                                                            -
                                                                                                                                            std::vector< double > * get_pset_probs()
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_pset_sizes()
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_arrays2support()
                                                                                                                                            +
                                                                                                                                            std::vector< double > * get_pset_probs()
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_pset_sizes()
                                                                                                                                            MapVec_type< double, size_t > keys2support
                                                                                                                                            Map of types of arrays to support sets.
                                                                                                                                            Definition: model-bones.hpp:75
                                                                                                                                            std::vector< size_t > stats_support_sizes
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:63
                                                                                                                                            - +
                                                                                                                                            std::vector< double > normalizing_constants
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes()
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes()
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            std::vector< double > pset_stats
                                                                                                                                            Statistics of the support(s)
                                                                                                                                            Definition: model-bones.hpp:85
                                                                                                                                            std::vector< size_t > pset_locations
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:88
                                                                                                                                            std::vector< bool > first_calc_done
                                                                                                                                            -
                                                                                                                                            const std::vector< double > & get_likelihoods() const
                                                                                                                                            +
                                                                                                                                            const std::vector< double > & get_likelihoods() const
                                                                                                                                            void update_likelihoods(const std::vector< double > &params,)
                                                                                                                                            Definition: model-meat.hpp:184
                                                                                                                                            -
                                                                                                                                            void set_transform_model(std::function< std::vector< double >(double *, size_t)> fun, std::vector< std::string > names)
                                                                                                                                            Set the transform_model_fun object.
                                                                                                                                            +
                                                                                                                                            void set_transform_model(std::function< std::vector< double >(double *, size_t)> fun, std::vector< std::string > names)
                                                                                                                                            Set the transform_model_fun object.
                                                                                                                                            Counters< Array_Type, Data_Counter_Type > * counters
                                                                                                                                            Definition: model-bones.hpp:96
                                                                                                                                            -
                                                                                                                                            const std::vector< Array_Type > * get_pset(const size_t &i)
                                                                                                                                            +
                                                                                                                                            const std::vector< Array_Type > * get_pset(const size_t &i)
                                                                                                                                            void set_rengine(std::mt19937 *rengine_, bool delete_=false)
                                                                                                                                            -
                                                                                                                                            void add_rule(Rule< Array_Type, Data_Rule_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:558
                                                                                                                                            +
                                                                                                                                            void add_rule(Rule< Array_Type, Data_Rule_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:561
                                                                                                                                            void set_seed(size_t s)
                                                                                                                                            -
                                                                                                                                            Rules< Array_Type, Data_Rule_Dyn_Type > * get_rules_dyn()
                                                                                                                                            +
                                                                                                                                            Rules< Array_Type, Data_Rule_Dyn_Type > * get_rules_dyn()
                                                                                                                                            Rule for determining if a cell should be included in a sequence.
                                                                                                                                            Definition: rules-bones.hpp:20
                                                                                                                                            Vector of objects of class Rule.
                                                                                                                                            Definition: rules-bones.hpp:71
                                                                                                                                            Count stats for a single Array.
                                                                                                                                            @@ -453,7 +453,7 @@ diff --git a/model-meat_8hpp.html b/model-meat_8hpp.html index 044354a84..004e5995e 100644 --- a/model-meat_8hpp.html +++ b/model-meat_8hpp.html @@ -230,7 +230,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/model-meat_8hpp_source.html b/model-meat_8hpp_source.html index 809677e74..ee8c5d201 100644 --- a/model-meat_8hpp_source.html +++ b/model-meat_8hpp_source.html @@ -319,1181 +319,1181 @@
                                                                                                                                            226  int i
                                                                                                                                            227 ) {
                                                                                                                                            228 
                                                                                                                                            -
                                                                                                                                            229  update_normalizing_constants(params, ncores);
                                                                                                                                            -
                                                                                                                                            230 
                                                                                                                                            -
                                                                                                                                            231  size_t n_params = params.size();
                                                                                                                                            -
                                                                                                                                            232  pset_probs.resize(
                                                                                                                                            -
                                                                                                                                            233  pset_locations.back() +
                                                                                                                                            -
                                                                                                                                            234  pset_sizes.back()
                                                                                                                                            -
                                                                                                                                            235  );
                                                                                                                                            -
                                                                                                                                            236 
                                                                                                                                            -
                                                                                                                                            237  // No need to paralelize if there is only one core
                                                                                                                                            -
                                                                                                                                            238  if (i >= 0)
                                                                                                                                            -
                                                                                                                                            239  ncores = 1u;
                                                                                                                                            -
                                                                                                                                            240 
                                                                                                                                            -
                                                                                                                                            241  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            -
                                                                                                                                            242  #pragma omp parallel for num_threads(ncores) collapse(1) \
                                                                                                                                            -
                                                                                                                                            243  shared(n_params, pset_stats, pset_probs, normalizing_constants, pset_sizes, \
                                                                                                                                            -
                                                                                                                                            244  params, i) \
                                                                                                                                            -
                                                                                                                                            245  default(none)
                                                                                                                                            -
                                                                                                                                            246  #endif
                                                                                                                                            -
                                                                                                                                            247  for (size_t s = 0u; s < pset_sizes.size(); ++s)
                                                                                                                                            -
                                                                                                                                            248  {
                                                                                                                                            -
                                                                                                                                            249 
                                                                                                                                            -
                                                                                                                                            250  if ((i >= 0) && (i != static_cast<int>(s)))
                                                                                                                                            -
                                                                                                                                            251  continue;
                                                                                                                                            +
                                                                                                                                            229  update_normalizing_constants(params, ncores, i);
                                                                                                                                            +
                                                                                                                                            230 
                                                                                                                                            +
                                                                                                                                            231  if (i > -1)
                                                                                                                                            +
                                                                                                                                            232  params_last[i] = params;
                                                                                                                                            +
                                                                                                                                            233 
                                                                                                                                            +
                                                                                                                                            234  size_t n_params = params.size();
                                                                                                                                            +
                                                                                                                                            235  pset_probs.resize(
                                                                                                                                            +
                                                                                                                                            236  pset_locations.back() +
                                                                                                                                            +
                                                                                                                                            237  pset_sizes.back()
                                                                                                                                            +
                                                                                                                                            238  );
                                                                                                                                            +
                                                                                                                                            239 
                                                                                                                                            +
                                                                                                                                            240  // No need to paralelize if there is only one core
                                                                                                                                            +
                                                                                                                                            241  if (i >= 0)
                                                                                                                                            +
                                                                                                                                            242  ncores = 1u;
                                                                                                                                            +
                                                                                                                                            243 
                                                                                                                                            +
                                                                                                                                            244  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            +
                                                                                                                                            245  #pragma omp parallel for num_threads(ncores) collapse(1) \
                                                                                                                                            +
                                                                                                                                            246  shared(n_params, pset_stats, pset_probs, normalizing_constants, pset_sizes, \
                                                                                                                                            +
                                                                                                                                            247  params, i) \
                                                                                                                                            +
                                                                                                                                            248  default(none)
                                                                                                                                            +
                                                                                                                                            249  #endif
                                                                                                                                            +
                                                                                                                                            250  for (size_t s = 0u; s < pset_sizes.size(); ++s)
                                                                                                                                            +
                                                                                                                                            251  {
                                                                                                                                            252 
                                                                                                                                            -
                                                                                                                                            253  // When does the pset starts
                                                                                                                                            -
                                                                                                                                            254  size_t pset_start = pset_locations[s];
                                                                                                                                            +
                                                                                                                                            253  if ((i >= 0) && (i != static_cast<int>(s)))
                                                                                                                                            +
                                                                                                                                            254  continue;
                                                                                                                                            255 
                                                                                                                                            -
                                                                                                                                            256  // Looping over observations of the pset
                                                                                                                                            -
                                                                                                                                            257  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            -
                                                                                                                                            258  #pragma omp simd
                                                                                                                                            -
                                                                                                                                            259  #endif
                                                                                                                                            -
                                                                                                                                            260  for (size_t a = 0u; a < pset_sizes[s]; ++a)
                                                                                                                                            -
                                                                                                                                            261  {
                                                                                                                                            -
                                                                                                                                            262 
                                                                                                                                            -
                                                                                                                                            263  // Start location in the array
                                                                                                                                            -
                                                                                                                                            264  size_t start_loc = pset_start * n_params + a * n_params;
                                                                                                                                            -
                                                                                                                                            265 
                                                                                                                                            -
                                                                                                                                            266  pset_probs[pset_start + a] = 0.0;
                                                                                                                                            -
                                                                                                                                            267 
                                                                                                                                            -
                                                                                                                                            268  // Looping over the parameters
                                                                                                                                            -
                                                                                                                                            269  for (size_t j = 0u; j < n_params; ++j)
                                                                                                                                            -
                                                                                                                                            270  pset_probs[pset_start + a] +=
                                                                                                                                            -
                                                                                                                                            271  pset_stats[start_loc + j] * params[j];
                                                                                                                                            -
                                                                                                                                            272 
                                                                                                                                            -
                                                                                                                                            273  // Now turning into a probability
                                                                                                                                            -
                                                                                                                                            274  pset_probs[pset_start + a] =
                                                                                                                                            -
                                                                                                                                            275  std::exp(pset_probs[pset_start + a] BARRY_SAFE_EXP)/
                                                                                                                                            -
                                                                                                                                            276  normalizing_constants[s];
                                                                                                                                            -
                                                                                                                                            277  }
                                                                                                                                            -
                                                                                                                                            278 
                                                                                                                                            -
                                                                                                                                            279  #ifdef BARRY_DEBUG
                                                                                                                                            -
                                                                                                                                            280  // Making sure the probabilities add to one
                                                                                                                                            -
                                                                                                                                            281  double totprob = 0.0;
                                                                                                                                            -
                                                                                                                                            282  for (size_t i_ = 0u; i_ < pset_sizes[s]; ++i)
                                                                                                                                            -
                                                                                                                                            283  totprob =+ pset_probs[pset_start + i_];
                                                                                                                                            -
                                                                                                                                            284 
                                                                                                                                            -
                                                                                                                                            285  if (std::abs(totprob - 1) > 1e-6)
                                                                                                                                            -
                                                                                                                                            286  throw std::runtime_error(
                                                                                                                                            -
                                                                                                                                            287  std::string("Probabilities do not add to one! ") +
                                                                                                                                            -
                                                                                                                                            288  std::string("totprob = ") + std::to_string(totprob)
                                                                                                                                            -
                                                                                                                                            289  );
                                                                                                                                            -
                                                                                                                                            290 
                                                                                                                                            -
                                                                                                                                            291  #endif
                                                                                                                                            -
                                                                                                                                            292  }
                                                                                                                                            -
                                                                                                                                            293 
                                                                                                                                            -
                                                                                                                                            294  return;
                                                                                                                                            -
                                                                                                                                            295 
                                                                                                                                            -
                                                                                                                                            296 }
                                                                                                                                            -
                                                                                                                                            297 
                                                                                                                                            -
                                                                                                                                            298 template <
                                                                                                                                            -
                                                                                                                                            299  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            300  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            301  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            302  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            303  >
                                                                                                                                            - -
                                                                                                                                            305  stats_support(0u),
                                                                                                                                            -
                                                                                                                                            306  stats_support_sizes(0u),
                                                                                                                                            -
                                                                                                                                            307  stats_support_sizes_acc(0u),
                                                                                                                                            -
                                                                                                                                            308  stats_support_n_arrays(0u),
                                                                                                                                            -
                                                                                                                                            309  stats_target(0u),
                                                                                                                                            -
                                                                                                                                            310  stats_likelihood(0u),
                                                                                                                                            -
                                                                                                                                            311  arrays2support(0u),
                                                                                                                                            -
                                                                                                                                            312  keys2support(0u),
                                                                                                                                            -
                                                                                                                                            313  pset_arrays(0u), pset_stats(0u),
                                                                                                                                            -
                                                                                                                                            314  counters(new Counters<Array_Type,Data_Counter_Type>()),
                                                                                                                                            -
                                                                                                                                            315  rules(new Rules<Array_Type,Data_Rule_Type>()),
                                                                                                                                            -
                                                                                                                                            316  rules_dyn(new Rules<Array_Type,Data_Rule_Dyn_Type>()),
                                                                                                                                            -
                                                                                                                                            317  support_fun(), counter_fun(), delete_counters(true),
                                                                                                                                            -
                                                                                                                                            318  delete_rules(true),
                                                                                                                                            -
                                                                                                                                            319  delete_rules_dyn(true),
                                                                                                                                            -
                                                                                                                                            320  transform_model_fun(nullptr),
                                                                                                                                            -
                                                                                                                                            321  transform_model_term_names(0u)
                                                                                                                                            -
                                                                                                                                            322 {
                                                                                                                                            -
                                                                                                                                            323 
                                                                                                                                            -
                                                                                                                                            324  // Counters are shared
                                                                                                                                            -
                                                                                                                                            325  support_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            326  counter_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            327 
                                                                                                                                            -
                                                                                                                                            328  // Rules are shared
                                                                                                                                            -
                                                                                                                                            329  support_fun.set_rules(rules);
                                                                                                                                            -
                                                                                                                                            330  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            -
                                                                                                                                            331 
                                                                                                                                            -
                                                                                                                                            332  return;
                                                                                                                                            -
                                                                                                                                            333 
                                                                                                                                            -
                                                                                                                                            334 }
                                                                                                                                            -
                                                                                                                                            335 
                                                                                                                                            -
                                                                                                                                            336 template <
                                                                                                                                            -
                                                                                                                                            337  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            338  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            339  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            340  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            341  >
                                                                                                                                            - -
                                                                                                                                            343  size_t size_
                                                                                                                                            -
                                                                                                                                            344  ) :
                                                                                                                                            -
                                                                                                                                            345  stats_support(0u),
                                                                                                                                            -
                                                                                                                                            346  stats_support_sizes(0u),
                                                                                                                                            -
                                                                                                                                            347  stats_support_sizes_acc(0u),
                                                                                                                                            -
                                                                                                                                            348  stats_support_n_arrays(0u),
                                                                                                                                            -
                                                                                                                                            349  stats_target(0u),
                                                                                                                                            -
                                                                                                                                            350  stats_likelihood(0u),
                                                                                                                                            -
                                                                                                                                            351  arrays2support(0u), keys2support(0u),
                                                                                                                                            -
                                                                                                                                            352  pset_arrays(0u), pset_stats(0u),
                                                                                                                                            -
                                                                                                                                            353  counters(new Counters<Array_Type,Data_Counter_Type>()),
                                                                                                                                            -
                                                                                                                                            354  rules(new Rules<Array_Type,Data_Rule_Type>()),
                                                                                                                                            -
                                                                                                                                            355  rules_dyn(new Rules<Array_Type,Data_Rule_Dyn_Type>()),
                                                                                                                                            -
                                                                                                                                            356  support_fun(), counter_fun(), delete_counters(true),
                                                                                                                                            -
                                                                                                                                            357  delete_rules(true),
                                                                                                                                            -
                                                                                                                                            358  delete_rules_dyn(true),
                                                                                                                                            -
                                                                                                                                            359  transform_model_fun(nullptr),
                                                                                                                                            -
                                                                                                                                            360  transform_model_term_names(0u)
                                                                                                                                            -
                                                                                                                                            361 {
                                                                                                                                            -
                                                                                                                                            362 
                                                                                                                                            -
                                                                                                                                            363  stats_target.reserve(size_);
                                                                                                                                            -
                                                                                                                                            364  arrays2support.reserve(size_);
                                                                                                                                            -
                                                                                                                                            365 
                                                                                                                                            -
                                                                                                                                            366  // Counters are shared
                                                                                                                                            -
                                                                                                                                            367  support_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            368  counter_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            369 
                                                                                                                                            -
                                                                                                                                            370  // Rules are shared
                                                                                                                                            -
                                                                                                                                            371  support_fun.set_rules(rules);
                                                                                                                                            -
                                                                                                                                            372  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            -
                                                                                                                                            373 
                                                                                                                                            -
                                                                                                                                            374  return;
                                                                                                                                            -
                                                                                                                                            375 
                                                                                                                                            -
                                                                                                                                            376 }
                                                                                                                                            -
                                                                                                                                            377 
                                                                                                                                            -
                                                                                                                                            378 template <
                                                                                                                                            -
                                                                                                                                            379  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            380  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            381  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            382  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            383  >
                                                                                                                                            - - -
                                                                                                                                            386  ) :
                                                                                                                                            -
                                                                                                                                            387  stats_support(Model_.stats_support),
                                                                                                                                            -
                                                                                                                                            388  stats_support_sizes(Model_.stats_support_sizes),
                                                                                                                                            -
                                                                                                                                            389  stats_support_sizes_acc(Model_.stats_support_sizes_acc),
                                                                                                                                            -
                                                                                                                                            390  stats_support_n_arrays(Model_.stats_support_n_arrays),
                                                                                                                                            -
                                                                                                                                            391  stats_target(Model_.stats_target),
                                                                                                                                            -
                                                                                                                                            392  stats_likelihood(Model_.stats_likelihood),
                                                                                                                                            -
                                                                                                                                            393  arrays2support(Model_.arrays2support),
                                                                                                                                            -
                                                                                                                                            394  keys2support(Model_.keys2support),
                                                                                                                                            -
                                                                                                                                            395  pset_arrays(Model_.pset_arrays),
                                                                                                                                            -
                                                                                                                                            396  pset_stats(Model_.pset_stats),
                                                                                                                                            -
                                                                                                                                            397  pset_probs(Model_.pset_probs),
                                                                                                                                            -
                                                                                                                                            398  pset_sizes(Model_.pset_sizes),
                                                                                                                                            -
                                                                                                                                            399  pset_locations(Model_.pset_locations),
                                                                                                                                            -
                                                                                                                                            400  counters(new Counters<Array_Type,Data_Counter_Type>(*(Model_.counters))),
                                                                                                                                            -
                                                                                                                                            401  rules(new Rules<Array_Type,Data_Rule_Type>(*(Model_.rules))),
                                                                                                                                            -
                                                                                                                                            402  rules_dyn(new Rules<Array_Type,Data_Rule_Dyn_Type>(*(Model_.rules_dyn))),
                                                                                                                                            -
                                                                                                                                            403  support_fun(),
                                                                                                                                            -
                                                                                                                                            404  counter_fun(),
                                                                                                                                            -
                                                                                                                                            405  params_last(Model_.params_last),
                                                                                                                                            -
                                                                                                                                            406  normalizing_constants(Model_.normalizing_constants),
                                                                                                                                            -
                                                                                                                                            407  first_calc_done(Model_.first_calc_done),
                                                                                                                                            -
                                                                                                                                            408  delete_counters(true),
                                                                                                                                            -
                                                                                                                                            409  delete_rules(true),
                                                                                                                                            -
                                                                                                                                            410  delete_rules_dyn(true),
                                                                                                                                            -
                                                                                                                                            411  transform_model_fun(Model_.transform_model_fun),
                                                                                                                                            -
                                                                                                                                            412  transform_model_term_names(Model_.transform_model_term_names)
                                                                                                                                            -
                                                                                                                                            413  {
                                                                                                                                            -
                                                                                                                                            414 
                                                                                                                                            -
                                                                                                                                            415  // Counters are shared
                                                                                                                                            -
                                                                                                                                            416  support_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            417  counter_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            418 
                                                                                                                                            -
                                                                                                                                            419  // Rules are shared
                                                                                                                                            -
                                                                                                                                            420  support_fun.set_rules(rules);
                                                                                                                                            -
                                                                                                                                            421  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            -
                                                                                                                                            422 
                                                                                                                                            -
                                                                                                                                            423  return;
                                                                                                                                            -
                                                                                                                                            424 
                                                                                                                                            -
                                                                                                                                            425 }
                                                                                                                                            -
                                                                                                                                            426 
                                                                                                                                            -
                                                                                                                                            427 template <
                                                                                                                                            -
                                                                                                                                            428  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            429  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            430  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            431  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            432  >
                                                                                                                                            - - - -
                                                                                                                                            436 ) {
                                                                                                                                            -
                                                                                                                                            437 
                                                                                                                                            -
                                                                                                                                            438  // Clearing
                                                                                                                                            -
                                                                                                                                            439  if (this != &Model_) {
                                                                                                                                            -
                                                                                                                                            440 
                                                                                                                                            -
                                                                                                                                            441  if (delete_counters)
                                                                                                                                            -
                                                                                                                                            442  delete counters;
                                                                                                                                            +
                                                                                                                                            256  // When does the pset starts
                                                                                                                                            +
                                                                                                                                            257  size_t pset_start = pset_locations[s];
                                                                                                                                            +
                                                                                                                                            258 
                                                                                                                                            +
                                                                                                                                            259  // Looping over observations of the pset
                                                                                                                                            +
                                                                                                                                            260  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            +
                                                                                                                                            261  #pragma omp simd
                                                                                                                                            +
                                                                                                                                            262  #endif
                                                                                                                                            +
                                                                                                                                            263  for (size_t a = 0u; a < pset_sizes[s]; ++a)
                                                                                                                                            +
                                                                                                                                            264  {
                                                                                                                                            +
                                                                                                                                            265 
                                                                                                                                            +
                                                                                                                                            266  // Start location in the array
                                                                                                                                            +
                                                                                                                                            267  size_t start_loc = pset_start * n_params + a * n_params;
                                                                                                                                            +
                                                                                                                                            268 
                                                                                                                                            +
                                                                                                                                            269  pset_probs[pset_start + a] = 0.0;
                                                                                                                                            +
                                                                                                                                            270 
                                                                                                                                            +
                                                                                                                                            271  // Looping over the parameters
                                                                                                                                            +
                                                                                                                                            272  for (size_t j = 0u; j < n_params; ++j)
                                                                                                                                            +
                                                                                                                                            273  pset_probs[pset_start + a] +=
                                                                                                                                            +
                                                                                                                                            274  pset_stats[start_loc + j] * params[j];
                                                                                                                                            +
                                                                                                                                            275 
                                                                                                                                            +
                                                                                                                                            276  // Now turning into a probability
                                                                                                                                            +
                                                                                                                                            277  pset_probs[pset_start + a] =
                                                                                                                                            +
                                                                                                                                            278  std::exp(pset_probs[pset_start + a] BARRY_SAFE_EXP)/
                                                                                                                                            +
                                                                                                                                            279  normalizing_constants[s];
                                                                                                                                            +
                                                                                                                                            280  }
                                                                                                                                            +
                                                                                                                                            281 
                                                                                                                                            +
                                                                                                                                            282  #ifdef BARRY_DEBUG
                                                                                                                                            +
                                                                                                                                            283  // Making sure the probabilities add to one
                                                                                                                                            +
                                                                                                                                            284  double totprob = 0.0;
                                                                                                                                            +
                                                                                                                                            285  for (size_t i_ = 0u; i_ < pset_sizes[s]; ++i)
                                                                                                                                            +
                                                                                                                                            286  totprob =+ pset_probs[pset_start + i_];
                                                                                                                                            +
                                                                                                                                            287 
                                                                                                                                            +
                                                                                                                                            288  if (std::abs(totprob - 1) > 1e-6)
                                                                                                                                            +
                                                                                                                                            289  throw std::runtime_error(
                                                                                                                                            +
                                                                                                                                            290  std::string("Probabilities do not add to one! ") +
                                                                                                                                            +
                                                                                                                                            291  std::string("totprob = ") + std::to_string(totprob)
                                                                                                                                            +
                                                                                                                                            292  );
                                                                                                                                            +
                                                                                                                                            293 
                                                                                                                                            +
                                                                                                                                            294  #endif
                                                                                                                                            +
                                                                                                                                            295  }
                                                                                                                                            +
                                                                                                                                            296 
                                                                                                                                            +
                                                                                                                                            297  return;
                                                                                                                                            +
                                                                                                                                            298 
                                                                                                                                            +
                                                                                                                                            299 }
                                                                                                                                            +
                                                                                                                                            300 
                                                                                                                                            +
                                                                                                                                            301 template <
                                                                                                                                            +
                                                                                                                                            302  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            303  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            304  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            305  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            306  >
                                                                                                                                            + +
                                                                                                                                            308  stats_support(0u),
                                                                                                                                            +
                                                                                                                                            309  stats_support_sizes(0u),
                                                                                                                                            +
                                                                                                                                            310  stats_support_sizes_acc(0u),
                                                                                                                                            +
                                                                                                                                            311  stats_support_n_arrays(0u),
                                                                                                                                            +
                                                                                                                                            312  stats_target(0u),
                                                                                                                                            +
                                                                                                                                            313  stats_likelihood(0u),
                                                                                                                                            +
                                                                                                                                            314  arrays2support(0u),
                                                                                                                                            +
                                                                                                                                            315  keys2support(0u),
                                                                                                                                            +
                                                                                                                                            316  pset_arrays(0u), pset_stats(0u),
                                                                                                                                            +
                                                                                                                                            317  counters(new Counters<Array_Type,Data_Counter_Type>()),
                                                                                                                                            +
                                                                                                                                            318  rules(new Rules<Array_Type,Data_Rule_Type>()),
                                                                                                                                            +
                                                                                                                                            319  rules_dyn(new Rules<Array_Type,Data_Rule_Dyn_Type>()),
                                                                                                                                            +
                                                                                                                                            320  support_fun(), counter_fun(), delete_counters(true),
                                                                                                                                            +
                                                                                                                                            321  delete_rules(true),
                                                                                                                                            +
                                                                                                                                            322  delete_rules_dyn(true),
                                                                                                                                            +
                                                                                                                                            323  transform_model_fun(nullptr),
                                                                                                                                            +
                                                                                                                                            324  transform_model_term_names(0u)
                                                                                                                                            +
                                                                                                                                            325 {
                                                                                                                                            +
                                                                                                                                            326 
                                                                                                                                            +
                                                                                                                                            327  // Counters are shared
                                                                                                                                            +
                                                                                                                                            328  support_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            329  counter_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            330 
                                                                                                                                            +
                                                                                                                                            331  // Rules are shared
                                                                                                                                            +
                                                                                                                                            332  support_fun.set_rules(rules);
                                                                                                                                            +
                                                                                                                                            333  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            +
                                                                                                                                            334 
                                                                                                                                            +
                                                                                                                                            335  return;
                                                                                                                                            +
                                                                                                                                            336 
                                                                                                                                            +
                                                                                                                                            337 }
                                                                                                                                            +
                                                                                                                                            338 
                                                                                                                                            +
                                                                                                                                            339 template <
                                                                                                                                            +
                                                                                                                                            340  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            341  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            342  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            343  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            344  >
                                                                                                                                            + +
                                                                                                                                            346  size_t size_
                                                                                                                                            +
                                                                                                                                            347  ) :
                                                                                                                                            +
                                                                                                                                            348  stats_support(0u),
                                                                                                                                            +
                                                                                                                                            349  stats_support_sizes(0u),
                                                                                                                                            +
                                                                                                                                            350  stats_support_sizes_acc(0u),
                                                                                                                                            +
                                                                                                                                            351  stats_support_n_arrays(0u),
                                                                                                                                            +
                                                                                                                                            352  stats_target(0u),
                                                                                                                                            +
                                                                                                                                            353  stats_likelihood(0u),
                                                                                                                                            +
                                                                                                                                            354  arrays2support(0u), keys2support(0u),
                                                                                                                                            +
                                                                                                                                            355  pset_arrays(0u), pset_stats(0u),
                                                                                                                                            +
                                                                                                                                            356  counters(new Counters<Array_Type,Data_Counter_Type>()),
                                                                                                                                            +
                                                                                                                                            357  rules(new Rules<Array_Type,Data_Rule_Type>()),
                                                                                                                                            +
                                                                                                                                            358  rules_dyn(new Rules<Array_Type,Data_Rule_Dyn_Type>()),
                                                                                                                                            +
                                                                                                                                            359  support_fun(), counter_fun(), delete_counters(true),
                                                                                                                                            +
                                                                                                                                            360  delete_rules(true),
                                                                                                                                            +
                                                                                                                                            361  delete_rules_dyn(true),
                                                                                                                                            +
                                                                                                                                            362  transform_model_fun(nullptr),
                                                                                                                                            +
                                                                                                                                            363  transform_model_term_names(0u)
                                                                                                                                            +
                                                                                                                                            364 {
                                                                                                                                            +
                                                                                                                                            365 
                                                                                                                                            +
                                                                                                                                            366  stats_target.reserve(size_);
                                                                                                                                            +
                                                                                                                                            367  arrays2support.reserve(size_);
                                                                                                                                            +
                                                                                                                                            368 
                                                                                                                                            +
                                                                                                                                            369  // Counters are shared
                                                                                                                                            +
                                                                                                                                            370  support_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            371  counter_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            372 
                                                                                                                                            +
                                                                                                                                            373  // Rules are shared
                                                                                                                                            +
                                                                                                                                            374  support_fun.set_rules(rules);
                                                                                                                                            +
                                                                                                                                            375  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            +
                                                                                                                                            376 
                                                                                                                                            +
                                                                                                                                            377  return;
                                                                                                                                            +
                                                                                                                                            378 
                                                                                                                                            +
                                                                                                                                            379 }
                                                                                                                                            +
                                                                                                                                            380 
                                                                                                                                            +
                                                                                                                                            381 template <
                                                                                                                                            +
                                                                                                                                            382  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            383  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            384  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            385  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            386  >
                                                                                                                                            + + +
                                                                                                                                            389  ) :
                                                                                                                                            +
                                                                                                                                            390  stats_support(Model_.stats_support),
                                                                                                                                            +
                                                                                                                                            391  stats_support_sizes(Model_.stats_support_sizes),
                                                                                                                                            +
                                                                                                                                            392  stats_support_sizes_acc(Model_.stats_support_sizes_acc),
                                                                                                                                            +
                                                                                                                                            393  stats_support_n_arrays(Model_.stats_support_n_arrays),
                                                                                                                                            +
                                                                                                                                            394  stats_target(Model_.stats_target),
                                                                                                                                            +
                                                                                                                                            395  stats_likelihood(Model_.stats_likelihood),
                                                                                                                                            +
                                                                                                                                            396  arrays2support(Model_.arrays2support),
                                                                                                                                            +
                                                                                                                                            397  keys2support(Model_.keys2support),
                                                                                                                                            +
                                                                                                                                            398  pset_arrays(Model_.pset_arrays),
                                                                                                                                            +
                                                                                                                                            399  pset_stats(Model_.pset_stats),
                                                                                                                                            +
                                                                                                                                            400  pset_probs(Model_.pset_probs),
                                                                                                                                            +
                                                                                                                                            401  pset_sizes(Model_.pset_sizes),
                                                                                                                                            +
                                                                                                                                            402  pset_locations(Model_.pset_locations),
                                                                                                                                            +
                                                                                                                                            403  counters(new Counters<Array_Type,Data_Counter_Type>(*(Model_.counters))),
                                                                                                                                            +
                                                                                                                                            404  rules(new Rules<Array_Type,Data_Rule_Type>(*(Model_.rules))),
                                                                                                                                            +
                                                                                                                                            405  rules_dyn(new Rules<Array_Type,Data_Rule_Dyn_Type>(*(Model_.rules_dyn))),
                                                                                                                                            +
                                                                                                                                            406  support_fun(),
                                                                                                                                            +
                                                                                                                                            407  counter_fun(),
                                                                                                                                            +
                                                                                                                                            408  params_last(Model_.params_last),
                                                                                                                                            +
                                                                                                                                            409  normalizing_constants(Model_.normalizing_constants),
                                                                                                                                            +
                                                                                                                                            410  first_calc_done(Model_.first_calc_done),
                                                                                                                                            +
                                                                                                                                            411  delete_counters(true),
                                                                                                                                            +
                                                                                                                                            412  delete_rules(true),
                                                                                                                                            +
                                                                                                                                            413  delete_rules_dyn(true),
                                                                                                                                            +
                                                                                                                                            414  transform_model_fun(Model_.transform_model_fun),
                                                                                                                                            +
                                                                                                                                            415  transform_model_term_names(Model_.transform_model_term_names)
                                                                                                                                            +
                                                                                                                                            416  {
                                                                                                                                            +
                                                                                                                                            417 
                                                                                                                                            +
                                                                                                                                            418  // Counters are shared
                                                                                                                                            +
                                                                                                                                            419  support_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            420  counter_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            421 
                                                                                                                                            +
                                                                                                                                            422  // Rules are shared
                                                                                                                                            +
                                                                                                                                            423  support_fun.set_rules(rules);
                                                                                                                                            +
                                                                                                                                            424  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            +
                                                                                                                                            425 
                                                                                                                                            +
                                                                                                                                            426  return;
                                                                                                                                            +
                                                                                                                                            427 
                                                                                                                                            +
                                                                                                                                            428 }
                                                                                                                                            +
                                                                                                                                            429 
                                                                                                                                            +
                                                                                                                                            430 template <
                                                                                                                                            +
                                                                                                                                            431  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            432  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            433  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            434  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            435  >
                                                                                                                                            + + + +
                                                                                                                                            439 ) {
                                                                                                                                            +
                                                                                                                                            440 
                                                                                                                                            +
                                                                                                                                            441  // Clearing
                                                                                                                                            +
                                                                                                                                            442  if (this != &Model_) {
                                                                                                                                            443 
                                                                                                                                            -
                                                                                                                                            444  if (delete_rules)
                                                                                                                                            -
                                                                                                                                            445  delete rules;
                                                                                                                                            -
                                                                                                                                            446 
                                                                                                                                            -
                                                                                                                                            447  if (delete_rules_dyn)
                                                                                                                                            -
                                                                                                                                            448  delete rules_dyn;
                                                                                                                                            +
                                                                                                                                            444  if (delete_counters)
                                                                                                                                            +
                                                                                                                                            445  delete counters;
                                                                                                                                            +
                                                                                                                                            446 
                                                                                                                                            +
                                                                                                                                            447  if (delete_rules)
                                                                                                                                            +
                                                                                                                                            448  delete rules;
                                                                                                                                            449 
                                                                                                                                            -
                                                                                                                                            450  stats_support = Model_.stats_support;
                                                                                                                                            -
                                                                                                                                            451  stats_support_sizes = Model_.stats_support_sizes;
                                                                                                                                            -
                                                                                                                                            452  stats_support_sizes_acc = Model_.stats_support_sizes_acc;
                                                                                                                                            -
                                                                                                                                            453  stats_support_n_arrays = Model_.stats_support_n_arrays;
                                                                                                                                            -
                                                                                                                                            454  stats_target = Model_.stats_target;
                                                                                                                                            -
                                                                                                                                            455  stats_likelihood = Model_.stats_likelihood;
                                                                                                                                            -
                                                                                                                                            456  arrays2support = Model_.arrays2support;
                                                                                                                                            -
                                                                                                                                            457  keys2support = Model_.keys2support;
                                                                                                                                            -
                                                                                                                                            458  pset_arrays = Model_.pset_arrays;
                                                                                                                                            -
                                                                                                                                            459  pset_stats = Model_.pset_stats;
                                                                                                                                            -
                                                                                                                                            460  pset_probs = Model_.pset_probs;
                                                                                                                                            -
                                                                                                                                            461  pset_sizes = Model_.pset_sizes;
                                                                                                                                            -
                                                                                                                                            462  pset_locations = Model_.pset_locations;
                                                                                                                                            - -
                                                                                                                                            464  rules = new Rules<Array_Type,Data_Rule_Type>(*(Model_.rules));
                                                                                                                                            -
                                                                                                                                            465  rules_dyn = new Rules<Array_Type,Data_Rule_Dyn_Type>(*(Model_.rules_dyn));
                                                                                                                                            -
                                                                                                                                            466  delete_counters = true;
                                                                                                                                            -
                                                                                                                                            467  delete_rules = true;
                                                                                                                                            -
                                                                                                                                            468  delete_rules_dyn = true;
                                                                                                                                            -
                                                                                                                                            469  params_last = Model_.params_last;
                                                                                                                                            -
                                                                                                                                            470  normalizing_constants = Model_.normalizing_constants;
                                                                                                                                            -
                                                                                                                                            471  first_calc_done = Model_.first_calc_done;
                                                                                                                                            -
                                                                                                                                            472  transform_model_fun = Model_.transform_model_fun;
                                                                                                                                            -
                                                                                                                                            473  transform_model_term_names = Model_.transform_model_term_names;
                                                                                                                                            -
                                                                                                                                            474 
                                                                                                                                            -
                                                                                                                                            475  // Counters are shared
                                                                                                                                            -
                                                                                                                                            476  support_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            477  counter_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            478 
                                                                                                                                            -
                                                                                                                                            479  // Rules are shared
                                                                                                                                            -
                                                                                                                                            480  support_fun.set_rules(rules);
                                                                                                                                            -
                                                                                                                                            481  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            -
                                                                                                                                            482 
                                                                                                                                            -
                                                                                                                                            483  }
                                                                                                                                            -
                                                                                                                                            484 
                                                                                                                                            -
                                                                                                                                            485  return *this;
                                                                                                                                            -
                                                                                                                                            486 
                                                                                                                                            -
                                                                                                                                            487 }
                                                                                                                                            -
                                                                                                                                            488 
                                                                                                                                            -
                                                                                                                                            489 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            491  with_pset = true;
                                                                                                                                            -
                                                                                                                                            492  return;
                                                                                                                                            -
                                                                                                                                            493 }
                                                                                                                                            -
                                                                                                                                            494 
                                                                                                                                            -
                                                                                                                                            495 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            497  const Array_Type & Array_
                                                                                                                                            -
                                                                                                                                            498 ) {
                                                                                                                                            -
                                                                                                                                            499  return this->counters->gen_hash(Array_);
                                                                                                                                            -
                                                                                                                                            500 }
                                                                                                                                            -
                                                                                                                                            501 
                                                                                                                                            -
                                                                                                                                            502 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            505 ) {
                                                                                                                                            -
                                                                                                                                            506 
                                                                                                                                            -
                                                                                                                                            507  counters->add_counter(counter, Data_Counter_Type());
                                                                                                                                            -
                                                                                                                                            508  return;
                                                                                                                                            -
                                                                                                                                            509 }
                                                                                                                                            -
                                                                                                                                            510 
                                                                                                                                            -
                                                                                                                                            511 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - - -
                                                                                                                                            515  Data_Counter_Type data_
                                                                                                                                            -
                                                                                                                                            516 ) {
                                                                                                                                            -
                                                                                                                                            517 
                                                                                                                                            -
                                                                                                                                            518  counters->add_counter(
                                                                                                                                            -
                                                                                                                                            519  count_fun_,
                                                                                                                                            -
                                                                                                                                            520  init_fun_,
                                                                                                                                            -
                                                                                                                                            521  data_
                                                                                                                                            -
                                                                                                                                            522  );
                                                                                                                                            -
                                                                                                                                            523 
                                                                                                                                            -
                                                                                                                                            524  return;
                                                                                                                                            -
                                                                                                                                            525 
                                                                                                                                            -
                                                                                                                                            526 }
                                                                                                                                            -
                                                                                                                                            527 
                                                                                                                                            -
                                                                                                                                            528 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            531 ) {
                                                                                                                                            -
                                                                                                                                            532 
                                                                                                                                            -
                                                                                                                                            533  if (delete_counters) {
                                                                                                                                            -
                                                                                                                                            534  delete counters;
                                                                                                                                            -
                                                                                                                                            535  delete_counters = false;
                                                                                                                                            -
                                                                                                                                            536  }
                                                                                                                                            -
                                                                                                                                            537 
                                                                                                                                            -
                                                                                                                                            538  this->counters = counters_;
                                                                                                                                            -
                                                                                                                                            539  support_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            540  counter_fun.set_counters(counters);
                                                                                                                                            -
                                                                                                                                            541 
                                                                                                                                            -
                                                                                                                                            542  return;
                                                                                                                                            -
                                                                                                                                            543 
                                                                                                                                            -
                                                                                                                                            544 }
                                                                                                                                            -
                                                                                                                                            545 
                                                                                                                                            -
                                                                                                                                            546 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            549 ) {
                                                                                                                                            -
                                                                                                                                            550 
                                                                                                                                            -
                                                                                                                                            551  counters->add_hash(fun_);
                                                                                                                                            -
                                                                                                                                            552 
                                                                                                                                            -
                                                                                                                                            553 }
                                                                                                                                            -
                                                                                                                                            554 
                                                                                                                                            -
                                                                                                                                            556 
                                                                                                                                            -
                                                                                                                                            557 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            560 ) {
                                                                                                                                            -
                                                                                                                                            561 
                                                                                                                                            -
                                                                                                                                            562  rules->add_rule(rules, Data_Rule_Type());
                                                                                                                                            -
                                                                                                                                            563  return;
                                                                                                                                            -
                                                                                                                                            564 }
                                                                                                                                            -
                                                                                                                                            565 
                                                                                                                                            -
                                                                                                                                            566 
                                                                                                                                            -
                                                                                                                                            567 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            570 ) {
                                                                                                                                            -
                                                                                                                                            571 
                                                                                                                                            -
                                                                                                                                            572  if (delete_rules)
                                                                                                                                            -
                                                                                                                                            573  delete rules;
                                                                                                                                            +
                                                                                                                                            450  if (delete_rules_dyn)
                                                                                                                                            +
                                                                                                                                            451  delete rules_dyn;
                                                                                                                                            +
                                                                                                                                            452 
                                                                                                                                            +
                                                                                                                                            453  stats_support = Model_.stats_support;
                                                                                                                                            +
                                                                                                                                            454  stats_support_sizes = Model_.stats_support_sizes;
                                                                                                                                            +
                                                                                                                                            455  stats_support_sizes_acc = Model_.stats_support_sizes_acc;
                                                                                                                                            +
                                                                                                                                            456  stats_support_n_arrays = Model_.stats_support_n_arrays;
                                                                                                                                            +
                                                                                                                                            457  stats_target = Model_.stats_target;
                                                                                                                                            +
                                                                                                                                            458  stats_likelihood = Model_.stats_likelihood;
                                                                                                                                            +
                                                                                                                                            459  arrays2support = Model_.arrays2support;
                                                                                                                                            +
                                                                                                                                            460  keys2support = Model_.keys2support;
                                                                                                                                            +
                                                                                                                                            461  pset_arrays = Model_.pset_arrays;
                                                                                                                                            +
                                                                                                                                            462  pset_stats = Model_.pset_stats;
                                                                                                                                            +
                                                                                                                                            463  pset_probs = Model_.pset_probs;
                                                                                                                                            +
                                                                                                                                            464  pset_sizes = Model_.pset_sizes;
                                                                                                                                            +
                                                                                                                                            465  pset_locations = Model_.pset_locations;
                                                                                                                                            + +
                                                                                                                                            467  rules = new Rules<Array_Type,Data_Rule_Type>(*(Model_.rules));
                                                                                                                                            +
                                                                                                                                            468  rules_dyn = new Rules<Array_Type,Data_Rule_Dyn_Type>(*(Model_.rules_dyn));
                                                                                                                                            +
                                                                                                                                            469  delete_counters = true;
                                                                                                                                            +
                                                                                                                                            470  delete_rules = true;
                                                                                                                                            +
                                                                                                                                            471  delete_rules_dyn = true;
                                                                                                                                            +
                                                                                                                                            472  params_last = Model_.params_last;
                                                                                                                                            +
                                                                                                                                            473  normalizing_constants = Model_.normalizing_constants;
                                                                                                                                            +
                                                                                                                                            474  first_calc_done = Model_.first_calc_done;
                                                                                                                                            +
                                                                                                                                            475  transform_model_fun = Model_.transform_model_fun;
                                                                                                                                            +
                                                                                                                                            476  transform_model_term_names = Model_.transform_model_term_names;
                                                                                                                                            +
                                                                                                                                            477 
                                                                                                                                            +
                                                                                                                                            478  // Counters are shared
                                                                                                                                            +
                                                                                                                                            479  support_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            480  counter_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            481 
                                                                                                                                            +
                                                                                                                                            482  // Rules are shared
                                                                                                                                            +
                                                                                                                                            483  support_fun.set_rules(rules);
                                                                                                                                            +
                                                                                                                                            484  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            +
                                                                                                                                            485 
                                                                                                                                            +
                                                                                                                                            486  }
                                                                                                                                            +
                                                                                                                                            487 
                                                                                                                                            +
                                                                                                                                            488  return *this;
                                                                                                                                            +
                                                                                                                                            489 
                                                                                                                                            +
                                                                                                                                            490 }
                                                                                                                                            +
                                                                                                                                            491 
                                                                                                                                            +
                                                                                                                                            492 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            494  with_pset = true;
                                                                                                                                            +
                                                                                                                                            495  return;
                                                                                                                                            +
                                                                                                                                            496 }
                                                                                                                                            +
                                                                                                                                            497 
                                                                                                                                            +
                                                                                                                                            498 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            500  const Array_Type & Array_
                                                                                                                                            +
                                                                                                                                            501 ) {
                                                                                                                                            +
                                                                                                                                            502  return this->counters->gen_hash(Array_);
                                                                                                                                            +
                                                                                                                                            503 }
                                                                                                                                            +
                                                                                                                                            504 
                                                                                                                                            +
                                                                                                                                            505 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            508 ) {
                                                                                                                                            +
                                                                                                                                            509 
                                                                                                                                            +
                                                                                                                                            510  counters->add_counter(counter, Data_Counter_Type());
                                                                                                                                            +
                                                                                                                                            511  return;
                                                                                                                                            +
                                                                                                                                            512 }
                                                                                                                                            +
                                                                                                                                            513 
                                                                                                                                            +
                                                                                                                                            514 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + + +
                                                                                                                                            518  Data_Counter_Type data_
                                                                                                                                            +
                                                                                                                                            519 ) {
                                                                                                                                            +
                                                                                                                                            520 
                                                                                                                                            +
                                                                                                                                            521  counters->add_counter(
                                                                                                                                            +
                                                                                                                                            522  count_fun_,
                                                                                                                                            +
                                                                                                                                            523  init_fun_,
                                                                                                                                            +
                                                                                                                                            524  data_
                                                                                                                                            +
                                                                                                                                            525  );
                                                                                                                                            +
                                                                                                                                            526 
                                                                                                                                            +
                                                                                                                                            527  return;
                                                                                                                                            +
                                                                                                                                            528 
                                                                                                                                            +
                                                                                                                                            529 }
                                                                                                                                            +
                                                                                                                                            530 
                                                                                                                                            +
                                                                                                                                            531 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            534 ) {
                                                                                                                                            +
                                                                                                                                            535 
                                                                                                                                            +
                                                                                                                                            536  if (delete_counters) {
                                                                                                                                            +
                                                                                                                                            537  delete counters;
                                                                                                                                            +
                                                                                                                                            538  delete_counters = false;
                                                                                                                                            +
                                                                                                                                            539  }
                                                                                                                                            +
                                                                                                                                            540 
                                                                                                                                            +
                                                                                                                                            541  this->counters = counters_;
                                                                                                                                            +
                                                                                                                                            542  support_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            543  counter_fun.set_counters(counters);
                                                                                                                                            +
                                                                                                                                            544 
                                                                                                                                            +
                                                                                                                                            545  return;
                                                                                                                                            +
                                                                                                                                            546 
                                                                                                                                            +
                                                                                                                                            547 }
                                                                                                                                            +
                                                                                                                                            548 
                                                                                                                                            +
                                                                                                                                            549 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            552 ) {
                                                                                                                                            +
                                                                                                                                            553 
                                                                                                                                            +
                                                                                                                                            554  counters->add_hash(fun_);
                                                                                                                                            +
                                                                                                                                            555 
                                                                                                                                            +
                                                                                                                                            556 }
                                                                                                                                            +
                                                                                                                                            557 
                                                                                                                                            +
                                                                                                                                            559 
                                                                                                                                            +
                                                                                                                                            560 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            563 ) {
                                                                                                                                            +
                                                                                                                                            564 
                                                                                                                                            +
                                                                                                                                            565  rules->add_rule(rules, Data_Rule_Type());
                                                                                                                                            +
                                                                                                                                            566  return;
                                                                                                                                            +
                                                                                                                                            567 }
                                                                                                                                            +
                                                                                                                                            568 
                                                                                                                                            +
                                                                                                                                            569 
                                                                                                                                            +
                                                                                                                                            570 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            573 ) {
                                                                                                                                            574 
                                                                                                                                            -
                                                                                                                                            575  this->rules = rules_;
                                                                                                                                            -
                                                                                                                                            576  this->delete_rules = false;
                                                                                                                                            +
                                                                                                                                            575  if (delete_rules)
                                                                                                                                            +
                                                                                                                                            576  delete rules;
                                                                                                                                            577 
                                                                                                                                            -
                                                                                                                                            578  support_fun.set_rules(rules);
                                                                                                                                            -
                                                                                                                                            579  return;
                                                                                                                                            +
                                                                                                                                            578  this->rules = rules_;
                                                                                                                                            +
                                                                                                                                            579  this->delete_rules = false;
                                                                                                                                            580 
                                                                                                                                            -
                                                                                                                                            581 }
                                                                                                                                            -
                                                                                                                                            582 
                                                                                                                                            -
                                                                                                                                            584 
                                                                                                                                            -
                                                                                                                                            585 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            588 ) {
                                                                                                                                            -
                                                                                                                                            589 
                                                                                                                                            -
                                                                                                                                            590  rules_dyn->add_rule(rules_, Data_Rule_Dyn_Type());
                                                                                                                                            -
                                                                                                                                            591  return;
                                                                                                                                            -
                                                                                                                                            592 }
                                                                                                                                            -
                                                                                                                                            593 
                                                                                                                                            -
                                                                                                                                            594 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            597  Data_Rule_Dyn_Type data_
                                                                                                                                            -
                                                                                                                                            598 ) {
                                                                                                                                            -
                                                                                                                                            599 
                                                                                                                                            -
                                                                                                                                            600  rules_dyn->add_rule(
                                                                                                                                            -
                                                                                                                                            601  rule_fun_,
                                                                                                                                            -
                                                                                                                                            602  data_
                                                                                                                                            -
                                                                                                                                            603  );
                                                                                                                                            -
                                                                                                                                            604 
                                                                                                                                            -
                                                                                                                                            605  return;
                                                                                                                                            -
                                                                                                                                            606 
                                                                                                                                            -
                                                                                                                                            607 }
                                                                                                                                            -
                                                                                                                                            608 
                                                                                                                                            -
                                                                                                                                            609 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            612 ) {
                                                                                                                                            -
                                                                                                                                            613 
                                                                                                                                            -
                                                                                                                                            614  if (delete_rules_dyn)
                                                                                                                                            -
                                                                                                                                            615  delete rules_dyn;
                                                                                                                                            +
                                                                                                                                            581  support_fun.set_rules(rules);
                                                                                                                                            +
                                                                                                                                            582  return;
                                                                                                                                            +
                                                                                                                                            583 
                                                                                                                                            +
                                                                                                                                            584 }
                                                                                                                                            +
                                                                                                                                            585 
                                                                                                                                            +
                                                                                                                                            587 
                                                                                                                                            +
                                                                                                                                            588 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            591 ) {
                                                                                                                                            +
                                                                                                                                            592 
                                                                                                                                            +
                                                                                                                                            593  rules_dyn->add_rule(rules_, Data_Rule_Dyn_Type());
                                                                                                                                            +
                                                                                                                                            594  return;
                                                                                                                                            +
                                                                                                                                            595 }
                                                                                                                                            +
                                                                                                                                            596 
                                                                                                                                            +
                                                                                                                                            597 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            600  Data_Rule_Dyn_Type data_
                                                                                                                                            +
                                                                                                                                            601 ) {
                                                                                                                                            +
                                                                                                                                            602 
                                                                                                                                            +
                                                                                                                                            603  rules_dyn->add_rule(
                                                                                                                                            +
                                                                                                                                            604  rule_fun_,
                                                                                                                                            +
                                                                                                                                            605  data_
                                                                                                                                            +
                                                                                                                                            606  );
                                                                                                                                            +
                                                                                                                                            607 
                                                                                                                                            +
                                                                                                                                            608  return;
                                                                                                                                            +
                                                                                                                                            609 
                                                                                                                                            +
                                                                                                                                            610 }
                                                                                                                                            +
                                                                                                                                            611 
                                                                                                                                            +
                                                                                                                                            612 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            615 ) {
                                                                                                                                            616 
                                                                                                                                            -
                                                                                                                                            617  this->rules_dyn = rules_;
                                                                                                                                            -
                                                                                                                                            618  this->delete_rules_dyn = false;
                                                                                                                                            -
                                                                                                                                            619  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            -
                                                                                                                                            620  return;
                                                                                                                                            -
                                                                                                                                            621 
                                                                                                                                            -
                                                                                                                                            622 }
                                                                                                                                            -
                                                                                                                                            623 
                                                                                                                                            -
                                                                                                                                            625 
                                                                                                                                            -
                                                                                                                                            626 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            627 inline size_t
                                                                                                                                            - -
                                                                                                                                            629  const Array_Type & Array_,
                                                                                                                                            -
                                                                                                                                            630  bool force_new
                                                                                                                                            -
                                                                                                                                            631 ) {
                                                                                                                                            -
                                                                                                                                            632 
                                                                                                                                            -
                                                                                                                                            633  // Array counts (target statistics)
                                                                                                                                            -
                                                                                                                                            634  counter_fun.reset_array(&Array_);
                                                                                                                                            +
                                                                                                                                            617  if (delete_rules_dyn)
                                                                                                                                            +
                                                                                                                                            618  delete rules_dyn;
                                                                                                                                            +
                                                                                                                                            619 
                                                                                                                                            +
                                                                                                                                            620  this->rules_dyn = rules_;
                                                                                                                                            +
                                                                                                                                            621  this->delete_rules_dyn = false;
                                                                                                                                            +
                                                                                                                                            622  support_fun.set_rules_dyn(rules_dyn);
                                                                                                                                            +
                                                                                                                                            623  return;
                                                                                                                                            +
                                                                                                                                            624 
                                                                                                                                            +
                                                                                                                                            625 }
                                                                                                                                            +
                                                                                                                                            626 
                                                                                                                                            +
                                                                                                                                            628 
                                                                                                                                            +
                                                                                                                                            629 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            630 inline size_t
                                                                                                                                            + +
                                                                                                                                            632  const Array_Type & Array_,
                                                                                                                                            +
                                                                                                                                            633  bool force_new
                                                                                                                                            +
                                                                                                                                            634 ) {
                                                                                                                                            635 
                                                                                                                                            -
                                                                                                                                            636  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            637  {
                                                                                                                                            -
                                                                                                                                            638 
                                                                                                                                            -
                                                                                                                                            639  auto tmpcounts = counter_fun.count_all();
                                                                                                                                            -
                                                                                                                                            640  stats_target.emplace_back(
                                                                                                                                            -
                                                                                                                                            641  transform_model_fun(&tmpcounts[0u], tmpcounts.size())
                                                                                                                                            -
                                                                                                                                            642  );
                                                                                                                                            -
                                                                                                                                            643 
                                                                                                                                            -
                                                                                                                                            644  } else
                                                                                                                                            -
                                                                                                                                            645  stats_target.push_back(counter_fun.count_all());
                                                                                                                                            -
                                                                                                                                            646 
                                                                                                                                            -
                                                                                                                                            647  // If the data hasn't been analyzed earlier, then we need to compute
                                                                                                                                            -
                                                                                                                                            648  // the support
                                                                                                                                            -
                                                                                                                                            649  std::vector< double > key = counters->gen_hash(Array_);
                                                                                                                                            -
                                                                                                                                            650  MapVec_type< double, size_t >::const_iterator locator = keys2support.find(key);
                                                                                                                                            -
                                                                                                                                            651  if (force_new | (locator == keys2support.end()))
                                                                                                                                            -
                                                                                                                                            652  {
                                                                                                                                            -
                                                                                                                                            653 
                                                                                                                                            -
                                                                                                                                            654  // Current size of the support stats
                                                                                                                                            -
                                                                                                                                            655  size_t stats_support_size = stats_support.size();
                                                                                                                                            -
                                                                                                                                            656 
                                                                                                                                            -
                                                                                                                                            657  // Adding to the map
                                                                                                                                            -
                                                                                                                                            658  keys2support[key] = stats_support_sizes.size();
                                                                                                                                            -
                                                                                                                                            659  stats_support_n_arrays.push_back(1u); // How many elements now
                                                                                                                                            -
                                                                                                                                            660  arrays2support.push_back(stats_support_sizes.size()); // Map of the array id to the support
                                                                                                                                            -
                                                                                                                                            661 
                                                                                                                                            -
                                                                                                                                            662  // Computing support using the counters included in the model
                                                                                                                                            -
                                                                                                                                            663  support_fun.reset_array(Array_);
                                                                                                                                            +
                                                                                                                                            636  // Array counts (target statistics)
                                                                                                                                            +
                                                                                                                                            637  counter_fun.reset_array(&Array_);
                                                                                                                                            +
                                                                                                                                            638 
                                                                                                                                            +
                                                                                                                                            639  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            640  {
                                                                                                                                            +
                                                                                                                                            641 
                                                                                                                                            +
                                                                                                                                            642  auto tmpcounts = counter_fun.count_all();
                                                                                                                                            +
                                                                                                                                            643  stats_target.emplace_back(
                                                                                                                                            +
                                                                                                                                            644  transform_model_fun(&tmpcounts[0u], tmpcounts.size())
                                                                                                                                            +
                                                                                                                                            645  );
                                                                                                                                            +
                                                                                                                                            646 
                                                                                                                                            +
                                                                                                                                            647  } else
                                                                                                                                            +
                                                                                                                                            648  stats_target.push_back(counter_fun.count_all());
                                                                                                                                            +
                                                                                                                                            649 
                                                                                                                                            +
                                                                                                                                            650  // If the data hasn't been analyzed earlier, then we need to compute
                                                                                                                                            +
                                                                                                                                            651  // the support
                                                                                                                                            +
                                                                                                                                            652  std::vector< double > key = counters->gen_hash(Array_);
                                                                                                                                            +
                                                                                                                                            653  MapVec_type< double, size_t >::const_iterator locator = keys2support.find(key);
                                                                                                                                            +
                                                                                                                                            654  if (force_new | (locator == keys2support.end()))
                                                                                                                                            +
                                                                                                                                            655  {
                                                                                                                                            +
                                                                                                                                            656 
                                                                                                                                            +
                                                                                                                                            657  // Current size of the support stats
                                                                                                                                            +
                                                                                                                                            658  size_t stats_support_size = stats_support.size();
                                                                                                                                            +
                                                                                                                                            659 
                                                                                                                                            +
                                                                                                                                            660  // Adding to the map
                                                                                                                                            +
                                                                                                                                            661  keys2support[key] = stats_support_sizes.size();
                                                                                                                                            +
                                                                                                                                            662  stats_support_n_arrays.push_back(1u); // How many elements now
                                                                                                                                            +
                                                                                                                                            663  arrays2support.push_back(stats_support_sizes.size()); // Map of the array id to the support
                                                                                                                                            664 
                                                                                                                                            -
                                                                                                                                            667  if (with_pset)
                                                                                                                                            -
                                                                                                                                            668  {
                                                                                                                                            -
                                                                                                                                            669 
                                                                                                                                            -
                                                                                                                                            670  // Making space for storing the support
                                                                                                                                            -
                                                                                                                                            671  pset_arrays.resize(pset_arrays.size() + 1u);
                                                                                                                                            -
                                                                                                                                            672 
                                                                                                                                            -
                                                                                                                                            673  // Current size of the powerset
                                                                                                                                            -
                                                                                                                                            674  size_t pset_stats_size = pset_stats.size();
                                                                                                                                            -
                                                                                                                                            675 
                                                                                                                                            -
                                                                                                                                            676  try
                                                                                                                                            -
                                                                                                                                            677  {
                                                                                                                                            -
                                                                                                                                            678 
                                                                                                                                            -
                                                                                                                                            679  support_fun.calc(
                                                                                                                                            -
                                                                                                                                            680  &(pset_arrays[pset_arrays.size() - 1u]),
                                                                                                                                            -
                                                                                                                                            681  &pset_stats
                                                                                                                                            -
                                                                                                                                            682  );
                                                                                                                                            -
                                                                                                                                            683 
                                                                                                                                            -
                                                                                                                                            684  }
                                                                                                                                            -
                                                                                                                                            685  catch (const std::exception& e)
                                                                                                                                            -
                                                                                                                                            686  {
                                                                                                                                            -
                                                                                                                                            687 
                                                                                                                                            -
                                                                                                                                            688  printf_barry(
                                                                                                                                            -
                                                                                                                                            689  "A problem ocurred while trying to add the array (and recording the powerset). "
                                                                                                                                            -
                                                                                                                                            690  );
                                                                                                                                            -
                                                                                                                                            691  printf_barry("with error %s\n", e.what());
                                                                                                                                            -
                                                                                                                                            692  printf_barry("Here is the array that generated the error.\n");
                                                                                                                                            -
                                                                                                                                            693  Array_.print();
                                                                                                                                            -
                                                                                                                                            694  throw std::logic_error("");
                                                                                                                                            -
                                                                                                                                            695 
                                                                                                                                            -
                                                                                                                                            696  }
                                                                                                                                            -
                                                                                                                                            697 
                                                                                                                                            -
                                                                                                                                            698  // Recording the number of elements
                                                                                                                                            -
                                                                                                                                            699  pset_locations.push_back(
                                                                                                                                            -
                                                                                                                                            700  pset_locations.size() == 0u ?
                                                                                                                                            -
                                                                                                                                            701  0u :
                                                                                                                                            -
                                                                                                                                            702  pset_locations.back() + pset_sizes.back()
                                                                                                                                            -
                                                                                                                                            703  );
                                                                                                                                            -
                                                                                                                                            704 
                                                                                                                                            -
                                                                                                                                            705  pset_sizes.push_back(
                                                                                                                                            -
                                                                                                                                            706  (pset_stats.size() - pset_stats_size) / (counter_fun.size())
                                                                                                                                            -
                                                                                                                                            707  );
                                                                                                                                            -
                                                                                                                                            708 
                                                                                                                                            -
                                                                                                                                            709 
                                                                                                                                            -
                                                                                                                                            710 
                                                                                                                                            -
                                                                                                                                            711 
                                                                                                                                            -
                                                                                                                                            712  }
                                                                                                                                            -
                                                                                                                                            713  else
                                                                                                                                            -
                                                                                                                                            714  {
                                                                                                                                            -
                                                                                                                                            715  try
                                                                                                                                            -
                                                                                                                                            716  {
                                                                                                                                            -
                                                                                                                                            717 
                                                                                                                                            -
                                                                                                                                            718  support_fun.calc();
                                                                                                                                            -
                                                                                                                                            719 
                                                                                                                                            -
                                                                                                                                            720  }
                                                                                                                                            -
                                                                                                                                            721  catch (const std::exception& e)
                                                                                                                                            -
                                                                                                                                            722  {
                                                                                                                                            -
                                                                                                                                            723 
                                                                                                                                            -
                                                                                                                                            724  printf_barry(
                                                                                                                                            -
                                                                                                                                            725  "A problem ocurred while trying to add the array (and recording the powerset). "
                                                                                                                                            -
                                                                                                                                            726  );
                                                                                                                                            -
                                                                                                                                            727  printf_barry("with error %s\n", e.what());
                                                                                                                                            -
                                                                                                                                            728  printf_barry("Here is the array that generated the error.\n");
                                                                                                                                            -
                                                                                                                                            729  Array_.print();
                                                                                                                                            -
                                                                                                                                            730  throw std::logic_error("");
                                                                                                                                            -
                                                                                                                                            731 
                                                                                                                                            -
                                                                                                                                            732  }
                                                                                                                                            -
                                                                                                                                            733  }
                                                                                                                                            -
                                                                                                                                            734 
                                                                                                                                            -
                                                                                                                                            735  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            736  {
                                                                                                                                            -
                                                                                                                                            737  auto tmpsupport = support_fun.get_counts();
                                                                                                                                            -
                                                                                                                                            738  size_t k = counter_fun.size();
                                                                                                                                            -
                                                                                                                                            739  size_t n = tmpsupport.size() / (k + 1);
                                                                                                                                            -
                                                                                                                                            740 
                                                                                                                                            -
                                                                                                                                            741  std::vector< double > s_new(0u);
                                                                                                                                            -
                                                                                                                                            742  s_new.reserve(tmpsupport.size());
                                                                                                                                            +
                                                                                                                                            665  // Computing support using the counters included in the model
                                                                                                                                            +
                                                                                                                                            666  support_fun.reset_array(Array_);
                                                                                                                                            +
                                                                                                                                            667 
                                                                                                                                            +
                                                                                                                                            670  if (with_pset)
                                                                                                                                            +
                                                                                                                                            671  {
                                                                                                                                            +
                                                                                                                                            672 
                                                                                                                                            +
                                                                                                                                            673  // Making space for storing the support
                                                                                                                                            +
                                                                                                                                            674  pset_arrays.resize(pset_arrays.size() + 1u);
                                                                                                                                            +
                                                                                                                                            675 
                                                                                                                                            +
                                                                                                                                            676  // Current size of the powerset
                                                                                                                                            +
                                                                                                                                            677  size_t pset_stats_size = pset_stats.size();
                                                                                                                                            +
                                                                                                                                            678 
                                                                                                                                            +
                                                                                                                                            679  try
                                                                                                                                            +
                                                                                                                                            680  {
                                                                                                                                            +
                                                                                                                                            681 
                                                                                                                                            +
                                                                                                                                            682  support_fun.calc(
                                                                                                                                            +
                                                                                                                                            683  &(pset_arrays[pset_arrays.size() - 1u]),
                                                                                                                                            +
                                                                                                                                            684  &pset_stats
                                                                                                                                            +
                                                                                                                                            685  );
                                                                                                                                            +
                                                                                                                                            686 
                                                                                                                                            +
                                                                                                                                            687  }
                                                                                                                                            +
                                                                                                                                            688  catch (const std::exception& e)
                                                                                                                                            +
                                                                                                                                            689  {
                                                                                                                                            +
                                                                                                                                            690 
                                                                                                                                            +
                                                                                                                                            691  printf_barry(
                                                                                                                                            +
                                                                                                                                            692  "A problem ocurred while trying to add the array (and recording the powerset). "
                                                                                                                                            +
                                                                                                                                            693  );
                                                                                                                                            +
                                                                                                                                            694  printf_barry("with error %s\n", e.what());
                                                                                                                                            +
                                                                                                                                            695  printf_barry("Here is the array that generated the error.\n");
                                                                                                                                            +
                                                                                                                                            696  Array_.print();
                                                                                                                                            +
                                                                                                                                            697  throw std::logic_error("");
                                                                                                                                            +
                                                                                                                                            698 
                                                                                                                                            +
                                                                                                                                            699  }
                                                                                                                                            +
                                                                                                                                            700 
                                                                                                                                            +
                                                                                                                                            701  // Recording the number of elements
                                                                                                                                            +
                                                                                                                                            702  pset_locations.push_back(
                                                                                                                                            +
                                                                                                                                            703  pset_locations.size() == 0u ?
                                                                                                                                            +
                                                                                                                                            704  0u :
                                                                                                                                            +
                                                                                                                                            705  pset_locations.back() + pset_sizes.back()
                                                                                                                                            +
                                                                                                                                            706  );
                                                                                                                                            +
                                                                                                                                            707 
                                                                                                                                            +
                                                                                                                                            708  pset_sizes.push_back(
                                                                                                                                            +
                                                                                                                                            709  (pset_stats.size() - pset_stats_size) / (counter_fun.size())
                                                                                                                                            +
                                                                                                                                            710  );
                                                                                                                                            +
                                                                                                                                            711 
                                                                                                                                            +
                                                                                                                                            712 
                                                                                                                                            +
                                                                                                                                            713 
                                                                                                                                            +
                                                                                                                                            714 
                                                                                                                                            +
                                                                                                                                            715  }
                                                                                                                                            +
                                                                                                                                            716  else
                                                                                                                                            +
                                                                                                                                            717  {
                                                                                                                                            +
                                                                                                                                            718  try
                                                                                                                                            +
                                                                                                                                            719  {
                                                                                                                                            +
                                                                                                                                            720 
                                                                                                                                            +
                                                                                                                                            721  support_fun.calc();
                                                                                                                                            +
                                                                                                                                            722 
                                                                                                                                            +
                                                                                                                                            723  }
                                                                                                                                            +
                                                                                                                                            724  catch (const std::exception& e)
                                                                                                                                            +
                                                                                                                                            725  {
                                                                                                                                            +
                                                                                                                                            726 
                                                                                                                                            +
                                                                                                                                            727  printf_barry(
                                                                                                                                            +
                                                                                                                                            728  "A problem ocurred while trying to add the array (and recording the powerset). "
                                                                                                                                            +
                                                                                                                                            729  );
                                                                                                                                            +
                                                                                                                                            730  printf_barry("with error %s\n", e.what());
                                                                                                                                            +
                                                                                                                                            731  printf_barry("Here is the array that generated the error.\n");
                                                                                                                                            +
                                                                                                                                            732  Array_.print();
                                                                                                                                            +
                                                                                                                                            733  throw std::logic_error("");
                                                                                                                                            +
                                                                                                                                            734 
                                                                                                                                            +
                                                                                                                                            735  }
                                                                                                                                            +
                                                                                                                                            736  }
                                                                                                                                            +
                                                                                                                                            737 
                                                                                                                                            +
                                                                                                                                            738  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            739  {
                                                                                                                                            +
                                                                                                                                            740  auto tmpsupport = support_fun.get_counts();
                                                                                                                                            +
                                                                                                                                            741  size_t k = counter_fun.size();
                                                                                                                                            +
                                                                                                                                            742  size_t n = tmpsupport.size() / (k + 1);
                                                                                                                                            743 
                                                                                                                                            -
                                                                                                                                            744  for (size_t i = 0u; i < n; ++i)
                                                                                                                                            -
                                                                                                                                            745  {
                                                                                                                                            +
                                                                                                                                            744  std::vector< double > s_new(0u);
                                                                                                                                            +
                                                                                                                                            745  s_new.reserve(tmpsupport.size());
                                                                                                                                            746 
                                                                                                                                            -
                                                                                                                                            747  // Appending size
                                                                                                                                            -
                                                                                                                                            748  s_new.push_back(tmpsupport[i * (k + 1u)]);
                                                                                                                                            +
                                                                                                                                            747  for (size_t i = 0u; i < n; ++i)
                                                                                                                                            +
                                                                                                                                            748  {
                                                                                                                                            749 
                                                                                                                                            -
                                                                                                                                            750  // Applying transformation and adding to the new set
                                                                                                                                            -
                                                                                                                                            751  auto res = transform_model_fun(&tmpsupport[i * (k + 1u) + 1u], k);
                                                                                                                                            -
                                                                                                                                            752  std::copy(res.begin(), res.end(), std::back_inserter(s_new));
                                                                                                                                            -
                                                                                                                                            753 
                                                                                                                                            -
                                                                                                                                            754  }
                                                                                                                                            -
                                                                                                                                            755 
                                                                                                                                            -
                                                                                                                                            756  for (auto & s : s_new)
                                                                                                                                            -
                                                                                                                                            757  stats_support.push_back(s);
                                                                                                                                            -
                                                                                                                                            758 
                                                                                                                                            -
                                                                                                                                            759 
                                                                                                                                            -
                                                                                                                                            760  } else {
                                                                                                                                            -
                                                                                                                                            761  for (const auto & s: support_fun.get_counts())
                                                                                                                                            -
                                                                                                                                            762  stats_support.push_back(s);
                                                                                                                                            -
                                                                                                                                            763  }
                                                                                                                                            -
                                                                                                                                            764 
                                                                                                                                            -
                                                                                                                                            765  // Making room for the previous parameters. This will be used to check if
                                                                                                                                            -
                                                                                                                                            766  // the normalizing constant has been updated or not.
                                                                                                                                            -
                                                                                                                                            767  params_last.push_back(stats_target[0u]);
                                                                                                                                            -
                                                                                                                                            768  normalizing_constants.push_back(0.0);
                                                                                                                                            -
                                                                                                                                            769  first_calc_done.push_back(false);
                                                                                                                                            -
                                                                                                                                            770 
                                                                                                                                            -
                                                                                                                                            771  // Incrementing the size of the support set
                                                                                                                                            -
                                                                                                                                            772  if (stats_support_sizes.size() == 0u)
                                                                                                                                            -
                                                                                                                                            773  {
                                                                                                                                            -
                                                                                                                                            774  stats_support_sizes_acc.push_back(0u);
                                                                                                                                            -
                                                                                                                                            775  } else {
                                                                                                                                            -
                                                                                                                                            776  stats_support_sizes_acc.push_back(
                                                                                                                                            -
                                                                                                                                            777  stats_support_sizes.back() +
                                                                                                                                            -
                                                                                                                                            778  stats_support_sizes_acc.back()
                                                                                                                                            -
                                                                                                                                            779  );
                                                                                                                                            -
                                                                                                                                            780  }
                                                                                                                                            -
                                                                                                                                            781 
                                                                                                                                            -
                                                                                                                                            782 
                                                                                                                                            -
                                                                                                                                            783  stats_support_sizes.push_back(
                                                                                                                                            -
                                                                                                                                            784 
                                                                                                                                            -
                                                                                                                                            785  (stats_support.size() - stats_support_size)/
                                                                                                                                            -
                                                                                                                                            786  (counter_fun.size() + 1u)
                                                                                                                                            -
                                                                                                                                            787 
                                                                                                                                            -
                                                                                                                                            788  );
                                                                                                                                            -
                                                                                                                                            789 
                                                                                                                                            -
                                                                                                                                            790  return arrays2support.size() - 1u;
                                                                                                                                            -
                                                                                                                                            791 
                                                                                                                                            -
                                                                                                                                            792  }
                                                                                                                                            -
                                                                                                                                            793 
                                                                                                                                            -
                                                                                                                                            794  // Increasing the number of arrays in that stat
                                                                                                                                            -
                                                                                                                                            795  ++stats_support_n_arrays[locator->second];
                                                                                                                                            +
                                                                                                                                            750  // Appending size
                                                                                                                                            +
                                                                                                                                            751  s_new.push_back(tmpsupport[i * (k + 1u)]);
                                                                                                                                            +
                                                                                                                                            752 
                                                                                                                                            +
                                                                                                                                            753  // Applying transformation and adding to the new set
                                                                                                                                            +
                                                                                                                                            754  auto res = transform_model_fun(&tmpsupport[i * (k + 1u) + 1u], k);
                                                                                                                                            +
                                                                                                                                            755  std::copy(res.begin(), res.end(), std::back_inserter(s_new));
                                                                                                                                            +
                                                                                                                                            756 
                                                                                                                                            +
                                                                                                                                            757  }
                                                                                                                                            +
                                                                                                                                            758 
                                                                                                                                            +
                                                                                                                                            759  for (auto & s : s_new)
                                                                                                                                            +
                                                                                                                                            760  stats_support.push_back(s);
                                                                                                                                            +
                                                                                                                                            761 
                                                                                                                                            +
                                                                                                                                            762 
                                                                                                                                            +
                                                                                                                                            763  } else {
                                                                                                                                            +
                                                                                                                                            764  for (const auto & s: support_fun.get_counts())
                                                                                                                                            +
                                                                                                                                            765  stats_support.push_back(s);
                                                                                                                                            +
                                                                                                                                            766  }
                                                                                                                                            +
                                                                                                                                            767 
                                                                                                                                            +
                                                                                                                                            768  // Making room for the previous parameters. This will be used to check if
                                                                                                                                            +
                                                                                                                                            769  // the normalizing constant has been updated or not.
                                                                                                                                            +
                                                                                                                                            770  params_last.push_back(stats_target[0u]);
                                                                                                                                            +
                                                                                                                                            771  normalizing_constants.push_back(0.0);
                                                                                                                                            +
                                                                                                                                            772  first_calc_done.push_back(false);
                                                                                                                                            +
                                                                                                                                            773 
                                                                                                                                            +
                                                                                                                                            774  // Incrementing the size of the support set
                                                                                                                                            +
                                                                                                                                            775  if (stats_support_sizes.size() == 0u)
                                                                                                                                            +
                                                                                                                                            776  {
                                                                                                                                            +
                                                                                                                                            777  stats_support_sizes_acc.push_back(0u);
                                                                                                                                            +
                                                                                                                                            778  } else {
                                                                                                                                            +
                                                                                                                                            779  stats_support_sizes_acc.push_back(
                                                                                                                                            +
                                                                                                                                            780  stats_support_sizes.back() +
                                                                                                                                            +
                                                                                                                                            781  stats_support_sizes_acc.back()
                                                                                                                                            +
                                                                                                                                            782  );
                                                                                                                                            +
                                                                                                                                            783  }
                                                                                                                                            +
                                                                                                                                            784 
                                                                                                                                            +
                                                                                                                                            785 
                                                                                                                                            +
                                                                                                                                            786  stats_support_sizes.push_back(
                                                                                                                                            +
                                                                                                                                            787 
                                                                                                                                            +
                                                                                                                                            788  (stats_support.size() - stats_support_size)/
                                                                                                                                            +
                                                                                                                                            789  (counter_fun.size() + 1u)
                                                                                                                                            +
                                                                                                                                            790 
                                                                                                                                            +
                                                                                                                                            791  );
                                                                                                                                            +
                                                                                                                                            792 
                                                                                                                                            +
                                                                                                                                            793  return arrays2support.size() - 1u;
                                                                                                                                            +
                                                                                                                                            794 
                                                                                                                                            +
                                                                                                                                            795  }
                                                                                                                                            796 
                                                                                                                                            -
                                                                                                                                            797  // Adding the corresponding map
                                                                                                                                            -
                                                                                                                                            798  arrays2support.push_back(locator->second);
                                                                                                                                            +
                                                                                                                                            797  // Increasing the number of arrays in that stat
                                                                                                                                            +
                                                                                                                                            798  ++stats_support_n_arrays[locator->second];
                                                                                                                                            799 
                                                                                                                                            -
                                                                                                                                            800  return arrays2support.size() - 1u;
                                                                                                                                            -
                                                                                                                                            801 
                                                                                                                                            -
                                                                                                                                            802 }
                                                                                                                                            -
                                                                                                                                            803 
                                                                                                                                            -
                                                                                                                                            804 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            806  const std::vector<double> & params,
                                                                                                                                            -
                                                                                                                                            807  const size_t & i,
                                                                                                                                            -
                                                                                                                                            808  bool as_log,
                                                                                                                                            -
                                                                                                                                            809  bool no_update_normconst
                                                                                                                                            -
                                                                                                                                            810 ) {
                                                                                                                                            -
                                                                                                                                            811 
                                                                                                                                            -
                                                                                                                                            812  // Checking if the index exists
                                                                                                                                            -
                                                                                                                                            813  if (i >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            814  throw std::range_error("The requested support is out of range");
                                                                                                                                            -
                                                                                                                                            815 
                                                                                                                                            -
                                                                                                                                            816  size_t idx = arrays2support[i];
                                                                                                                                            -
                                                                                                                                            817 
                                                                                                                                            -
                                                                                                                                            818  // Checking if this actually has a change of happening
                                                                                                                                            -
                                                                                                                                            819  if (this->stats_support_sizes[idx] == 0u)
                                                                                                                                            -
                                                                                                                                            820  return as_log ? -std::numeric_limits<double>::infinity() : 0.0;
                                                                                                                                            -
                                                                                                                                            821 
                                                                                                                                            -
                                                                                                                                            822  // Checking if we have updated the normalizing constant or not
                                                                                                                                            -
                                                                                                                                            823  if (!no_update_normconst && (!first_calc_done[idx] || !vec_equal_approx(params, params_last[idx])))
                                                                                                                                            -
                                                                                                                                            824  {
                                                                                                                                            -
                                                                                                                                            825 
                                                                                                                                            -
                                                                                                                                            826  first_calc_done[idx] = true;
                                                                                                                                            -
                                                                                                                                            827 
                                                                                                                                            -
                                                                                                                                            828  size_t k = params.size() + 1u;
                                                                                                                                            -
                                                                                                                                            829  size_t n = stats_support_sizes[idx];
                                                                                                                                            -
                                                                                                                                            830 
                                                                                                                                            -
                                                                                                                                            831  normalizing_constants[idx] = update_normalizing_constant(
                                                                                                                                            -
                                                                                                                                            832  params, &stats_support[
                                                                                                                                            -
                                                                                                                                            833  stats_support_sizes_acc[idx] * k
                                                                                                                                            -
                                                                                                                                            834  ], k, n
                                                                                                                                            -
                                                                                                                                            835  );
                                                                                                                                            -
                                                                                                                                            836 
                                                                                                                                            -
                                                                                                                                            837  params_last[idx] = params;
                                                                                                                                            -
                                                                                                                                            838 
                                                                                                                                            -
                                                                                                                                            839  }
                                                                                                                                            -
                                                                                                                                            840 
                                                                                                                                            -
                                                                                                                                            841  return likelihood_(
                                                                                                                                            -
                                                                                                                                            842  &stats_target[i],
                                                                                                                                            -
                                                                                                                                            843  params,
                                                                                                                                            -
                                                                                                                                            844  normalizing_constants[idx],
                                                                                                                                            -
                                                                                                                                            845  nterms(),
                                                                                                                                            -
                                                                                                                                            846  as_log
                                                                                                                                            -
                                                                                                                                            847  );
                                                                                                                                            -
                                                                                                                                            848 
                                                                                                                                            -
                                                                                                                                            849 }
                                                                                                                                            -
                                                                                                                                            850 
                                                                                                                                            -
                                                                                                                                            851 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            853  const std::vector<double> & params,
                                                                                                                                            -
                                                                                                                                            854  const Array_Type & Array_,
                                                                                                                                            -
                                                                                                                                            855  int i,
                                                                                                                                            -
                                                                                                                                            856  bool as_log,
                                                                                                                                            -
                                                                                                                                            857  bool no_update_normconst
                                                                                                                                            -
                                                                                                                                            858 ) {
                                                                                                                                            -
                                                                                                                                            859 
                                                                                                                                            -
                                                                                                                                            860  // Key of the support set to use
                                                                                                                                            -
                                                                                                                                            861  int loc;
                                                                                                                                            -
                                                                                                                                            862 
                                                                                                                                            -
                                                                                                                                            863  if (i < 0)
                                                                                                                                            -
                                                                                                                                            864  {
                                                                                                                                            +
                                                                                                                                            800  // Adding the corresponding map
                                                                                                                                            +
                                                                                                                                            801  arrays2support.push_back(locator->second);
                                                                                                                                            +
                                                                                                                                            802 
                                                                                                                                            +
                                                                                                                                            803  return arrays2support.size() - 1u;
                                                                                                                                            +
                                                                                                                                            804 
                                                                                                                                            +
                                                                                                                                            805 }
                                                                                                                                            +
                                                                                                                                            806 
                                                                                                                                            +
                                                                                                                                            807 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            809  const std::vector<double> & params,
                                                                                                                                            +
                                                                                                                                            810  const size_t & i,
                                                                                                                                            +
                                                                                                                                            811  bool as_log,
                                                                                                                                            +
                                                                                                                                            812  bool no_update_normconst
                                                                                                                                            +
                                                                                                                                            813 ) {
                                                                                                                                            +
                                                                                                                                            814 
                                                                                                                                            +
                                                                                                                                            815  // Checking if the index exists
                                                                                                                                            +
                                                                                                                                            816  if (i >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            817  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            818 
                                                                                                                                            +
                                                                                                                                            819  size_t idx = arrays2support[i];
                                                                                                                                            +
                                                                                                                                            820 
                                                                                                                                            +
                                                                                                                                            821  // Checking if this actually has a change of happening
                                                                                                                                            +
                                                                                                                                            822  if (this->stats_support_sizes[idx] == 0u)
                                                                                                                                            +
                                                                                                                                            823  return as_log ? -std::numeric_limits<double>::infinity() : 0.0;
                                                                                                                                            +
                                                                                                                                            824 
                                                                                                                                            +
                                                                                                                                            825  // Checking if we have updated the normalizing constant or not
                                                                                                                                            +
                                                                                                                                            826  if (!no_update_normconst && (!first_calc_done[idx] || !vec_equal_approx(params, params_last[idx])))
                                                                                                                                            +
                                                                                                                                            827  {
                                                                                                                                            +
                                                                                                                                            828 
                                                                                                                                            +
                                                                                                                                            829  first_calc_done[idx] = true;
                                                                                                                                            +
                                                                                                                                            830 
                                                                                                                                            +
                                                                                                                                            831  size_t k = params.size() + 1u;
                                                                                                                                            +
                                                                                                                                            832  size_t n = stats_support_sizes[idx];
                                                                                                                                            +
                                                                                                                                            833 
                                                                                                                                            +
                                                                                                                                            834  normalizing_constants[idx] = update_normalizing_constant(
                                                                                                                                            +
                                                                                                                                            835  params, &stats_support[
                                                                                                                                            +
                                                                                                                                            836  stats_support_sizes_acc[idx] * k
                                                                                                                                            +
                                                                                                                                            837  ], k, n
                                                                                                                                            +
                                                                                                                                            838  );
                                                                                                                                            +
                                                                                                                                            839 
                                                                                                                                            +
                                                                                                                                            840  params_last[idx] = params;
                                                                                                                                            +
                                                                                                                                            841 
                                                                                                                                            +
                                                                                                                                            842  }
                                                                                                                                            +
                                                                                                                                            843 
                                                                                                                                            +
                                                                                                                                            844  return likelihood_(
                                                                                                                                            +
                                                                                                                                            845  &stats_target[i],
                                                                                                                                            +
                                                                                                                                            846  params,
                                                                                                                                            +
                                                                                                                                            847  normalizing_constants[idx],
                                                                                                                                            +
                                                                                                                                            848  nterms(),
                                                                                                                                            +
                                                                                                                                            849  as_log
                                                                                                                                            +
                                                                                                                                            850  );
                                                                                                                                            +
                                                                                                                                            851 
                                                                                                                                            +
                                                                                                                                            852 }
                                                                                                                                            +
                                                                                                                                            853 
                                                                                                                                            +
                                                                                                                                            854 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            856  const std::vector<double> & params,
                                                                                                                                            +
                                                                                                                                            857  const Array_Type & Array_,
                                                                                                                                            +
                                                                                                                                            858  int i,
                                                                                                                                            +
                                                                                                                                            859  bool as_log,
                                                                                                                                            +
                                                                                                                                            860  bool no_update_normconst
                                                                                                                                            +
                                                                                                                                            861 ) {
                                                                                                                                            +
                                                                                                                                            862 
                                                                                                                                            +
                                                                                                                                            863  // Key of the support set to use
                                                                                                                                            +
                                                                                                                                            864  int loc;
                                                                                                                                            865 
                                                                                                                                            -
                                                                                                                                            866  std::vector< double > key = counters->gen_hash(Array_);
                                                                                                                                            -
                                                                                                                                            867  MapVec_type< double, size_t >::const_iterator locator = keys2support.find(key);
                                                                                                                                            -
                                                                                                                                            868  if (locator == keys2support.end())
                                                                                                                                            -
                                                                                                                                            869  throw std::range_error(
                                                                                                                                            -
                                                                                                                                            870  "This type of array has not been included in the model."
                                                                                                                                            -
                                                                                                                                            871  );
                                                                                                                                            -
                                                                                                                                            872 
                                                                                                                                            -
                                                                                                                                            873  loc = locator->second;
                                                                                                                                            -
                                                                                                                                            874 
                                                                                                                                            -
                                                                                                                                            875  }
                                                                                                                                            -
                                                                                                                                            876  else
                                                                                                                                            -
                                                                                                                                            877  {
                                                                                                                                            -
                                                                                                                                            878 
                                                                                                                                            -
                                                                                                                                            879  if (static_cast<size_t>(i) >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            880  throw std::range_error(
                                                                                                                                            -
                                                                                                                                            881  "This type of array has not been included in the model."
                                                                                                                                            -
                                                                                                                                            882  );
                                                                                                                                            -
                                                                                                                                            883 
                                                                                                                                            -
                                                                                                                                            884  loc = arrays2support[i];
                                                                                                                                            -
                                                                                                                                            885 
                                                                                                                                            -
                                                                                                                                            886  }
                                                                                                                                            -
                                                                                                                                            887 
                                                                                                                                            -
                                                                                                                                            888  // Checking if this actually has a change of happening
                                                                                                                                            -
                                                                                                                                            889  if (this->stats_support_sizes[loc] == 0u)
                                                                                                                                            -
                                                                                                                                            890  return as_log ? -std::numeric_limits<double>::infinity() : 0.0;
                                                                                                                                            -
                                                                                                                                            891 
                                                                                                                                            -
                                                                                                                                            892  // Counting stats_target
                                                                                                                                            - -
                                                                                                                                            894 
                                                                                                                                            -
                                                                                                                                            895  tmpstats.set_counters(this->counters);
                                                                                                                                            -
                                                                                                                                            896 
                                                                                                                                            -
                                                                                                                                            897  std::vector< double > target_ = tmpstats.count_all();
                                                                                                                                            -
                                                                                                                                            898 
                                                                                                                                            -
                                                                                                                                            899  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            900  target_ = transform_model_fun(&target_[0u], target_.size());
                                                                                                                                            +
                                                                                                                                            866  if (i < 0)
                                                                                                                                            +
                                                                                                                                            867  {
                                                                                                                                            +
                                                                                                                                            868 
                                                                                                                                            +
                                                                                                                                            869  std::vector< double > key = counters->gen_hash(Array_);
                                                                                                                                            +
                                                                                                                                            870  MapVec_type< double, size_t >::const_iterator locator = keys2support.find(key);
                                                                                                                                            +
                                                                                                                                            871  if (locator == keys2support.end())
                                                                                                                                            +
                                                                                                                                            872  throw std::range_error(
                                                                                                                                            +
                                                                                                                                            873  "This type of array has not been included in the model."
                                                                                                                                            +
                                                                                                                                            874  );
                                                                                                                                            +
                                                                                                                                            875 
                                                                                                                                            +
                                                                                                                                            876  loc = locator->second;
                                                                                                                                            +
                                                                                                                                            877 
                                                                                                                                            +
                                                                                                                                            878  }
                                                                                                                                            +
                                                                                                                                            879  else
                                                                                                                                            +
                                                                                                                                            880  {
                                                                                                                                            +
                                                                                                                                            881 
                                                                                                                                            +
                                                                                                                                            882  if (static_cast<size_t>(i) >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            883  throw std::range_error(
                                                                                                                                            +
                                                                                                                                            884  "This type of array has not been included in the model."
                                                                                                                                            +
                                                                                                                                            885  );
                                                                                                                                            +
                                                                                                                                            886 
                                                                                                                                            +
                                                                                                                                            887  loc = arrays2support[i];
                                                                                                                                            +
                                                                                                                                            888 
                                                                                                                                            +
                                                                                                                                            889  }
                                                                                                                                            +
                                                                                                                                            890 
                                                                                                                                            +
                                                                                                                                            891  // Checking if this actually has a change of happening
                                                                                                                                            +
                                                                                                                                            892  if (this->stats_support_sizes[loc] == 0u)
                                                                                                                                            +
                                                                                                                                            893  return as_log ? -std::numeric_limits<double>::infinity() : 0.0;
                                                                                                                                            +
                                                                                                                                            894 
                                                                                                                                            +
                                                                                                                                            895  // Counting stats_target
                                                                                                                                            + +
                                                                                                                                            897 
                                                                                                                                            +
                                                                                                                                            898  tmpstats.set_counters(this->counters);
                                                                                                                                            +
                                                                                                                                            899 
                                                                                                                                            +
                                                                                                                                            900  std::vector< double > target_ = tmpstats.count_all();
                                                                                                                                            901 
                                                                                                                                            -
                                                                                                                                            902  // Checking if we have updated the normalizing constant or not
                                                                                                                                            -
                                                                                                                                            903  if (!no_update_normconst && (!first_calc_done[loc] || !vec_equal_approx(params, params_last[loc])) )
                                                                                                                                            -
                                                                                                                                            904  {
                                                                                                                                            -
                                                                                                                                            905 
                                                                                                                                            -
                                                                                                                                            906  first_calc_done[loc] = true;
                                                                                                                                            -
                                                                                                                                            907 
                                                                                                                                            -
                                                                                                                                            908  size_t k = params.size() + 1u;
                                                                                                                                            -
                                                                                                                                            909  size_t n = stats_support_sizes[loc];
                                                                                                                                            -
                                                                                                                                            910 
                                                                                                                                            -
                                                                                                                                            911  normalizing_constants[loc] = update_normalizing_constant(
                                                                                                                                            -
                                                                                                                                            912  params, &stats_support[
                                                                                                                                            -
                                                                                                                                            913  stats_support_sizes_acc[loc] * k
                                                                                                                                            -
                                                                                                                                            914  ], k, n
                                                                                                                                            -
                                                                                                                                            915  );
                                                                                                                                            -
                                                                                                                                            916 
                                                                                                                                            -
                                                                                                                                            917  params_last[loc] = params;
                                                                                                                                            -
                                                                                                                                            918 
                                                                                                                                            -
                                                                                                                                            919  }
                                                                                                                                            -
                                                                                                                                            920 
                                                                                                                                            -
                                                                                                                                            921  // Checking if passes the rules
                                                                                                                                            -
                                                                                                                                            922  if (!support_fun.eval_rules_dyn(target_, 0u, 0u))
                                                                                                                                            -
                                                                                                                                            923  return as_log ? -std::numeric_limits<double>::infinity() : 0.0;
                                                                                                                                            -
                                                                                                                                            924 
                                                                                                                                            -
                                                                                                                                            925  return likelihood_(
                                                                                                                                            -
                                                                                                                                            926  &target_[0u],
                                                                                                                                            -
                                                                                                                                            927  params,
                                                                                                                                            -
                                                                                                                                            928  normalizing_constants[loc],
                                                                                                                                            -
                                                                                                                                            929  nterms(),
                                                                                                                                            -
                                                                                                                                            930  as_log
                                                                                                                                            -
                                                                                                                                            931  );
                                                                                                                                            -
                                                                                                                                            932 
                                                                                                                                            -
                                                                                                                                            933 }
                                                                                                                                            -
                                                                                                                                            934 
                                                                                                                                            -
                                                                                                                                            935 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            937  const std::vector<double> & params,
                                                                                                                                            -
                                                                                                                                            938  const std::vector<double> & target_,
                                                                                                                                            -
                                                                                                                                            939  const size_t & i,
                                                                                                                                            -
                                                                                                                                            940  bool as_log,
                                                                                                                                            -
                                                                                                                                            941  bool no_update_normconst
                                                                                                                                            -
                                                                                                                                            942 ) {
                                                                                                                                            -
                                                                                                                                            943 
                                                                                                                                            -
                                                                                                                                            944  // Checking if the index exists
                                                                                                                                            -
                                                                                                                                            945  if (i >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            946  throw std::range_error("The requested support is out of range");
                                                                                                                                            -
                                                                                                                                            947 
                                                                                                                                            -
                                                                                                                                            948  size_t loc = arrays2support[i];
                                                                                                                                            -
                                                                                                                                            949 
                                                                                                                                            -
                                                                                                                                            950  // Checking if passes the rules
                                                                                                                                            -
                                                                                                                                            951  if (!support_fun.eval_rules_dyn(target_, 0u, 0u))
                                                                                                                                            -
                                                                                                                                            952  {
                                                                                                                                            -
                                                                                                                                            953 
                                                                                                                                            -
                                                                                                                                            954  // Concatenating the elements of target_ into aa single string
                                                                                                                                            -
                                                                                                                                            955  std::string target_str = "";
                                                                                                                                            -
                                                                                                                                            956  for (size_t i = 0u; i < target_.size(); ++i)
                                                                                                                                            -
                                                                                                                                            957  target_str += std::to_string(target_[i]) + " ";
                                                                                                                                            -
                                                                                                                                            958 
                                                                                                                                            -
                                                                                                                                            959  throw std::range_error(
                                                                                                                                            -
                                                                                                                                            960  "The array is not in the support set. The array's statistics are: " +
                                                                                                                                            -
                                                                                                                                            961  target_str +
                                                                                                                                            -
                                                                                                                                            962  std::string(".")
                                                                                                                                            -
                                                                                                                                            963  );
                                                                                                                                            -
                                                                                                                                            964  }
                                                                                                                                            -
                                                                                                                                            965 
                                                                                                                                            -
                                                                                                                                            966 
                                                                                                                                            -
                                                                                                                                            967  // Checking if this actually has a change of happening
                                                                                                                                            -
                                                                                                                                            968  if (this->stats_support_sizes[loc] == 0u)
                                                                                                                                            -
                                                                                                                                            969  {
                                                                                                                                            -
                                                                                                                                            970  throw std::logic_error("The support set for this array is empty.");
                                                                                                                                            -
                                                                                                                                            971  }
                                                                                                                                            -
                                                                                                                                            972 
                                                                                                                                            -
                                                                                                                                            973  // Checking if we have updated the normalizing constant or not
                                                                                                                                            -
                                                                                                                                            974  if (!no_update_normconst && (!first_calc_done[loc] || !vec_equal_approx(params, params_last[loc])) ) {
                                                                                                                                            -
                                                                                                                                            975 
                                                                                                                                            -
                                                                                                                                            976  first_calc_done[loc] = true;
                                                                                                                                            -
                                                                                                                                            977 
                                                                                                                                            -
                                                                                                                                            978  size_t k = params.size() + 1u;
                                                                                                                                            -
                                                                                                                                            979  size_t n = stats_support_sizes[loc];
                                                                                                                                            -
                                                                                                                                            980 
                                                                                                                                            -
                                                                                                                                            981  normalizing_constants[loc] = update_normalizing_constant(
                                                                                                                                            -
                                                                                                                                            982  params, &stats_support[
                                                                                                                                            -
                                                                                                                                            983  stats_support_sizes_acc[loc] * k
                                                                                                                                            -
                                                                                                                                            984  ], k, n
                                                                                                                                            -
                                                                                                                                            985  );
                                                                                                                                            -
                                                                                                                                            986 
                                                                                                                                            -
                                                                                                                                            987  params_last[loc] = params;
                                                                                                                                            -
                                                                                                                                            988 
                                                                                                                                            -
                                                                                                                                            989  }
                                                                                                                                            -
                                                                                                                                            990 
                                                                                                                                            -
                                                                                                                                            991  return likelihood_(
                                                                                                                                            -
                                                                                                                                            992  &target_[0u],
                                                                                                                                            -
                                                                                                                                            993  params,
                                                                                                                                            -
                                                                                                                                            994  normalizing_constants[loc],
                                                                                                                                            -
                                                                                                                                            995  nterms(),
                                                                                                                                            -
                                                                                                                                            996  as_log
                                                                                                                                            -
                                                                                                                                            997  );
                                                                                                                                            -
                                                                                                                                            998 
                                                                                                                                            -
                                                                                                                                            999 }
                                                                                                                                            -
                                                                                                                                            1000 
                                                                                                                                            -
                                                                                                                                            1001 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1003  const std::vector<double> & params,
                                                                                                                                            -
                                                                                                                                            1004  const double * target_,
                                                                                                                                            -
                                                                                                                                            1005  const size_t & i,
                                                                                                                                            -
                                                                                                                                            1006  bool as_log,
                                                                                                                                            -
                                                                                                                                            1007  bool no_update_normconst
                                                                                                                                            -
                                                                                                                                            1008 ) {
                                                                                                                                            -
                                                                                                                                            1009 
                                                                                                                                            -
                                                                                                                                            1010  // Checking if the index exists
                                                                                                                                            -
                                                                                                                                            1011  if (i >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            1012  throw std::range_error("The requested support is out of range");
                                                                                                                                            -
                                                                                                                                            1013 
                                                                                                                                            -
                                                                                                                                            1014  size_t loc = arrays2support[i];
                                                                                                                                            -
                                                                                                                                            1015 
                                                                                                                                            -
                                                                                                                                            1016  // Checking if passes the rules
                                                                                                                                            -
                                                                                                                                            1017  if (support_fun.get_rules_dyn()->size() > 0u)
                                                                                                                                            -
                                                                                                                                            1018  {
                                                                                                                                            -
                                                                                                                                            1019 
                                                                                                                                            -
                                                                                                                                            1020  std::vector< double > tmp_target;
                                                                                                                                            -
                                                                                                                                            1021  tmp_target.reserve(nterms());
                                                                                                                                            -
                                                                                                                                            1022  for (size_t t = 0u; t < nterms(); ++t)
                                                                                                                                            -
                                                                                                                                            1023  tmp_target.push_back(*(target_ + t));
                                                                                                                                            -
                                                                                                                                            1024 
                                                                                                                                            -
                                                                                                                                            1025  if (!support_fun.eval_rules_dyn(tmp_target, 0u, 0u))
                                                                                                                                            -
                                                                                                                                            1026  {
                                                                                                                                            -
                                                                                                                                            1027  // Concatenating the elements of target_ into aa single string
                                                                                                                                            -
                                                                                                                                            1028  std::string target_str = "";
                                                                                                                                            -
                                                                                                                                            1029  for (size_t i = 0u; i < nterms(); ++i)
                                                                                                                                            -
                                                                                                                                            1030  target_str += std::to_string((*target_ + i)) + " ";
                                                                                                                                            -
                                                                                                                                            1031 
                                                                                                                                            -
                                                                                                                                            1032  throw std::range_error(
                                                                                                                                            -
                                                                                                                                            1033  "The array is not in the support set. The array's statistics are: " + target_str + std::string(".")
                                                                                                                                            -
                                                                                                                                            1034  );
                                                                                                                                            -
                                                                                                                                            1035  }
                                                                                                                                            -
                                                                                                                                            1036 
                                                                                                                                            -
                                                                                                                                            1037  }
                                                                                                                                            -
                                                                                                                                            1038 
                                                                                                                                            -
                                                                                                                                            1039  // Checking if this actually has a change of happening
                                                                                                                                            -
                                                                                                                                            1040  if (this->stats_support_sizes[loc] == 0u)
                                                                                                                                            -
                                                                                                                                            1041  {
                                                                                                                                            -
                                                                                                                                            1042  throw std::logic_error("The support set for this array is empty.");
                                                                                                                                            -
                                                                                                                                            1043  }
                                                                                                                                            -
                                                                                                                                            1044 
                                                                                                                                            -
                                                                                                                                            1045  // Checking if we have updated the normalizing constant or not
                                                                                                                                            -
                                                                                                                                            1046  if (!no_update_normconst && (!first_calc_done[loc] || !vec_equal_approx(params, params_last[loc]) )) {
                                                                                                                                            -
                                                                                                                                            1047 
                                                                                                                                            -
                                                                                                                                            1048  first_calc_done[loc] = true;
                                                                                                                                            -
                                                                                                                                            1049 
                                                                                                                                            -
                                                                                                                                            1050  size_t k = params.size() + 1u;
                                                                                                                                            -
                                                                                                                                            1051  size_t n = stats_support_sizes[loc];
                                                                                                                                            -
                                                                                                                                            1052 
                                                                                                                                            -
                                                                                                                                            1053  normalizing_constants[loc] = update_normalizing_constant(
                                                                                                                                            -
                                                                                                                                            1054  params, &stats_support[
                                                                                                                                            -
                                                                                                                                            1055  stats_support_sizes_acc[loc] * k
                                                                                                                                            -
                                                                                                                                            1056  ], k, n
                                                                                                                                            -
                                                                                                                                            1057  );
                                                                                                                                            -
                                                                                                                                            1058 
                                                                                                                                            -
                                                                                                                                            1059  params_last[loc] = params;
                                                                                                                                            -
                                                                                                                                            1060 
                                                                                                                                            -
                                                                                                                                            1061  }
                                                                                                                                            -
                                                                                                                                            1062 
                                                                                                                                            -
                                                                                                                                            1063  return likelihood_(
                                                                                                                                            -
                                                                                                                                            1064  target_,
                                                                                                                                            -
                                                                                                                                            1065  params,
                                                                                                                                            -
                                                                                                                                            1066  normalizing_constants[loc],
                                                                                                                                            -
                                                                                                                                            1067  nterms(),
                                                                                                                                            -
                                                                                                                                            1068  as_log
                                                                                                                                            -
                                                                                                                                            1069  );
                                                                                                                                            -
                                                                                                                                            1070 
                                                                                                                                            -
                                                                                                                                            1071 }
                                                                                                                                            -
                                                                                                                                            1072 
                                                                                                                                            -
                                                                                                                                            1073 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1075  const std::vector<double> & params,
                                                                                                                                            -
                                                                                                                                            1076  bool as_log,
                                                                                                                                            -
                                                                                                                                            1077  BARRY_NCORES_ARG(),
                                                                                                                                            -
                                                                                                                                            1078  bool no_update_normconst
                                                                                                                                            -
                                                                                                                                            1079 ) {
                                                                                                                                            -
                                                                                                                                            1080 
                                                                                                                                            -
                                                                                                                                            1081  size_t params_last_size = params_last.size();
                                                                                                                                            -
                                                                                                                                            1082 
                                                                                                                                            -
                                                                                                                                            1083  if (!no_update_normconst)
                                                                                                                                            -
                                                                                                                                            1084  {
                                                                                                                                            -
                                                                                                                                            1085  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            -
                                                                                                                                            1086  #pragma omp parallel for num_threads(ncores) \
                                                                                                                                            -
                                                                                                                                            1087  shared(normalizing_constants, params_last, first_calc_done, \
                                                                                                                                            -
                                                                                                                                            1088  stats_support, stats_support_sizes, stats_support_sizes_acc) \
                                                                                                                                            -
                                                                                                                                            1089  firstprivate(params)
                                                                                                                                            -
                                                                                                                                            1090  #endif
                                                                                                                                            -
                                                                                                                                            1091  for (size_t i = 0u; i < params_last_size; ++i)
                                                                                                                                            -
                                                                                                                                            1092  {
                                                                                                                                            -
                                                                                                                                            1093 
                                                                                                                                            -
                                                                                                                                            1094  if (!first_calc_done[i] || !vec_equal_approx(params, params_last[i]) )
                                                                                                                                            -
                                                                                                                                            1095  {
                                                                                                                                            +
                                                                                                                                            902  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            903  target_ = transform_model_fun(&target_[0u], target_.size());
                                                                                                                                            +
                                                                                                                                            904 
                                                                                                                                            +
                                                                                                                                            905  // Checking if we have updated the normalizing constant or not
                                                                                                                                            +
                                                                                                                                            906  if (!no_update_normconst && (!first_calc_done[loc] || !vec_equal_approx(params, params_last[loc])) )
                                                                                                                                            +
                                                                                                                                            907  {
                                                                                                                                            +
                                                                                                                                            908 
                                                                                                                                            +
                                                                                                                                            909  first_calc_done[loc] = true;
                                                                                                                                            +
                                                                                                                                            910 
                                                                                                                                            +
                                                                                                                                            911  size_t k = params.size() + 1u;
                                                                                                                                            +
                                                                                                                                            912  size_t n = stats_support_sizes[loc];
                                                                                                                                            +
                                                                                                                                            913 
                                                                                                                                            +
                                                                                                                                            914  normalizing_constants[loc] = update_normalizing_constant(
                                                                                                                                            +
                                                                                                                                            915  params, &stats_support[
                                                                                                                                            +
                                                                                                                                            916  stats_support_sizes_acc[loc] * k
                                                                                                                                            +
                                                                                                                                            917  ], k, n
                                                                                                                                            +
                                                                                                                                            918  );
                                                                                                                                            +
                                                                                                                                            919 
                                                                                                                                            +
                                                                                                                                            920  params_last[loc] = params;
                                                                                                                                            +
                                                                                                                                            921 
                                                                                                                                            +
                                                                                                                                            922  }
                                                                                                                                            +
                                                                                                                                            923 
                                                                                                                                            +
                                                                                                                                            924  // Checking if passes the rules
                                                                                                                                            +
                                                                                                                                            925  if (!support_fun.eval_rules_dyn(target_, 0u, 0u))
                                                                                                                                            +
                                                                                                                                            926  return as_log ? -std::numeric_limits<double>::infinity() : 0.0;
                                                                                                                                            +
                                                                                                                                            927 
                                                                                                                                            +
                                                                                                                                            928  return likelihood_(
                                                                                                                                            +
                                                                                                                                            929  &target_[0u],
                                                                                                                                            +
                                                                                                                                            930  params,
                                                                                                                                            +
                                                                                                                                            931  normalizing_constants[loc],
                                                                                                                                            +
                                                                                                                                            932  nterms(),
                                                                                                                                            +
                                                                                                                                            933  as_log
                                                                                                                                            +
                                                                                                                                            934  );
                                                                                                                                            +
                                                                                                                                            935 
                                                                                                                                            +
                                                                                                                                            936 }
                                                                                                                                            +
                                                                                                                                            937 
                                                                                                                                            +
                                                                                                                                            938 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            940  const std::vector<double> & params,
                                                                                                                                            +
                                                                                                                                            941  const std::vector<double> & target_,
                                                                                                                                            +
                                                                                                                                            942  const size_t & i,
                                                                                                                                            +
                                                                                                                                            943  bool as_log,
                                                                                                                                            +
                                                                                                                                            944  bool no_update_normconst
                                                                                                                                            +
                                                                                                                                            945 ) {
                                                                                                                                            +
                                                                                                                                            946 
                                                                                                                                            +
                                                                                                                                            947  // Checking if the index exists
                                                                                                                                            +
                                                                                                                                            948  if (i >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            949  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            950 
                                                                                                                                            +
                                                                                                                                            951  size_t loc = arrays2support[i];
                                                                                                                                            +
                                                                                                                                            952 
                                                                                                                                            +
                                                                                                                                            953  // Checking if passes the rules
                                                                                                                                            +
                                                                                                                                            954  if (!support_fun.eval_rules_dyn(target_, 0u, 0u))
                                                                                                                                            +
                                                                                                                                            955  {
                                                                                                                                            +
                                                                                                                                            956 
                                                                                                                                            +
                                                                                                                                            957  // Concatenating the elements of target_ into aa single string
                                                                                                                                            +
                                                                                                                                            958  std::string target_str = "";
                                                                                                                                            +
                                                                                                                                            959  for (size_t i = 0u; i < target_.size(); ++i)
                                                                                                                                            +
                                                                                                                                            960  target_str += std::to_string(target_[i]) + " ";
                                                                                                                                            +
                                                                                                                                            961 
                                                                                                                                            +
                                                                                                                                            962  throw std::range_error(
                                                                                                                                            +
                                                                                                                                            963  "The array is not in the support set. The array's statistics are: " +
                                                                                                                                            +
                                                                                                                                            964  target_str +
                                                                                                                                            +
                                                                                                                                            965  std::string(".")
                                                                                                                                            +
                                                                                                                                            966  );
                                                                                                                                            +
                                                                                                                                            967  }
                                                                                                                                            +
                                                                                                                                            968 
                                                                                                                                            +
                                                                                                                                            969 
                                                                                                                                            +
                                                                                                                                            970  // Checking if this actually has a change of happening
                                                                                                                                            +
                                                                                                                                            971  if (this->stats_support_sizes[loc] == 0u)
                                                                                                                                            +
                                                                                                                                            972  {
                                                                                                                                            +
                                                                                                                                            973  throw std::logic_error("The support set for this array is empty.");
                                                                                                                                            +
                                                                                                                                            974  }
                                                                                                                                            +
                                                                                                                                            975 
                                                                                                                                            +
                                                                                                                                            976  // Checking if we have updated the normalizing constant or not
                                                                                                                                            +
                                                                                                                                            977  if (!no_update_normconst && (!first_calc_done[loc] || !vec_equal_approx(params, params_last[loc])) ) {
                                                                                                                                            +
                                                                                                                                            978 
                                                                                                                                            +
                                                                                                                                            979  first_calc_done[loc] = true;
                                                                                                                                            +
                                                                                                                                            980 
                                                                                                                                            +
                                                                                                                                            981  size_t k = params.size() + 1u;
                                                                                                                                            +
                                                                                                                                            982  size_t n = stats_support_sizes[loc];
                                                                                                                                            +
                                                                                                                                            983 
                                                                                                                                            +
                                                                                                                                            984  normalizing_constants[loc] = update_normalizing_constant(
                                                                                                                                            +
                                                                                                                                            985  params, &stats_support[
                                                                                                                                            +
                                                                                                                                            986  stats_support_sizes_acc[loc] * k
                                                                                                                                            +
                                                                                                                                            987  ], k, n
                                                                                                                                            +
                                                                                                                                            988  );
                                                                                                                                            +
                                                                                                                                            989 
                                                                                                                                            +
                                                                                                                                            990  params_last[loc] = params;
                                                                                                                                            +
                                                                                                                                            991 
                                                                                                                                            +
                                                                                                                                            992  }
                                                                                                                                            +
                                                                                                                                            993 
                                                                                                                                            +
                                                                                                                                            994  return likelihood_(
                                                                                                                                            +
                                                                                                                                            995  &target_[0u],
                                                                                                                                            +
                                                                                                                                            996  params,
                                                                                                                                            +
                                                                                                                                            997  normalizing_constants[loc],
                                                                                                                                            +
                                                                                                                                            998  nterms(),
                                                                                                                                            +
                                                                                                                                            999  as_log
                                                                                                                                            +
                                                                                                                                            1000  );
                                                                                                                                            +
                                                                                                                                            1001 
                                                                                                                                            +
                                                                                                                                            1002 }
                                                                                                                                            +
                                                                                                                                            1003 
                                                                                                                                            +
                                                                                                                                            1004 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1006  const std::vector<double> & params,
                                                                                                                                            +
                                                                                                                                            1007  const double * target_,
                                                                                                                                            +
                                                                                                                                            1008  const size_t & i,
                                                                                                                                            +
                                                                                                                                            1009  bool as_log,
                                                                                                                                            +
                                                                                                                                            1010  bool no_update_normconst
                                                                                                                                            +
                                                                                                                                            1011 ) {
                                                                                                                                            +
                                                                                                                                            1012 
                                                                                                                                            +
                                                                                                                                            1013  // Checking if the index exists
                                                                                                                                            +
                                                                                                                                            1014  if (i >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            1015  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            1016 
                                                                                                                                            +
                                                                                                                                            1017  size_t loc = arrays2support[i];
                                                                                                                                            +
                                                                                                                                            1018 
                                                                                                                                            +
                                                                                                                                            1019  // Checking if passes the rules
                                                                                                                                            +
                                                                                                                                            1020  if (support_fun.get_rules_dyn()->size() > 0u)
                                                                                                                                            +
                                                                                                                                            1021  {
                                                                                                                                            +
                                                                                                                                            1022 
                                                                                                                                            +
                                                                                                                                            1023  std::vector< double > tmp_target;
                                                                                                                                            +
                                                                                                                                            1024  tmp_target.reserve(nterms());
                                                                                                                                            +
                                                                                                                                            1025  for (size_t t = 0u; t < nterms(); ++t)
                                                                                                                                            +
                                                                                                                                            1026  tmp_target.push_back(*(target_ + t));
                                                                                                                                            +
                                                                                                                                            1027 
                                                                                                                                            +
                                                                                                                                            1028  if (!support_fun.eval_rules_dyn(tmp_target, 0u, 0u))
                                                                                                                                            +
                                                                                                                                            1029  {
                                                                                                                                            +
                                                                                                                                            1030  // Concatenating the elements of target_ into aa single string
                                                                                                                                            +
                                                                                                                                            1031  std::string target_str = "";
                                                                                                                                            +
                                                                                                                                            1032  for (size_t i = 0u; i < nterms(); ++i)
                                                                                                                                            +
                                                                                                                                            1033  target_str += std::to_string((*target_ + i)) + " ";
                                                                                                                                            +
                                                                                                                                            1034 
                                                                                                                                            +
                                                                                                                                            1035  throw std::range_error(
                                                                                                                                            +
                                                                                                                                            1036  "The array is not in the support set. The array's statistics are: " + target_str + std::string(".")
                                                                                                                                            +
                                                                                                                                            1037  );
                                                                                                                                            +
                                                                                                                                            1038  }
                                                                                                                                            +
                                                                                                                                            1039 
                                                                                                                                            +
                                                                                                                                            1040  }
                                                                                                                                            +
                                                                                                                                            1041 
                                                                                                                                            +
                                                                                                                                            1042  // Checking if this actually has a change of happening
                                                                                                                                            +
                                                                                                                                            1043  if (this->stats_support_sizes[loc] == 0u)
                                                                                                                                            +
                                                                                                                                            1044  {
                                                                                                                                            +
                                                                                                                                            1045  throw std::logic_error("The support set for this array is empty.");
                                                                                                                                            +
                                                                                                                                            1046  }
                                                                                                                                            +
                                                                                                                                            1047 
                                                                                                                                            +
                                                                                                                                            1048  // Checking if we have updated the normalizing constant or not
                                                                                                                                            +
                                                                                                                                            1049  if (!no_update_normconst && (!first_calc_done[loc] || !vec_equal_approx(params, params_last[loc]) )) {
                                                                                                                                            +
                                                                                                                                            1050 
                                                                                                                                            +
                                                                                                                                            1051  first_calc_done[loc] = true;
                                                                                                                                            +
                                                                                                                                            1052 
                                                                                                                                            +
                                                                                                                                            1053  size_t k = params.size() + 1u;
                                                                                                                                            +
                                                                                                                                            1054  size_t n = stats_support_sizes[loc];
                                                                                                                                            +
                                                                                                                                            1055 
                                                                                                                                            +
                                                                                                                                            1056  normalizing_constants[loc] = update_normalizing_constant(
                                                                                                                                            +
                                                                                                                                            1057  params, &stats_support[
                                                                                                                                            +
                                                                                                                                            1058  stats_support_sizes_acc[loc] * k
                                                                                                                                            +
                                                                                                                                            1059  ], k, n
                                                                                                                                            +
                                                                                                                                            1060  );
                                                                                                                                            +
                                                                                                                                            1061 
                                                                                                                                            +
                                                                                                                                            1062  params_last[loc] = params;
                                                                                                                                            +
                                                                                                                                            1063 
                                                                                                                                            +
                                                                                                                                            1064  }
                                                                                                                                            +
                                                                                                                                            1065 
                                                                                                                                            +
                                                                                                                                            1066  return likelihood_(
                                                                                                                                            +
                                                                                                                                            1067  target_,
                                                                                                                                            +
                                                                                                                                            1068  params,
                                                                                                                                            +
                                                                                                                                            1069  normalizing_constants[loc],
                                                                                                                                            +
                                                                                                                                            1070  nterms(),
                                                                                                                                            +
                                                                                                                                            1071  as_log
                                                                                                                                            +
                                                                                                                                            1072  );
                                                                                                                                            +
                                                                                                                                            1073 
                                                                                                                                            +
                                                                                                                                            1074 }
                                                                                                                                            +
                                                                                                                                            1075 
                                                                                                                                            +
                                                                                                                                            1076 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1078  const std::vector<double> & params,
                                                                                                                                            +
                                                                                                                                            1079  bool as_log,
                                                                                                                                            +
                                                                                                                                            1080  BARRY_NCORES_ARG(),
                                                                                                                                            +
                                                                                                                                            1081  bool no_update_normconst
                                                                                                                                            +
                                                                                                                                            1082 ) {
                                                                                                                                            +
                                                                                                                                            1083 
                                                                                                                                            +
                                                                                                                                            1084  size_t params_last_size = params_last.size();
                                                                                                                                            +
                                                                                                                                            1085 
                                                                                                                                            +
                                                                                                                                            1086  if (!no_update_normconst)
                                                                                                                                            +
                                                                                                                                            1087  {
                                                                                                                                            +
                                                                                                                                            1088  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            +
                                                                                                                                            1089  #pragma omp parallel for num_threads(ncores) \
                                                                                                                                            +
                                                                                                                                            1090  shared(normalizing_constants, params_last, first_calc_done, \
                                                                                                                                            +
                                                                                                                                            1091  stats_support, stats_support_sizes, stats_support_sizes_acc) \
                                                                                                                                            +
                                                                                                                                            1092  firstprivate(params)
                                                                                                                                            +
                                                                                                                                            1093  #endif
                                                                                                                                            +
                                                                                                                                            1094  for (size_t i = 0u; i < params_last_size; ++i)
                                                                                                                                            +
                                                                                                                                            1095  {
                                                                                                                                            1096 
                                                                                                                                            -
                                                                                                                                            1097  size_t k = params.size() + 1u;
                                                                                                                                            -
                                                                                                                                            1098  size_t n = stats_support_sizes[i];
                                                                                                                                            -
                                                                                                                                            1099 
                                                                                                                                            -
                                                                                                                                            1100  first_calc_done[i] = true;
                                                                                                                                            -
                                                                                                                                            1101  normalizing_constants[i] = update_normalizing_constant(
                                                                                                                                            -
                                                                                                                                            1102  params, &stats_support[
                                                                                                                                            -
                                                                                                                                            1103  stats_support_sizes_acc[i] * k
                                                                                                                                            -
                                                                                                                                            1104  ], k, n
                                                                                                                                            -
                                                                                                                                            1105  );
                                                                                                                                            -
                                                                                                                                            1106 
                                                                                                                                            -
                                                                                                                                            1107  params_last[i] = params;
                                                                                                                                            -
                                                                                                                                            1108 
                                                                                                                                            -
                                                                                                                                            1109  }
                                                                                                                                            -
                                                                                                                                            1110 
                                                                                                                                            -
                                                                                                                                            1111  }
                                                                                                                                            -
                                                                                                                                            1112  }
                                                                                                                                            -
                                                                                                                                            1113 
                                                                                                                                            -
                                                                                                                                            1114  double res = 0.0;
                                                                                                                                            -
                                                                                                                                            1115  if (as_log)
                                                                                                                                            -
                                                                                                                                            1116  {
                                                                                                                                            -
                                                                                                                                            1117 
                                                                                                                                            -
                                                                                                                                            1118  for (size_t i = 0; i < stats_target.size(); ++i)
                                                                                                                                            -
                                                                                                                                            1119  res += vec_inner_prod(
                                                                                                                                            -
                                                                                                                                            1120  &stats_target[i][0u],
                                                                                                                                            -
                                                                                                                                            1121  &params[0u],
                                                                                                                                            -
                                                                                                                                            1122  params.size()
                                                                                                                                            -
                                                                                                                                            1123  ) BARRY_SAFE_EXP;
                                                                                                                                            -
                                                                                                                                            1124 
                                                                                                                                            -
                                                                                                                                            1125  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            -
                                                                                                                                            1126  #pragma omp simd reduction(-:res)
                                                                                                                                            -
                                                                                                                                            1127  #endif
                                                                                                                                            -
                                                                                                                                            1128  for (size_t i = 0u; i < params_last_size; ++i)
                                                                                                                                            -
                                                                                                                                            1129  res -= (std::log(normalizing_constants[i]) * this->stats_support_n_arrays[i]);
                                                                                                                                            -
                                                                                                                                            1130 
                                                                                                                                            -
                                                                                                                                            1131  } else {
                                                                                                                                            -
                                                                                                                                            1132 
                                                                                                                                            -
                                                                                                                                            1133  res = 1.0;
                                                                                                                                            -
                                                                                                                                            1134  size_t stats_target_size = stats_target.size();
                                                                                                                                            -
                                                                                                                                            1135  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            -
                                                                                                                                            1136  #pragma omp simd reduction(*:res)
                                                                                                                                            -
                                                                                                                                            1137  #endif
                                                                                                                                            -
                                                                                                                                            1138  for (size_t i = 0; i < stats_target_size; ++i)
                                                                                                                                            -
                                                                                                                                            1139  res *= std::exp(
                                                                                                                                            - -
                                                                                                                                            1141  &stats_target[i][0u],
                                                                                                                                            -
                                                                                                                                            1142  &params[0u],
                                                                                                                                            -
                                                                                                                                            1143  params.size()
                                                                                                                                            -
                                                                                                                                            1144  ) BARRY_SAFE_EXP) /
                                                                                                                                            -
                                                                                                                                            1145  normalizing_constants[arrays2support[i]];
                                                                                                                                            -
                                                                                                                                            1146 
                                                                                                                                            -
                                                                                                                                            1147  }
                                                                                                                                            -
                                                                                                                                            1148 
                                                                                                                                            -
                                                                                                                                            1149  return res;
                                                                                                                                            -
                                                                                                                                            1150 
                                                                                                                                            -
                                                                                                                                            1151 }
                                                                                                                                            -
                                                                                                                                            1152 
                                                                                                                                            -
                                                                                                                                            1153 template <
                                                                                                                                            -
                                                                                                                                            1154  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            1155  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            1156  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            1157  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            1158  >
                                                                                                                                            -
                                                                                                                                            1159 inline const std::vector< double > &
                                                                                                                                            - -
                                                                                                                                            1161 
                                                                                                                                            -
                                                                                                                                            1162  return normalizing_constants;
                                                                                                                                            -
                                                                                                                                            1163 
                                                                                                                                            -
                                                                                                                                            1164 }
                                                                                                                                            -
                                                                                                                                            1165 
                                                                                                                                            -
                                                                                                                                            1166 template<
                                                                                                                                            -
                                                                                                                                            1167  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            1168  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            1169  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            1170  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            1171  >
                                                                                                                                            -
                                                                                                                                            1172 inline const std::vector< double > &
                                                                                                                                            - -
                                                                                                                                            1174 
                                                                                                                                            -
                                                                                                                                            1175  return stats_likelihood;
                                                                                                                                            -
                                                                                                                                            1176 
                                                                                                                                            -
                                                                                                                                            1177 }
                                                                                                                                            -
                                                                                                                                            1178 
                                                                                                                                            -
                                                                                                                                            1179 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1180 inline const std::vector< Array_Type > *
                                                                                                                                            - -
                                                                                                                                            1182  const size_t & i
                                                                                                                                            -
                                                                                                                                            1183 ) {
                                                                                                                                            -
                                                                                                                                            1184 
                                                                                                                                            -
                                                                                                                                            1185  if (i >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            1186  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            1097  if (!first_calc_done[i] || !vec_equal_approx(params, params_last[i]) )
                                                                                                                                            +
                                                                                                                                            1098  {
                                                                                                                                            +
                                                                                                                                            1099 
                                                                                                                                            +
                                                                                                                                            1100  size_t k = params.size() + 1u;
                                                                                                                                            +
                                                                                                                                            1101  size_t n = stats_support_sizes[i];
                                                                                                                                            +
                                                                                                                                            1102 
                                                                                                                                            +
                                                                                                                                            1103  first_calc_done[i] = true;
                                                                                                                                            +
                                                                                                                                            1104  normalizing_constants[i] = update_normalizing_constant(
                                                                                                                                            +
                                                                                                                                            1105  params, &stats_support[
                                                                                                                                            +
                                                                                                                                            1106  stats_support_sizes_acc[i] * k
                                                                                                                                            +
                                                                                                                                            1107  ], k, n
                                                                                                                                            +
                                                                                                                                            1108  );
                                                                                                                                            +
                                                                                                                                            1109 
                                                                                                                                            +
                                                                                                                                            1110  params_last[i] = params;
                                                                                                                                            +
                                                                                                                                            1111 
                                                                                                                                            +
                                                                                                                                            1112  }
                                                                                                                                            +
                                                                                                                                            1113 
                                                                                                                                            +
                                                                                                                                            1114  }
                                                                                                                                            +
                                                                                                                                            1115  }
                                                                                                                                            +
                                                                                                                                            1116 
                                                                                                                                            +
                                                                                                                                            1117  double res = 0.0;
                                                                                                                                            +
                                                                                                                                            1118  if (as_log)
                                                                                                                                            +
                                                                                                                                            1119  {
                                                                                                                                            +
                                                                                                                                            1120 
                                                                                                                                            +
                                                                                                                                            1121  for (size_t i = 0; i < stats_target.size(); ++i)
                                                                                                                                            +
                                                                                                                                            1122  res += vec_inner_prod(
                                                                                                                                            +
                                                                                                                                            1123  &stats_target[i][0u],
                                                                                                                                            +
                                                                                                                                            1124  &params[0u],
                                                                                                                                            +
                                                                                                                                            1125  params.size()
                                                                                                                                            +
                                                                                                                                            1126  ) BARRY_SAFE_EXP;
                                                                                                                                            +
                                                                                                                                            1127 
                                                                                                                                            +
                                                                                                                                            1128  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            +
                                                                                                                                            1129  #pragma omp simd reduction(-:res)
                                                                                                                                            +
                                                                                                                                            1130  #endif
                                                                                                                                            +
                                                                                                                                            1131  for (size_t i = 0u; i < params_last_size; ++i)
                                                                                                                                            +
                                                                                                                                            1132  res -= (std::log(normalizing_constants[i]) * this->stats_support_n_arrays[i]);
                                                                                                                                            +
                                                                                                                                            1133 
                                                                                                                                            +
                                                                                                                                            1134  } else {
                                                                                                                                            +
                                                                                                                                            1135 
                                                                                                                                            +
                                                                                                                                            1136  res = 1.0;
                                                                                                                                            +
                                                                                                                                            1137  size_t stats_target_size = stats_target.size();
                                                                                                                                            +
                                                                                                                                            1138  #if defined(__OPENMP) || defined(_OPENMP)
                                                                                                                                            +
                                                                                                                                            1139  #pragma omp simd reduction(*:res)
                                                                                                                                            +
                                                                                                                                            1140  #endif
                                                                                                                                            +
                                                                                                                                            1141  for (size_t i = 0; i < stats_target_size; ++i)
                                                                                                                                            +
                                                                                                                                            1142  res *= std::exp(
                                                                                                                                            + +
                                                                                                                                            1144  &stats_target[i][0u],
                                                                                                                                            +
                                                                                                                                            1145  &params[0u],
                                                                                                                                            +
                                                                                                                                            1146  params.size()
                                                                                                                                            +
                                                                                                                                            1147  ) BARRY_SAFE_EXP) /
                                                                                                                                            +
                                                                                                                                            1148  normalizing_constants[arrays2support[i]];
                                                                                                                                            +
                                                                                                                                            1149 
                                                                                                                                            +
                                                                                                                                            1150  }
                                                                                                                                            +
                                                                                                                                            1151 
                                                                                                                                            +
                                                                                                                                            1152  return res;
                                                                                                                                            +
                                                                                                                                            1153 
                                                                                                                                            +
                                                                                                                                            1154 }
                                                                                                                                            +
                                                                                                                                            1155 
                                                                                                                                            +
                                                                                                                                            1156 template <
                                                                                                                                            +
                                                                                                                                            1157  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            1158  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            1159  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            1160  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            1161  >
                                                                                                                                            +
                                                                                                                                            1162 inline const std::vector< double > &
                                                                                                                                            + +
                                                                                                                                            1164 
                                                                                                                                            +
                                                                                                                                            1165  return normalizing_constants;
                                                                                                                                            +
                                                                                                                                            1166 
                                                                                                                                            +
                                                                                                                                            1167 }
                                                                                                                                            +
                                                                                                                                            1168 
                                                                                                                                            +
                                                                                                                                            1169 template<
                                                                                                                                            +
                                                                                                                                            1170  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            1171  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            1172  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            1173  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            1174  >
                                                                                                                                            +
                                                                                                                                            1175 inline const std::vector< double > &
                                                                                                                                            + +
                                                                                                                                            1177 
                                                                                                                                            +
                                                                                                                                            1178  return stats_likelihood;
                                                                                                                                            +
                                                                                                                                            1179 
                                                                                                                                            +
                                                                                                                                            1180 }
                                                                                                                                            +
                                                                                                                                            1181 
                                                                                                                                            +
                                                                                                                                            1182 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1183 inline const std::vector< Array_Type > *
                                                                                                                                            + +
                                                                                                                                            1185  const size_t & i
                                                                                                                                            +
                                                                                                                                            1186 ) {
                                                                                                                                            1187 
                                                                                                                                            -
                                                                                                                                            1188 
                                                                                                                                            -
                                                                                                                                            1189  return &pset_arrays[arrays2support[i]];
                                                                                                                                            +
                                                                                                                                            1188  if (i >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            1189  throw std::range_error("The requested support is out of range");
                                                                                                                                            1190 
                                                                                                                                            -
                                                                                                                                            1191 }
                                                                                                                                            -
                                                                                                                                            1192 
                                                                                                                                            -
                                                                                                                                            1193 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1194 inline const double *
                                                                                                                                            - -
                                                                                                                                            1196  const size_t & i
                                                                                                                                            -
                                                                                                                                            1197 ) {
                                                                                                                                            -
                                                                                                                                            1198 
                                                                                                                                            -
                                                                                                                                            1199  if (i >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            1200  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            1191 
                                                                                                                                            +
                                                                                                                                            1192  return &pset_arrays[arrays2support[i]];
                                                                                                                                            +
                                                                                                                                            1193 
                                                                                                                                            +
                                                                                                                                            1194 }
                                                                                                                                            +
                                                                                                                                            1195 
                                                                                                                                            +
                                                                                                                                            1196 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1197 inline const double *
                                                                                                                                            + +
                                                                                                                                            1199  const size_t & i
                                                                                                                                            +
                                                                                                                                            1200 ) {
                                                                                                                                            1201 
                                                                                                                                            -
                                                                                                                                            1202  return &pset_stats[pset_locations[arrays2support[i]] * counter_fun.size()];
                                                                                                                                            -
                                                                                                                                            1203 
                                                                                                                                            -
                                                                                                                                            1204 }
                                                                                                                                            -
                                                                                                                                            1205 
                                                                                                                                            -
                                                                                                                                            1206 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1208 {
                                                                                                                                            -
                                                                                                                                            1209 
                                                                                                                                            -
                                                                                                                                            1210  if (i >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            1211  throw std::range_error("The requested support is out of range");
                                                                                                                                            -
                                                                                                                                            1212 
                                                                                                                                            -
                                                                                                                                            1213  // const auto & S = stats_support[arrays2support[i]];
                                                                                                                                            -
                                                                                                                                            1214  size_t array_id = arrays2support[i];
                                                                                                                                            +
                                                                                                                                            1202  if (i >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            1203  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            1204 
                                                                                                                                            +
                                                                                                                                            1205  return &pset_stats[pset_locations[arrays2support[i]] * counter_fun.size()];
                                                                                                                                            +
                                                                                                                                            1206 
                                                                                                                                            +
                                                                                                                                            1207 }
                                                                                                                                            +
                                                                                                                                            1208 
                                                                                                                                            +
                                                                                                                                            1209 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1211 {
                                                                                                                                            +
                                                                                                                                            1212 
                                                                                                                                            +
                                                                                                                                            1213  if (i >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            1214  throw std::range_error("The requested support is out of range");
                                                                                                                                            1215 
                                                                                                                                            -
                                                                                                                                            1216  size_t k = nterms();
                                                                                                                                            -
                                                                                                                                            1217  size_t nunique = stats_support_sizes.size();
                                                                                                                                            +
                                                                                                                                            1216  // const auto & S = stats_support[arrays2support[i]];
                                                                                                                                            +
                                                                                                                                            1217  size_t array_id = arrays2support[i];
                                                                                                                                            1218 
                                                                                                                                            -
                                                                                                                                            1219  for (size_t l = 0u; l < nunique; ++l)
                                                                                                                                            -
                                                                                                                                            1220  {
                                                                                                                                            +
                                                                                                                                            1219  size_t k = nterms();
                                                                                                                                            +
                                                                                                                                            1220  size_t nunique = stats_support_sizes.size();
                                                                                                                                            1221 
                                                                                                                                            -
                                                                                                                                            1222  printf_barry("% 5li ", l);
                                                                                                                                            -
                                                                                                                                            1223 
                                                                                                                                            -
                                                                                                                                            1224  printf_barry("counts: %.0f motif: ", stats_support[
                                                                                                                                            -
                                                                                                                                            1225  stats_support_sizes_acc[l] * (k + 1u)
                                                                                                                                            -
                                                                                                                                            1226  // l * (k + 1u)
                                                                                                                                            -
                                                                                                                                            1227  ]);
                                                                                                                                            -
                                                                                                                                            1228 
                                                                                                                                            -
                                                                                                                                            1229  for (size_t j = 0u; j < k; ++j)
                                                                                                                                            -
                                                                                                                                            1230  {
                                                                                                                                            -
                                                                                                                                            1231  printf_barry(
                                                                                                                                            -
                                                                                                                                            1232  "%.2f, ",
                                                                                                                                            -
                                                                                                                                            1233  stats_support[
                                                                                                                                            -
                                                                                                                                            1234  stats_support_sizes_acc[l] * (k + 1u) + j + 1u
                                                                                                                                            -
                                                                                                                                            1235  ]);
                                                                                                                                            -
                                                                                                                                            1236  }
                                                                                                                                            -
                                                                                                                                            1237 
                                                                                                                                            -
                                                                                                                                            1238  printf_barry("\n");
                                                                                                                                            -
                                                                                                                                            1239 
                                                                                                                                            -
                                                                                                                                            1240  }
                                                                                                                                            -
                                                                                                                                            1241 
                                                                                                                                            -
                                                                                                                                            1242  return;
                                                                                                                                            -
                                                                                                                                            1243 
                                                                                                                                            -
                                                                                                                                            1244 }
                                                                                                                                            -
                                                                                                                                            1245 
                                                                                                                                            -
                                                                                                                                            1246 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1248 {
                                                                                                                                            -
                                                                                                                                            1249 
                                                                                                                                            -
                                                                                                                                            1250  // Relevant information:
                                                                                                                                            -
                                                                                                                                            1251  // - Number of arrays involved
                                                                                                                                            -
                                                                                                                                            1252  // - Size of the support
                                                                                                                                            -
                                                                                                                                            1253  // - Terms involved
                                                                                                                                            -
                                                                                                                                            1254 
                                                                                                                                            -
                                                                                                                                            1255  int min_v = std::numeric_limits<int>::max();
                                                                                                                                            -
                                                                                                                                            1256  int max_v = 0;
                                                                                                                                            +
                                                                                                                                            1222  for (size_t l = 0u; l < nunique; ++l)
                                                                                                                                            +
                                                                                                                                            1223  {
                                                                                                                                            +
                                                                                                                                            1224 
                                                                                                                                            +
                                                                                                                                            1225  printf_barry("% 5li ", l);
                                                                                                                                            +
                                                                                                                                            1226 
                                                                                                                                            +
                                                                                                                                            1227  printf_barry("counts: %.0f motif: ", stats_support[
                                                                                                                                            +
                                                                                                                                            1228  stats_support_sizes_acc[l] * (k + 1u)
                                                                                                                                            +
                                                                                                                                            1229  // l * (k + 1u)
                                                                                                                                            +
                                                                                                                                            1230  ]);
                                                                                                                                            +
                                                                                                                                            1231 
                                                                                                                                            +
                                                                                                                                            1232  for (size_t j = 0u; j < k; ++j)
                                                                                                                                            +
                                                                                                                                            1233  {
                                                                                                                                            +
                                                                                                                                            1234  printf_barry(
                                                                                                                                            +
                                                                                                                                            1235  "%.2f, ",
                                                                                                                                            +
                                                                                                                                            1236  stats_support[
                                                                                                                                            +
                                                                                                                                            1237  stats_support_sizes_acc[l] * (k + 1u) + j + 1u
                                                                                                                                            +
                                                                                                                                            1238  ]);
                                                                                                                                            +
                                                                                                                                            1239  }
                                                                                                                                            +
                                                                                                                                            1240 
                                                                                                                                            +
                                                                                                                                            1241  printf_barry("\n");
                                                                                                                                            +
                                                                                                                                            1242 
                                                                                                                                            +
                                                                                                                                            1243  }
                                                                                                                                            +
                                                                                                                                            1244 
                                                                                                                                            +
                                                                                                                                            1245  return;
                                                                                                                                            +
                                                                                                                                            1246 
                                                                                                                                            +
                                                                                                                                            1247 }
                                                                                                                                            +
                                                                                                                                            1248 
                                                                                                                                            +
                                                                                                                                            1249 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1251 {
                                                                                                                                            +
                                                                                                                                            1252 
                                                                                                                                            +
                                                                                                                                            1253  // Relevant information:
                                                                                                                                            +
                                                                                                                                            1254  // - Number of arrays involved
                                                                                                                                            +
                                                                                                                                            1255  // - Size of the support
                                                                                                                                            +
                                                                                                                                            1256  // - Terms involved
                                                                                                                                            1257 
                                                                                                                                            -
                                                                                                                                            1258  for (const auto & stat : this->stats_support_sizes)
                                                                                                                                            -
                                                                                                                                            1259  {
                                                                                                                                            +
                                                                                                                                            1258  int min_v = std::numeric_limits<int>::max();
                                                                                                                                            +
                                                                                                                                            1259  int max_v = 0;
                                                                                                                                            1260 
                                                                                                                                            -
                                                                                                                                            1261  if (static_cast<int>(stat) > max_v)
                                                                                                                                            -
                                                                                                                                            1262  max_v = static_cast<int>(stat);
                                                                                                                                            -
                                                                                                                                            1263 
                                                                                                                                            -
                                                                                                                                            1264  if (static_cast<int>(stat) < min_v)
                                                                                                                                            -
                                                                                                                                            1265  min_v = static_cast<int>(stat);
                                                                                                                                            -
                                                                                                                                            1266 
                                                                                                                                            -
                                                                                                                                            1267  }
                                                                                                                                            -
                                                                                                                                            1268 
                                                                                                                                            -
                                                                                                                                            1269  // The vectors in the support reflec the size of nterms x entries
                                                                                                                                            -
                                                                                                                                            1270  max_v /= static_cast<int>(nterms() + 1);
                                                                                                                                            -
                                                                                                                                            1271  min_v /= static_cast<int>(nterms() + 1);
                                                                                                                                            -
                                                                                                                                            1272 
                                                                                                                                            -
                                                                                                                                            1273  printf_barry("Num. of Arrays : %li\n", this->size());
                                                                                                                                            -
                                                                                                                                            1274  printf_barry("Support size : %li\n", this->size_unique());
                                                                                                                                            -
                                                                                                                                            1275  printf_barry("Support size range : [%i, %i]\n", min_v, max_v);
                                                                                                                                            -
                                                                                                                                            1276  printf_barry("Transform. Fun. : %s\n", transform_model_fun ? "yes": "no");
                                                                                                                                            -
                                                                                                                                            1277  printf_barry("Model terms (%li) :\n", this->nterms());
                                                                                                                                            -
                                                                                                                                            1278  for (auto & cn : this->colnames())
                                                                                                                                            -
                                                                                                                                            1279  {
                                                                                                                                            -
                                                                                                                                            1280  printf_barry(" - %s\n", cn.c_str());
                                                                                                                                            -
                                                                                                                                            1281  }
                                                                                                                                            -
                                                                                                                                            1282 
                                                                                                                                            -
                                                                                                                                            1283  if (this->nrules() > 0u)
                                                                                                                                            -
                                                                                                                                            1284  {
                                                                                                                                            -
                                                                                                                                            1285  printf_barry("Model rules (%li) :\n", this->nrules());
                                                                                                                                            -
                                                                                                                                            1286 
                                                                                                                                            -
                                                                                                                                            1287  for (auto & rn : rules->get_names())
                                                                                                                                            -
                                                                                                                                            1288  {
                                                                                                                                            -
                                                                                                                                            1289  printf_barry(" - %s\n", rn.c_str());
                                                                                                                                            -
                                                                                                                                            1290  }
                                                                                                                                            -
                                                                                                                                            1291  }
                                                                                                                                            -
                                                                                                                                            1292 
                                                                                                                                            -
                                                                                                                                            1293  if (this->nrules_dyn() > 0u)
                                                                                                                                            -
                                                                                                                                            1294  {
                                                                                                                                            -
                                                                                                                                            1295  printf_barry("Model rules dyn (%li):\n", this->nrules_dyn());
                                                                                                                                            -
                                                                                                                                            1296 
                                                                                                                                            -
                                                                                                                                            1297  for (auto & rn : rules_dyn->get_names())
                                                                                                                                            -
                                                                                                                                            1298  {
                                                                                                                                            -
                                                                                                                                            1299  printf_barry(" - %s\n", rn.c_str());
                                                                                                                                            -
                                                                                                                                            1300  }
                                                                                                                                            -
                                                                                                                                            1301  }
                                                                                                                                            -
                                                                                                                                            1302 
                                                                                                                                            -
                                                                                                                                            1303  return;
                                                                                                                                            -
                                                                                                                                            1304 
                                                                                                                                            -
                                                                                                                                            1305 }
                                                                                                                                            -
                                                                                                                                            1306 
                                                                                                                                            -
                                                                                                                                            1307 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1309 {
                                                                                                                                            -
                                                                                                                                            1310  // INITIALIZED()
                                                                                                                                            -
                                                                                                                                            1311  return this->stats_target.size();
                                                                                                                                            -
                                                                                                                                            1312 
                                                                                                                                            -
                                                                                                                                            1313 }
                                                                                                                                            -
                                                                                                                                            1314 
                                                                                                                                            -
                                                                                                                                            1315 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1317 {
                                                                                                                                            -
                                                                                                                                            1318 
                                                                                                                                            -
                                                                                                                                            1319  // INITIALIZED()
                                                                                                                                            -
                                                                                                                                            1320  return this->stats_support_sizes.size();
                                                                                                                                            +
                                                                                                                                            1261  for (const auto & stat : this->stats_support_sizes)
                                                                                                                                            +
                                                                                                                                            1262  {
                                                                                                                                            +
                                                                                                                                            1263 
                                                                                                                                            +
                                                                                                                                            1264  if (static_cast<int>(stat) > max_v)
                                                                                                                                            +
                                                                                                                                            1265  max_v = static_cast<int>(stat);
                                                                                                                                            +
                                                                                                                                            1266 
                                                                                                                                            +
                                                                                                                                            1267  if (static_cast<int>(stat) < min_v)
                                                                                                                                            +
                                                                                                                                            1268  min_v = static_cast<int>(stat);
                                                                                                                                            +
                                                                                                                                            1269 
                                                                                                                                            +
                                                                                                                                            1270  }
                                                                                                                                            +
                                                                                                                                            1271 
                                                                                                                                            +
                                                                                                                                            1272  // The vectors in the support reflec the size of nterms x entries
                                                                                                                                            +
                                                                                                                                            1273  max_v /= static_cast<int>(nterms() + 1);
                                                                                                                                            +
                                                                                                                                            1274  min_v /= static_cast<int>(nterms() + 1);
                                                                                                                                            +
                                                                                                                                            1275 
                                                                                                                                            +
                                                                                                                                            1276  printf_barry("Num. of Arrays : %li\n", this->size());
                                                                                                                                            +
                                                                                                                                            1277  printf_barry("Support size : %li\n", this->size_unique());
                                                                                                                                            +
                                                                                                                                            1278  printf_barry("Support size range : [%i, %i]\n", min_v, max_v);
                                                                                                                                            +
                                                                                                                                            1279  printf_barry("Transform. Fun. : %s\n", transform_model_fun ? "yes": "no");
                                                                                                                                            +
                                                                                                                                            1280  printf_barry("Model terms (%li) :\n", this->nterms());
                                                                                                                                            +
                                                                                                                                            1281  for (auto & cn : this->colnames())
                                                                                                                                            +
                                                                                                                                            1282  {
                                                                                                                                            +
                                                                                                                                            1283  printf_barry(" - %s\n", cn.c_str());
                                                                                                                                            +
                                                                                                                                            1284  }
                                                                                                                                            +
                                                                                                                                            1285 
                                                                                                                                            +
                                                                                                                                            1286  if (this->nrules() > 0u)
                                                                                                                                            +
                                                                                                                                            1287  {
                                                                                                                                            +
                                                                                                                                            1288  printf_barry("Model rules (%li) :\n", this->nrules());
                                                                                                                                            +
                                                                                                                                            1289 
                                                                                                                                            +
                                                                                                                                            1290  for (auto & rn : rules->get_names())
                                                                                                                                            +
                                                                                                                                            1291  {
                                                                                                                                            +
                                                                                                                                            1292  printf_barry(" - %s\n", rn.c_str());
                                                                                                                                            +
                                                                                                                                            1293  }
                                                                                                                                            +
                                                                                                                                            1294  }
                                                                                                                                            +
                                                                                                                                            1295 
                                                                                                                                            +
                                                                                                                                            1296  if (this->nrules_dyn() > 0u)
                                                                                                                                            +
                                                                                                                                            1297  {
                                                                                                                                            +
                                                                                                                                            1298  printf_barry("Model rules dyn (%li):\n", this->nrules_dyn());
                                                                                                                                            +
                                                                                                                                            1299 
                                                                                                                                            +
                                                                                                                                            1300  for (auto & rn : rules_dyn->get_names())
                                                                                                                                            +
                                                                                                                                            1301  {
                                                                                                                                            +
                                                                                                                                            1302  printf_barry(" - %s\n", rn.c_str());
                                                                                                                                            +
                                                                                                                                            1303  }
                                                                                                                                            +
                                                                                                                                            1304  }
                                                                                                                                            +
                                                                                                                                            1305 
                                                                                                                                            +
                                                                                                                                            1306  return;
                                                                                                                                            +
                                                                                                                                            1307 
                                                                                                                                            +
                                                                                                                                            1308 }
                                                                                                                                            +
                                                                                                                                            1309 
                                                                                                                                            +
                                                                                                                                            1310 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1312 {
                                                                                                                                            +
                                                                                                                                            1313  // INITIALIZED()
                                                                                                                                            +
                                                                                                                                            1314  return this->stats_target.size();
                                                                                                                                            +
                                                                                                                                            1315 
                                                                                                                                            +
                                                                                                                                            1316 }
                                                                                                                                            +
                                                                                                                                            1317 
                                                                                                                                            +
                                                                                                                                            1318 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1320 {
                                                                                                                                            1321 
                                                                                                                                            -
                                                                                                                                            1322 }
                                                                                                                                            -
                                                                                                                                            1323 
                                                                                                                                            -
                                                                                                                                            1324 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1326 {
                                                                                                                                            -
                                                                                                                                            1327 
                                                                                                                                            -
                                                                                                                                            1328  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            1329  return transform_model_term_names.size();
                                                                                                                                            -
                                                                                                                                            1330  else
                                                                                                                                            -
                                                                                                                                            1331  return this->counters->size();
                                                                                                                                            -
                                                                                                                                            1332 
                                                                                                                                            -
                                                                                                                                            1333 }
                                                                                                                                            -
                                                                                                                                            1334 
                                                                                                                                            -
                                                                                                                                            1335 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1337 {
                                                                                                                                            -
                                                                                                                                            1338 
                                                                                                                                            -
                                                                                                                                            1339  return this->rules->size();
                                                                                                                                            -
                                                                                                                                            1340 
                                                                                                                                            -
                                                                                                                                            1341 }
                                                                                                                                            -
                                                                                                                                            1342 
                                                                                                                                            -
                                                                                                                                            1343 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1345 {
                                                                                                                                            -
                                                                                                                                            1346 
                                                                                                                                            -
                                                                                                                                            1347  return this->rules_dyn->size();
                                                                                                                                            -
                                                                                                                                            1348 
                                                                                                                                            -
                                                                                                                                            1349 }
                                                                                                                                            -
                                                                                                                                            1350 
                                                                                                                                            -
                                                                                                                                            1351 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1353 {
                                                                                                                                            -
                                                                                                                                            1354 
                                                                                                                                            -
                                                                                                                                            1355  // INITIALIZED()
                                                                                                                                            -
                                                                                                                                            1356  return stats_support_sizes_acc.back();
                                                                                                                                            -
                                                                                                                                            1357  // size_t tot = 0u;
                                                                                                                                            -
                                                                                                                                            1358  // for (auto& a : stats_support)
                                                                                                                                            -
                                                                                                                                            1359  // tot += a.size();
                                                                                                                                            -
                                                                                                                                            1360 
                                                                                                                                            -
                                                                                                                                            1361  // return tot;
                                                                                                                                            -
                                                                                                                                            1362 
                                                                                                                                            -
                                                                                                                                            1363 }
                                                                                                                                            -
                                                                                                                                            1364 
                                                                                                                                            -
                                                                                                                                            1365 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1367 {
                                                                                                                                            -
                                                                                                                                            1368 
                                                                                                                                            -
                                                                                                                                            1369  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            1370  return transform_model_term_names;
                                                                                                                                            -
                                                                                                                                            1371  else
                                                                                                                                            -
                                                                                                                                            1372  return counters->get_names();
                                                                                                                                            -
                                                                                                                                            1373 
                                                                                                                                            -
                                                                                                                                            1374 }
                                                                                                                                            -
                                                                                                                                            1375 
                                                                                                                                            -
                                                                                                                                            1376 template <
                                                                                                                                            -
                                                                                                                                            1377  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            1378  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            1379  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            1380  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            1381  >
                                                                                                                                            -
                                                                                                                                            1382 inline Array_Type
                                                                                                                                            - -
                                                                                                                                            1384  const size_t & i,
                                                                                                                                            -
                                                                                                                                            1385  const std::vector<double> & params
                                                                                                                                            -
                                                                                                                                            1386 ) {
                                                                                                                                            -
                                                                                                                                            1387 
                                                                                                                                            -
                                                                                                                                            1388  // Are we recording this?
                                                                                                                                            -
                                                                                                                                            1389  if (!this->with_pset)
                                                                                                                                            -
                                                                                                                                            1390  throw std::logic_error("Sampling is only available when store_pset() is active.");
                                                                                                                                            -
                                                                                                                                            1391 
                                                                                                                                            -
                                                                                                                                            1392  if (i >= arrays2support.size())
                                                                                                                                            -
                                                                                                                                            1393  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            1322  // INITIALIZED()
                                                                                                                                            +
                                                                                                                                            1323  return this->stats_support_sizes.size();
                                                                                                                                            +
                                                                                                                                            1324 
                                                                                                                                            +
                                                                                                                                            1325 }
                                                                                                                                            +
                                                                                                                                            1326 
                                                                                                                                            +
                                                                                                                                            1327 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1329 {
                                                                                                                                            +
                                                                                                                                            1330 
                                                                                                                                            +
                                                                                                                                            1331  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            1332  return transform_model_term_names.size();
                                                                                                                                            +
                                                                                                                                            1333  else
                                                                                                                                            +
                                                                                                                                            1334  return this->counters->size();
                                                                                                                                            +
                                                                                                                                            1335 
                                                                                                                                            +
                                                                                                                                            1336 }
                                                                                                                                            +
                                                                                                                                            1337 
                                                                                                                                            +
                                                                                                                                            1338 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1340 {
                                                                                                                                            +
                                                                                                                                            1341 
                                                                                                                                            +
                                                                                                                                            1342  return this->rules->size();
                                                                                                                                            +
                                                                                                                                            1343 
                                                                                                                                            +
                                                                                                                                            1344 }
                                                                                                                                            +
                                                                                                                                            1345 
                                                                                                                                            +
                                                                                                                                            1346 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1348 {
                                                                                                                                            +
                                                                                                                                            1349 
                                                                                                                                            +
                                                                                                                                            1350  return this->rules_dyn->size();
                                                                                                                                            +
                                                                                                                                            1351 
                                                                                                                                            +
                                                                                                                                            1352 }
                                                                                                                                            +
                                                                                                                                            1353 
                                                                                                                                            +
                                                                                                                                            1354 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1356 {
                                                                                                                                            +
                                                                                                                                            1357 
                                                                                                                                            +
                                                                                                                                            1358  // INITIALIZED()
                                                                                                                                            +
                                                                                                                                            1359  return stats_support_sizes_acc.back();
                                                                                                                                            +
                                                                                                                                            1360  // size_t tot = 0u;
                                                                                                                                            +
                                                                                                                                            1361  // for (auto& a : stats_support)
                                                                                                                                            +
                                                                                                                                            1362  // tot += a.size();
                                                                                                                                            +
                                                                                                                                            1363 
                                                                                                                                            +
                                                                                                                                            1364  // return tot;
                                                                                                                                            +
                                                                                                                                            1365 
                                                                                                                                            +
                                                                                                                                            1366 }
                                                                                                                                            +
                                                                                                                                            1367 
                                                                                                                                            +
                                                                                                                                            1368 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1370 {
                                                                                                                                            +
                                                                                                                                            1371 
                                                                                                                                            +
                                                                                                                                            1372  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            1373  return transform_model_term_names;
                                                                                                                                            +
                                                                                                                                            1374  else
                                                                                                                                            +
                                                                                                                                            1375  return counters->get_names();
                                                                                                                                            +
                                                                                                                                            1376 
                                                                                                                                            +
                                                                                                                                            1377 }
                                                                                                                                            +
                                                                                                                                            1378 
                                                                                                                                            +
                                                                                                                                            1379 template <
                                                                                                                                            +
                                                                                                                                            1380  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            1381  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            1382  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            1383  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            1384  >
                                                                                                                                            +
                                                                                                                                            1385 inline Array_Type
                                                                                                                                            + +
                                                                                                                                            1387  const size_t & i,
                                                                                                                                            +
                                                                                                                                            1388  const std::vector<double> & params
                                                                                                                                            +
                                                                                                                                            1389 ) {
                                                                                                                                            +
                                                                                                                                            1390 
                                                                                                                                            +
                                                                                                                                            1391  // Are we recording this?
                                                                                                                                            +
                                                                                                                                            1392  if (!this->with_pset)
                                                                                                                                            +
                                                                                                                                            1393  throw std::logic_error("Sampling is only available when store_pset() is active.");
                                                                                                                                            1394 
                                                                                                                                            -
                                                                                                                                            1395  // Getting the index
                                                                                                                                            -
                                                                                                                                            1396  size_t a = arrays2support[i];
                                                                                                                                            -
                                                                                                                                            1397 
                                                                                                                                            -
                                                                                                                                            1398  // Generating a random
                                                                                                                                            -
                                                                                                                                            1399  std::uniform_real_distribution<> urand(0, 1);
                                                                                                                                            -
                                                                                                                                            1400  double r = urand(*rengine);
                                                                                                                                            -
                                                                                                                                            1401  double cumprob = 0.0;
                                                                                                                                            -
                                                                                                                                            1402 
                                                                                                                                            -
                                                                                                                                            1403  // Updating the current pset
                                                                                                                                            -
                                                                                                                                            1404  if (pset_probs.size() == 0u)
                                                                                                                                            -
                                                                                                                                            1405  {
                                                                                                                                            -
                                                                                                                                            1406  update_pset_probs(params, 1u, static_cast<int>(a));
                                                                                                                                            -
                                                                                                                                            1407  params_last[a] = params;
                                                                                                                                            -
                                                                                                                                            1408  }
                                                                                                                                            +
                                                                                                                                            1395  if (i >= arrays2support.size())
                                                                                                                                            +
                                                                                                                                            1396  throw std::range_error("The requested support is out of range");
                                                                                                                                            +
                                                                                                                                            1397 
                                                                                                                                            +
                                                                                                                                            1398  // Getting the index
                                                                                                                                            +
                                                                                                                                            1399  size_t a = arrays2support[i];
                                                                                                                                            +
                                                                                                                                            1400 
                                                                                                                                            +
                                                                                                                                            1401  // Generating a random
                                                                                                                                            +
                                                                                                                                            1402  std::uniform_real_distribution<> urand(0, 1);
                                                                                                                                            +
                                                                                                                                            1403  double r = urand(*rengine);
                                                                                                                                            +
                                                                                                                                            1404  double cumprob = 0.0;
                                                                                                                                            +
                                                                                                                                            1405 
                                                                                                                                            +
                                                                                                                                            1406  // Updating the current pset
                                                                                                                                            +
                                                                                                                                            1407  if (pset_probs.size() == 0u)
                                                                                                                                            +
                                                                                                                                            1408  update_pset_probs(params, 1u, static_cast<int>(a));
                                                                                                                                            1409 
                                                                                                                                            1410  // Sampling an array
                                                                                                                                            1411  size_t j = 0u;
                                                                                                                                            @@ -1511,590 +1511,589 @@
                                                                                                                                            1423  } else {
                                                                                                                                            1424 
                                                                                                                                            1425  update_pset_probs(params, 1u, static_cast<int>(a));
                                                                                                                                            -
                                                                                                                                            1426  params_last[a] = params;
                                                                                                                                            -
                                                                                                                                            1427 
                                                                                                                                            -
                                                                                                                                            1428  const double * probs = &pset_probs[pset_locations[a]];
                                                                                                                                            -
                                                                                                                                            1429  while (cumprob < r)
                                                                                                                                            -
                                                                                                                                            1430  cumprob += *(probs + j++);
                                                                                                                                            -
                                                                                                                                            1431 
                                                                                                                                            -
                                                                                                                                            1432  if (j > 0u)
                                                                                                                                            -
                                                                                                                                            1433  j--;
                                                                                                                                            -
                                                                                                                                            1434 
                                                                                                                                            -
                                                                                                                                            1435  #ifdef BARRY_DEBUG
                                                                                                                                            -
                                                                                                                                            1436  if (j > pset_arrays.at(a).size())
                                                                                                                                            -
                                                                                                                                            1437  throw std::logic_error(
                                                                                                                                            -
                                                                                                                                            1438  std::string(
                                                                                                                                            -
                                                                                                                                            1439  "Something went wrong when sampling from a different set of.") +
                                                                                                                                            -
                                                                                                                                            1440  std::string("parameters. Please report this bug: ") +
                                                                                                                                            -
                                                                                                                                            1441  std::string(" cumprob: ") + std::to_string(cumprob) +
                                                                                                                                            -
                                                                                                                                            1442  std::string(" r: ") + std::to_string(r)
                                                                                                                                            -
                                                                                                                                            1443  );
                                                                                                                                            -
                                                                                                                                            1444  #endif
                                                                                                                                            -
                                                                                                                                            1445 
                                                                                                                                            -
                                                                                                                                            1446  }
                                                                                                                                            -
                                                                                                                                            1447 
                                                                                                                                            -
                                                                                                                                            1448  #ifdef BARRY_DEBUG
                                                                                                                                            -
                                                                                                                                            1449  return this->pset_arrays.at(a).at(j);
                                                                                                                                            -
                                                                                                                                            1450  #else
                                                                                                                                            -
                                                                                                                                            1451  return this->pset_arrays[a][j];
                                                                                                                                            -
                                                                                                                                            1452  #endif
                                                                                                                                            -
                                                                                                                                            1453 
                                                                                                                                            -
                                                                                                                                            1454 }
                                                                                                                                            -
                                                                                                                                            1455 
                                                                                                                                            -
                                                                                                                                            1456 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1458  const Array_Type & Array_,
                                                                                                                                            -
                                                                                                                                            1459  const std::vector<double> & params
                                                                                                                                            -
                                                                                                                                            1460 ) {
                                                                                                                                            -
                                                                                                                                            1461 
                                                                                                                                            -
                                                                                                                                            1462  // Are we recording this?
                                                                                                                                            -
                                                                                                                                            1463  if (!this->with_pset)
                                                                                                                                            -
                                                                                                                                            1464  throw std::logic_error("Sampling is only available when store_pset() is active.");
                                                                                                                                            -
                                                                                                                                            1465 
                                                                                                                                            -
                                                                                                                                            1466  size_t i;
                                                                                                                                            -
                                                                                                                                            1467 
                                                                                                                                            -
                                                                                                                                            1468  // If the data hasn't been analyzed earlier, then we need to compute
                                                                                                                                            -
                                                                                                                                            1469  // the support
                                                                                                                                            -
                                                                                                                                            1470  std::vector< double > key = counters->gen_hash(Array_);
                                                                                                                                            -
                                                                                                                                            1471  MapVec_type< double, size_t >::const_iterator locator = keys2support.find(key);
                                                                                                                                            -
                                                                                                                                            1472  if (locator == keys2support.end())
                                                                                                                                            -
                                                                                                                                            1473  {
                                                                                                                                            -
                                                                                                                                            1474  size_t stats_support_size = stats_support.size();
                                                                                                                                            -
                                                                                                                                            1475 
                                                                                                                                            -
                                                                                                                                            1476  // Adding to the map
                                                                                                                                            -
                                                                                                                                            1477  keys2support[key] = stats_support_sizes.size();
                                                                                                                                            -
                                                                                                                                            1478  stats_support_n_arrays.push_back(1u); // How many elements now
                                                                                                                                            -
                                                                                                                                            1479  arrays2support.push_back(stats_support_sizes.size()); // Map of the array id to the support
                                                                                                                                            -
                                                                                                                                            1480 
                                                                                                                                            -
                                                                                                                                            1481  // Computing support using the counters included in the model
                                                                                                                                            -
                                                                                                                                            1482  support_fun.reset_array(Array_);
                                                                                                                                            -
                                                                                                                                            1483 
                                                                                                                                            -
                                                                                                                                            1486  if (with_pset)
                                                                                                                                            -
                                                                                                                                            1487  {
                                                                                                                                            -
                                                                                                                                            1488 
                                                                                                                                            -
                                                                                                                                            1489  // Current size of the powerset
                                                                                                                                            -
                                                                                                                                            1490  size_t pset_stats_size = pset_stats.size();
                                                                                                                                            -
                                                                                                                                            1491 
                                                                                                                                            -
                                                                                                                                            1492  // Making space for storing the support
                                                                                                                                            -
                                                                                                                                            1493  pset_arrays.resize(pset_arrays.size() + 1u);
                                                                                                                                            -
                                                                                                                                            1494  // pset_stats.resize(pset_stats.size() + 1u);
                                                                                                                                            -
                                                                                                                                            1495  // pset_probs.resize(pset_probs.size() + 1u);
                                                                                                                                            -
                                                                                                                                            1496 
                                                                                                                                            -
                                                                                                                                            1497  try
                                                                                                                                            -
                                                                                                                                            1498  {
                                                                                                                                            -
                                                                                                                                            1499 
                                                                                                                                            -
                                                                                                                                            1500  support_fun.calc(
                                                                                                                                            -
                                                                                                                                            1501  &(pset_arrays[pset_arrays.size() - 1u]),
                                                                                                                                            -
                                                                                                                                            1502  &pset_stats
                                                                                                                                            -
                                                                                                                                            1503  );
                                                                                                                                            -
                                                                                                                                            1504 
                                                                                                                                            -
                                                                                                                                            1505  }
                                                                                                                                            -
                                                                                                                                            1506  catch (const std::exception& e)
                                                                                                                                            -
                                                                                                                                            1507  {
                                                                                                                                            -
                                                                                                                                            1508 
                                                                                                                                            -
                                                                                                                                            1509  printf_barry(
                                                                                                                                            -
                                                                                                                                            1510  "A problem ocurred while trying to add the array (and recording the powerset). "
                                                                                                                                            -
                                                                                                                                            1511  );
                                                                                                                                            -
                                                                                                                                            1512  printf_barry("with error %s\n", e.what());
                                                                                                                                            -
                                                                                                                                            1513  throw std::logic_error("");
                                                                                                                                            -
                                                                                                                                            1514 
                                                                                                                                            -
                                                                                                                                            1515  }
                                                                                                                                            -
                                                                                                                                            1516 
                                                                                                                                            -
                                                                                                                                            1517  // Recording the number of elements
                                                                                                                                            -
                                                                                                                                            1518  pset_locations.push_back(
                                                                                                                                            -
                                                                                                                                            1519  pset_locations.size() == 0u ?
                                                                                                                                            -
                                                                                                                                            1520  0u :
                                                                                                                                            -
                                                                                                                                            1521  pset_locations.back() + pset_sizes.back()
                                                                                                                                            -
                                                                                                                                            1522  );
                                                                                                                                            -
                                                                                                                                            1523 
                                                                                                                                            -
                                                                                                                                            1524  pset_sizes.push_back(
                                                                                                                                            -
                                                                                                                                            1525  (pset_stats.size() - pset_stats_size) / (counter_fun.size())
                                                                                                                                            -
                                                                                                                                            1526  );
                                                                                                                                            -
                                                                                                                                            1527 
                                                                                                                                            -
                                                                                                                                            1528  // Increasing the space to store probabilities
                                                                                                                                            -
                                                                                                                                            1529  pset_probs.resize(pset_probs.size() + pset_sizes.back());
                                                                                                                                            -
                                                                                                                                            1530 
                                                                                                                                            -
                                                                                                                                            1531 
                                                                                                                                            -
                                                                                                                                            1532  }
                                                                                                                                            -
                                                                                                                                            1533  else
                                                                                                                                            -
                                                                                                                                            1534  {
                                                                                                                                            -
                                                                                                                                            1535  support_fun.calc();
                                                                                                                                            -
                                                                                                                                            1536  }
                                                                                                                                            -
                                                                                                                                            1537 
                                                                                                                                            -
                                                                                                                                            1538  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            1539  {
                                                                                                                                            -
                                                                                                                                            1540  auto tmpsupport = support_fun.get_counts();
                                                                                                                                            -
                                                                                                                                            1541  size_t k = counter_fun.size();
                                                                                                                                            -
                                                                                                                                            1542  size_t n = tmpsupport.size() / (k + 1);
                                                                                                                                            -
                                                                                                                                            1543 
                                                                                                                                            -
                                                                                                                                            1544  std::vector< double > s_new(0u);
                                                                                                                                            -
                                                                                                                                            1545  s_new.reserve(tmpsupport.size());
                                                                                                                                            -
                                                                                                                                            1546 
                                                                                                                                            -
                                                                                                                                            1547  for (size_t i = 0u; i < n; ++i)
                                                                                                                                            -
                                                                                                                                            1548  {
                                                                                                                                            -
                                                                                                                                            1549 
                                                                                                                                            -
                                                                                                                                            1550  // Appending size
                                                                                                                                            -
                                                                                                                                            1551  s_new.push_back(tmpsupport[i * (k + 1u)]);
                                                                                                                                            -
                                                                                                                                            1552 
                                                                                                                                            -
                                                                                                                                            1553  // Applying transformation and adding to the new set
                                                                                                                                            -
                                                                                                                                            1554  auto res = transform_model_fun(&tmpsupport[i * (k + 1u) + 1u], k);
                                                                                                                                            -
                                                                                                                                            1555  std::copy(res.begin(), res.end(), std::back_inserter(s_new));
                                                                                                                                            -
                                                                                                                                            1556 
                                                                                                                                            -
                                                                                                                                            1557  }
                                                                                                                                            -
                                                                                                                                            1558 
                                                                                                                                            -
                                                                                                                                            1559  for (auto & s : s_new)
                                                                                                                                            -
                                                                                                                                            1560  stats_support.push_back(s);
                                                                                                                                            -
                                                                                                                                            1561  // stats_support.push_back(s_new);
                                                                                                                                            -
                                                                                                                                            1562 
                                                                                                                                            -
                                                                                                                                            1563  } else {
                                                                                                                                            -
                                                                                                                                            1564  for (auto & s : support_fun.get_counts())
                                                                                                                                            -
                                                                                                                                            1565  stats_support.push_back(s);
                                                                                                                                            -
                                                                                                                                            1566 
                                                                                                                                            -
                                                                                                                                            1567  // stats_support.push_back(support_fun.get_counts());
                                                                                                                                            -
                                                                                                                                            1568  }
                                                                                                                                            -
                                                                                                                                            1569 
                                                                                                                                            -
                                                                                                                                            1570  // Making room for the previous parameters. This will be used to check if
                                                                                                                                            -
                                                                                                                                            1571  // the normalizing constant has been updated or not.
                                                                                                                                            -
                                                                                                                                            1572  params_last.push_back(stats_target[0u]);
                                                                                                                                            -
                                                                                                                                            1573  normalizing_constants.push_back(0.0);
                                                                                                                                            -
                                                                                                                                            1574  first_calc_done.push_back(false);
                                                                                                                                            -
                                                                                                                                            1575 
                                                                                                                                            -
                                                                                                                                            1576  // Incrementing the size of the support set
                                                                                                                                            -
                                                                                                                                            1577  if (stats_support_sizes.size() == 0u)
                                                                                                                                            -
                                                                                                                                            1578  {
                                                                                                                                            -
                                                                                                                                            1579  stats_support_sizes_acc.push_back(0u);
                                                                                                                                            -
                                                                                                                                            1580  } else {
                                                                                                                                            -
                                                                                                                                            1581  stats_support_sizes_acc.push_back(
                                                                                                                                            -
                                                                                                                                            1582  stats_support_sizes.back() +
                                                                                                                                            -
                                                                                                                                            1583  stats_support_sizes_acc.back()
                                                                                                                                            -
                                                                                                                                            1584  );
                                                                                                                                            -
                                                                                                                                            1585  }
                                                                                                                                            +
                                                                                                                                            1426 
                                                                                                                                            +
                                                                                                                                            1427  const double * probs = &pset_probs[pset_locations[a]];
                                                                                                                                            +
                                                                                                                                            1428  while (cumprob < r)
                                                                                                                                            +
                                                                                                                                            1429  cumprob += *(probs + j++);
                                                                                                                                            +
                                                                                                                                            1430 
                                                                                                                                            +
                                                                                                                                            1431  if (j > 0u)
                                                                                                                                            +
                                                                                                                                            1432  j--;
                                                                                                                                            +
                                                                                                                                            1433 
                                                                                                                                            +
                                                                                                                                            1434  #ifdef BARRY_DEBUG
                                                                                                                                            +
                                                                                                                                            1435  if (j > pset_arrays.at(a).size())
                                                                                                                                            +
                                                                                                                                            1436  throw std::logic_error(
                                                                                                                                            +
                                                                                                                                            1437  std::string(
                                                                                                                                            +
                                                                                                                                            1438  "Something went wrong when sampling from a different set of.") +
                                                                                                                                            +
                                                                                                                                            1439  std::string("parameters. Please report this bug: ") +
                                                                                                                                            +
                                                                                                                                            1440  std::string(" cumprob: ") + std::to_string(cumprob) +
                                                                                                                                            +
                                                                                                                                            1441  std::string(" r: ") + std::to_string(r)
                                                                                                                                            +
                                                                                                                                            1442  );
                                                                                                                                            +
                                                                                                                                            1443  #endif
                                                                                                                                            +
                                                                                                                                            1444 
                                                                                                                                            +
                                                                                                                                            1445  }
                                                                                                                                            +
                                                                                                                                            1446 
                                                                                                                                            +
                                                                                                                                            1447  #ifdef BARRY_DEBUG
                                                                                                                                            +
                                                                                                                                            1448  return this->pset_arrays.at(a).at(j);
                                                                                                                                            +
                                                                                                                                            1449  #else
                                                                                                                                            +
                                                                                                                                            1450  return this->pset_arrays[a][j];
                                                                                                                                            +
                                                                                                                                            1451  #endif
                                                                                                                                            +
                                                                                                                                            1452 
                                                                                                                                            +
                                                                                                                                            1453 }
                                                                                                                                            +
                                                                                                                                            1454 
                                                                                                                                            +
                                                                                                                                            1455 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1457  const Array_Type & Array_,
                                                                                                                                            +
                                                                                                                                            1458  const std::vector<double> & params
                                                                                                                                            +
                                                                                                                                            1459 ) {
                                                                                                                                            +
                                                                                                                                            1460 
                                                                                                                                            +
                                                                                                                                            1461  // Are we recording this?
                                                                                                                                            +
                                                                                                                                            1462  if (!this->with_pset)
                                                                                                                                            +
                                                                                                                                            1463  throw std::logic_error("Sampling is only available when store_pset() is active.");
                                                                                                                                            +
                                                                                                                                            1464 
                                                                                                                                            +
                                                                                                                                            1465  size_t i;
                                                                                                                                            +
                                                                                                                                            1466 
                                                                                                                                            +
                                                                                                                                            1467  // If the data hasn't been analyzed earlier, then we need to compute
                                                                                                                                            +
                                                                                                                                            1468  // the support
                                                                                                                                            +
                                                                                                                                            1469  std::vector< double > key = counters->gen_hash(Array_);
                                                                                                                                            +
                                                                                                                                            1470  MapVec_type< double, size_t >::const_iterator locator = keys2support.find(key);
                                                                                                                                            +
                                                                                                                                            1471  if (locator == keys2support.end())
                                                                                                                                            +
                                                                                                                                            1472  {
                                                                                                                                            +
                                                                                                                                            1473  size_t stats_support_size = stats_support.size();
                                                                                                                                            +
                                                                                                                                            1474 
                                                                                                                                            +
                                                                                                                                            1475  // Adding to the map
                                                                                                                                            +
                                                                                                                                            1476  keys2support[key] = stats_support_sizes.size();
                                                                                                                                            +
                                                                                                                                            1477  stats_support_n_arrays.push_back(1u); // How many elements now
                                                                                                                                            +
                                                                                                                                            1478  arrays2support.push_back(stats_support_sizes.size()); // Map of the array id to the support
                                                                                                                                            +
                                                                                                                                            1479 
                                                                                                                                            +
                                                                                                                                            1480  // Computing support using the counters included in the model
                                                                                                                                            +
                                                                                                                                            1481  support_fun.reset_array(Array_);
                                                                                                                                            +
                                                                                                                                            1482 
                                                                                                                                            +
                                                                                                                                            1485  if (with_pset)
                                                                                                                                            +
                                                                                                                                            1486  {
                                                                                                                                            +
                                                                                                                                            1487 
                                                                                                                                            +
                                                                                                                                            1488  // Current size of the powerset
                                                                                                                                            +
                                                                                                                                            1489  size_t pset_stats_size = pset_stats.size();
                                                                                                                                            +
                                                                                                                                            1490 
                                                                                                                                            +
                                                                                                                                            1491  // Making space for storing the support
                                                                                                                                            +
                                                                                                                                            1492  pset_arrays.resize(pset_arrays.size() + 1u);
                                                                                                                                            +
                                                                                                                                            1493  // pset_stats.resize(pset_stats.size() + 1u);
                                                                                                                                            +
                                                                                                                                            1494  // pset_probs.resize(pset_probs.size() + 1u);
                                                                                                                                            +
                                                                                                                                            1495 
                                                                                                                                            +
                                                                                                                                            1496  try
                                                                                                                                            +
                                                                                                                                            1497  {
                                                                                                                                            +
                                                                                                                                            1498 
                                                                                                                                            +
                                                                                                                                            1499  support_fun.calc(
                                                                                                                                            +
                                                                                                                                            1500  &(pset_arrays[pset_arrays.size() - 1u]),
                                                                                                                                            +
                                                                                                                                            1501  &pset_stats
                                                                                                                                            +
                                                                                                                                            1502  );
                                                                                                                                            +
                                                                                                                                            1503 
                                                                                                                                            +
                                                                                                                                            1504  }
                                                                                                                                            +
                                                                                                                                            1505  catch (const std::exception& e)
                                                                                                                                            +
                                                                                                                                            1506  {
                                                                                                                                            +
                                                                                                                                            1507 
                                                                                                                                            +
                                                                                                                                            1508  printf_barry(
                                                                                                                                            +
                                                                                                                                            1509  "A problem ocurred while trying to add the array (and recording the powerset). "
                                                                                                                                            +
                                                                                                                                            1510  );
                                                                                                                                            +
                                                                                                                                            1511  printf_barry("with error %s\n", e.what());
                                                                                                                                            +
                                                                                                                                            1512  throw std::logic_error("");
                                                                                                                                            +
                                                                                                                                            1513 
                                                                                                                                            +
                                                                                                                                            1514  }
                                                                                                                                            +
                                                                                                                                            1515 
                                                                                                                                            +
                                                                                                                                            1516  // Recording the number of elements
                                                                                                                                            +
                                                                                                                                            1517  pset_locations.push_back(
                                                                                                                                            +
                                                                                                                                            1518  pset_locations.size() == 0u ?
                                                                                                                                            +
                                                                                                                                            1519  0u :
                                                                                                                                            +
                                                                                                                                            1520  pset_locations.back() + pset_sizes.back()
                                                                                                                                            +
                                                                                                                                            1521  );
                                                                                                                                            +
                                                                                                                                            1522 
                                                                                                                                            +
                                                                                                                                            1523  pset_sizes.push_back(
                                                                                                                                            +
                                                                                                                                            1524  (pset_stats.size() - pset_stats_size) / (counter_fun.size())
                                                                                                                                            +
                                                                                                                                            1525  );
                                                                                                                                            +
                                                                                                                                            1526 
                                                                                                                                            +
                                                                                                                                            1527  // Increasing the space to store probabilities
                                                                                                                                            +
                                                                                                                                            1528  pset_probs.resize(pset_probs.size() + pset_sizes.back());
                                                                                                                                            +
                                                                                                                                            1529 
                                                                                                                                            +
                                                                                                                                            1530 
                                                                                                                                            +
                                                                                                                                            1531  }
                                                                                                                                            +
                                                                                                                                            1532  else
                                                                                                                                            +
                                                                                                                                            1533  {
                                                                                                                                            +
                                                                                                                                            1534  support_fun.calc();
                                                                                                                                            +
                                                                                                                                            1535  }
                                                                                                                                            +
                                                                                                                                            1536 
                                                                                                                                            +
                                                                                                                                            1537  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            1538  {
                                                                                                                                            +
                                                                                                                                            1539  auto tmpsupport = support_fun.get_counts();
                                                                                                                                            +
                                                                                                                                            1540  size_t k = counter_fun.size();
                                                                                                                                            +
                                                                                                                                            1541  size_t n = tmpsupport.size() / (k + 1);
                                                                                                                                            +
                                                                                                                                            1542 
                                                                                                                                            +
                                                                                                                                            1543  std::vector< double > s_new(0u);
                                                                                                                                            +
                                                                                                                                            1544  s_new.reserve(tmpsupport.size());
                                                                                                                                            +
                                                                                                                                            1545 
                                                                                                                                            +
                                                                                                                                            1546  for (size_t i = 0u; i < n; ++i)
                                                                                                                                            +
                                                                                                                                            1547  {
                                                                                                                                            +
                                                                                                                                            1548 
                                                                                                                                            +
                                                                                                                                            1549  // Appending size
                                                                                                                                            +
                                                                                                                                            1550  s_new.push_back(tmpsupport[i * (k + 1u)]);
                                                                                                                                            +
                                                                                                                                            1551 
                                                                                                                                            +
                                                                                                                                            1552  // Applying transformation and adding to the new set
                                                                                                                                            +
                                                                                                                                            1553  auto res = transform_model_fun(&tmpsupport[i * (k + 1u) + 1u], k);
                                                                                                                                            +
                                                                                                                                            1554  std::copy(res.begin(), res.end(), std::back_inserter(s_new));
                                                                                                                                            +
                                                                                                                                            1555 
                                                                                                                                            +
                                                                                                                                            1556  }
                                                                                                                                            +
                                                                                                                                            1557 
                                                                                                                                            +
                                                                                                                                            1558  for (auto & s : s_new)
                                                                                                                                            +
                                                                                                                                            1559  stats_support.push_back(s);
                                                                                                                                            +
                                                                                                                                            1560  // stats_support.push_back(s_new);
                                                                                                                                            +
                                                                                                                                            1561 
                                                                                                                                            +
                                                                                                                                            1562  } else {
                                                                                                                                            +
                                                                                                                                            1563  for (auto & s : support_fun.get_counts())
                                                                                                                                            +
                                                                                                                                            1564  stats_support.push_back(s);
                                                                                                                                            +
                                                                                                                                            1565 
                                                                                                                                            +
                                                                                                                                            1566  // stats_support.push_back(support_fun.get_counts());
                                                                                                                                            +
                                                                                                                                            1567  }
                                                                                                                                            +
                                                                                                                                            1568 
                                                                                                                                            +
                                                                                                                                            1569  // Making room for the previous parameters. This will be used to check if
                                                                                                                                            +
                                                                                                                                            1570  // the normalizing constant has been updated or not.
                                                                                                                                            +
                                                                                                                                            1571  params_last.push_back(stats_target[0u]);
                                                                                                                                            +
                                                                                                                                            1572  normalizing_constants.push_back(0.0);
                                                                                                                                            +
                                                                                                                                            1573  first_calc_done.push_back(false);
                                                                                                                                            +
                                                                                                                                            1574 
                                                                                                                                            +
                                                                                                                                            1575  // Incrementing the size of the support set
                                                                                                                                            +
                                                                                                                                            1576  if (stats_support_sizes.size() == 0u)
                                                                                                                                            +
                                                                                                                                            1577  {
                                                                                                                                            +
                                                                                                                                            1578  stats_support_sizes_acc.push_back(0u);
                                                                                                                                            +
                                                                                                                                            1579  } else {
                                                                                                                                            +
                                                                                                                                            1580  stats_support_sizes_acc.push_back(
                                                                                                                                            +
                                                                                                                                            1581  stats_support_sizes.back() +
                                                                                                                                            +
                                                                                                                                            1582  stats_support_sizes_acc.back()
                                                                                                                                            +
                                                                                                                                            1583  );
                                                                                                                                            +
                                                                                                                                            1584  }
                                                                                                                                            +
                                                                                                                                            1585 
                                                                                                                                            1586 
                                                                                                                                            -
                                                                                                                                            1587 
                                                                                                                                            -
                                                                                                                                            1588  stats_support_sizes.push_back(
                                                                                                                                            -
                                                                                                                                            1589 
                                                                                                                                            -
                                                                                                                                            1590  (stats_support.size() - stats_support_size)/
                                                                                                                                            -
                                                                                                                                            1591  (counter_fun.size() + 1u)
                                                                                                                                            -
                                                                                                                                            1592 
                                                                                                                                            -
                                                                                                                                            1593  );
                                                                                                                                            -
                                                                                                                                            1594 
                                                                                                                                            -
                                                                                                                                            1595 
                                                                                                                                            -
                                                                                                                                            1596  i = arrays2support.size() - 1u;
                                                                                                                                            -
                                                                                                                                            1597  } else
                                                                                                                                            -
                                                                                                                                            1598  // Retrieving the corresponding position in the support
                                                                                                                                            -
                                                                                                                                            1599  i = locator->second;
                                                                                                                                            -
                                                                                                                                            1600 
                                                                                                                                            -
                                                                                                                                            1601  // Getting the index
                                                                                                                                            -
                                                                                                                                            1602  size_t a = arrays2support[i];
                                                                                                                                            -
                                                                                                                                            1603 
                                                                                                                                            -
                                                                                                                                            1604  // Generating a random
                                                                                                                                            -
                                                                                                                                            1605  std::uniform_real_distribution<> urand(0, 1);
                                                                                                                                            -
                                                                                                                                            1606  double r = urand(*rengine);
                                                                                                                                            -
                                                                                                                                            1607  double cumprob = 0.0;
                                                                                                                                            -
                                                                                                                                            1608 
                                                                                                                                            -
                                                                                                                                            1609  size_t k = params.size();
                                                                                                                                            -
                                                                                                                                            1610 
                                                                                                                                            -
                                                                                                                                            1611  // Sampling an array
                                                                                                                                            -
                                                                                                                                            1612  size_t j = 0u;
                                                                                                                                            -
                                                                                                                                            1613  double * probs = &pset_probs[ pset_locations[a] ];
                                                                                                                                            -
                                                                                                                                            1614  if (first_calc_done[a] && (vec_equal_approx(params, params_last[a])))
                                                                                                                                            -
                                                                                                                                            1615  // If precomputed, then no need to recalc support
                                                                                                                                            -
                                                                                                                                            1616  {
                                                                                                                                            -
                                                                                                                                            1617 
                                                                                                                                            -
                                                                                                                                            1618  while (cumprob < r)
                                                                                                                                            -
                                                                                                                                            1619  cumprob += *(probs + j++);
                                                                                                                                            -
                                                                                                                                            1620 
                                                                                                                                            -
                                                                                                                                            1621  if (j > 0u)
                                                                                                                                            -
                                                                                                                                            1622  j--;
                                                                                                                                            -
                                                                                                                                            1623 
                                                                                                                                            -
                                                                                                                                            1624  } else {
                                                                                                                                            -
                                                                                                                                            1625 
                                                                                                                                            -
                                                                                                                                            1626  // probs.resize(pset_arrays[a].size());
                                                                                                                                            -
                                                                                                                                            1627  std::vector< double > temp_stats(params.size());
                                                                                                                                            -
                                                                                                                                            1628  const double * stats = &pset_stats[pset_locations[a] * k];
                                                                                                                                            -
                                                                                                                                            1629 
                                                                                                                                            -
                                                                                                                                            1630  int i_matches = -1;
                                                                                                                                            -
                                                                                                                                            1631  for (size_t array = 0u; array < pset_sizes[a]; ++array)
                                                                                                                                            -
                                                                                                                                            1632  {
                                                                                                                                            -
                                                                                                                                            1633 
                                                                                                                                            -
                                                                                                                                            1634  // Filling out the parameters
                                                                                                                                            -
                                                                                                                                            1635  for (auto p = 0u; p < params.size(); ++p)
                                                                                                                                            -
                                                                                                                                            1636  temp_stats[p] = stats[array * k + p];
                                                                                                                                            -
                                                                                                                                            1637 
                                                                                                                                            -
                                                                                                                                            1638  *(probs + array) = this->likelihood(params, temp_stats, i, false);
                                                                                                                                            -
                                                                                                                                            1639  cumprob += *(probs + array);
                                                                                                                                            -
                                                                                                                                            1640 
                                                                                                                                            -
                                                                                                                                            1641  if (i_matches == -1 && cumprob >= r)
                                                                                                                                            -
                                                                                                                                            1642  i_matches = array;
                                                                                                                                            -
                                                                                                                                            1643  }
                                                                                                                                            -
                                                                                                                                            1644 
                                                                                                                                            -
                                                                                                                                            1645  #ifdef BARRY_DEBUG
                                                                                                                                            -
                                                                                                                                            1646  if (i_matches < 0)
                                                                                                                                            -
                                                                                                                                            1647  throw std::logic_error(
                                                                                                                                            -
                                                                                                                                            1648  std::string(
                                                                                                                                            -
                                                                                                                                            1649  "Something went wrong when sampling from a different set of.") +
                                                                                                                                            -
                                                                                                                                            1650  std::string("parameters. Please report this bug: ") +
                                                                                                                                            -
                                                                                                                                            1651  std::string(" cumprob: ") + std::to_string(cumprob) +
                                                                                                                                            -
                                                                                                                                            1652  std::string(" r: ") + std::to_string(r)
                                                                                                                                            -
                                                                                                                                            1653  );
                                                                                                                                            -
                                                                                                                                            1654  #endif
                                                                                                                                            -
                                                                                                                                            1655 
                                                                                                                                            -
                                                                                                                                            1656  j = i_matches;
                                                                                                                                            -
                                                                                                                                            1657  first_calc_done[a] = true;
                                                                                                                                            -
                                                                                                                                            1658  }
                                                                                                                                            -
                                                                                                                                            1659 
                                                                                                                                            -
                                                                                                                                            1660 
                                                                                                                                            -
                                                                                                                                            1661  #ifdef BARRY_DEBUG
                                                                                                                                            -
                                                                                                                                            1662  return this->pset_arrays.at(a).at(j);
                                                                                                                                            -
                                                                                                                                            1663  #else
                                                                                                                                            -
                                                                                                                                            1664  return this->pset_arrays[a][j];
                                                                                                                                            -
                                                                                                                                            1665  #endif
                                                                                                                                            -
                                                                                                                                            1666 
                                                                                                                                            -
                                                                                                                                            1667 }
                                                                                                                                            -
                                                                                                                                            1668 
                                                                                                                                            -
                                                                                                                                            1669 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1671  const Array_Type & Array_,
                                                                                                                                            -
                                                                                                                                            1672  const std::vector< double > & params,
                                                                                                                                            -
                                                                                                                                            1673  size_t i,
                                                                                                                                            -
                                                                                                                                            1674  size_t j
                                                                                                                                            -
                                                                                                                                            1675 ) {
                                                                                                                                            -
                                                                                                                                            1676 
                                                                                                                                            -
                                                                                                                                            1677  // Generating a copy of the array so we can update
                                                                                                                                            -
                                                                                                                                            1678  Array_Type A(Array_, true);
                                                                                                                                            -
                                                                                                                                            1679 
                                                                                                                                            -
                                                                                                                                            1680  // Making sure we add it first
                                                                                                                                            -
                                                                                                                                            1681  A.insert_cell(i, j, A.default_val(), true, false);
                                                                                                                                            -
                                                                                                                                            1682 
                                                                                                                                            -
                                                                                                                                            1683  // Computing the change stats_target
                                                                                                                                            -
                                                                                                                                            1684  std::vector< double > tmp_counts;
                                                                                                                                            -
                                                                                                                                            1685  tmp_counts.reserve(counters->size());
                                                                                                                                            -
                                                                                                                                            1686  for (size_t ii = 0u; ii < counters->size(); ++ii)
                                                                                                                                            -
                                                                                                                                            1687  tmp_counts.push_back(counters->operator[](ii).count(A, i, j));
                                                                                                                                            -
                                                                                                                                            1688 
                                                                                                                                            -
                                                                                                                                            1689  // If there is a transformation function, it needs to be
                                                                                                                                            -
                                                                                                                                            1690  // applied before dealing with the likelihood.
                                                                                                                                            -
                                                                                                                                            1691  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            1692  tmp_counts = transform_model_fun(&tmp_counts[0u], tmp_counts.size());
                                                                                                                                            -
                                                                                                                                            1693 
                                                                                                                                            -
                                                                                                                                            1694  return 1.0/
                                                                                                                                            -
                                                                                                                                            1695  (1.0 + std::exp(-vec_inner_prod<double>(
                                                                                                                                            -
                                                                                                                                            1696  &params[0u], &tmp_counts[0u], params.size()
                                                                                                                                            -
                                                                                                                                            1697  )));
                                                                                                                                            -
                                                                                                                                            1698 
                                                                                                                                            -
                                                                                                                                            1699 
                                                                                                                                            -
                                                                                                                                            1700 }
                                                                                                                                            -
                                                                                                                                            1701 
                                                                                                                                            -
                                                                                                                                            1702 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1704  return this->rengine;
                                                                                                                                            -
                                                                                                                                            1705 }
                                                                                                                                            -
                                                                                                                                            1706 
                                                                                                                                            -
                                                                                                                                            1707 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1709  return this->counters;
                                                                                                                                            -
                                                                                                                                            1710 }
                                                                                                                                            -
                                                                                                                                            1711 
                                                                                                                                            -
                                                                                                                                            1712 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1714  return this->rules;
                                                                                                                                            -
                                                                                                                                            1715 }
                                                                                                                                            -
                                                                                                                                            1716 
                                                                                                                                            -
                                                                                                                                            1717 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1719  return this->rules_dyn;
                                                                                                                                            -
                                                                                                                                            1720 }
                                                                                                                                            -
                                                                                                                                            1721 
                                                                                                                                            -
                                                                                                                                            1722 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - - -
                                                                                                                                            1725  return &this->support_fun;
                                                                                                                                            -
                                                                                                                                            1726 }
                                                                                                                                            -
                                                                                                                                            1727 
                                                                                                                                            -
                                                                                                                                            1728 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            - -
                                                                                                                                            1730 {
                                                                                                                                            -
                                                                                                                                            1731  return &stats_target;
                                                                                                                                            -
                                                                                                                                            1732 }
                                                                                                                                            -
                                                                                                                                            1733 
                                                                                                                                            -
                                                                                                                                            1734 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1735 inline std::vector< double > *
                                                                                                                                            - -
                                                                                                                                            1737 {
                                                                                                                                            -
                                                                                                                                            1738  return &stats_support;
                                                                                                                                            -
                                                                                                                                            1739 }
                                                                                                                                            -
                                                                                                                                            1740 
                                                                                                                                            -
                                                                                                                                            1741 // Implementation of get_stats_support_sizes()
                                                                                                                                            -
                                                                                                                                            1742 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1743 inline std::vector< size_t > *
                                                                                                                                            - -
                                                                                                                                            1745 {
                                                                                                                                            -
                                                                                                                                            1746  return &stats_support_sizes;
                                                                                                                                            -
                                                                                                                                            1747 }
                                                                                                                                            -
                                                                                                                                            1748 
                                                                                                                                            -
                                                                                                                                            1749 // Implementation of get_stats_support_sizes_acc()
                                                                                                                                            -
                                                                                                                                            1750 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1751 inline std::vector< size_t > *
                                                                                                                                            - -
                                                                                                                                            1753 {
                                                                                                                                            -
                                                                                                                                            1754  return &stats_support_sizes_acc;
                                                                                                                                            -
                                                                                                                                            1755 }
                                                                                                                                            -
                                                                                                                                            1756 
                                                                                                                                            -
                                                                                                                                            1757 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1758 inline std::vector< size_t > *
                                                                                                                                            - -
                                                                                                                                            1760 {
                                                                                                                                            -
                                                                                                                                            1761  return &arrays2support;
                                                                                                                                            -
                                                                                                                                            1762 }
                                                                                                                                            -
                                                                                                                                            1763 
                                                                                                                                            -
                                                                                                                                            1764 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1765 inline std::vector< std::vector< Array_Type > > *
                                                                                                                                            - -
                                                                                                                                            1767  return &pset_arrays;
                                                                                                                                            -
                                                                                                                                            1768 }
                                                                                                                                            -
                                                                                                                                            1769 
                                                                                                                                            -
                                                                                                                                            1770 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            -
                                                                                                                                            1771 inline std::vector<double> *
                                                                                                                                            - -
                                                                                                                                            1773  return &pset_stats;
                                                                                                                                            -
                                                                                                                                            1774 }
                                                                                                                                            -
                                                                                                                                            1775 
                                                                                                                                            -
                                                                                                                                            1776 template <
                                                                                                                                            -
                                                                                                                                            1777  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            1778  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            1779  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            1780  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            1781  >
                                                                                                                                            -
                                                                                                                                            1782 inline std::vector<double> *
                                                                                                                                            - -
                                                                                                                                            1784  return &pset_probs;
                                                                                                                                            -
                                                                                                                                            1785 }
                                                                                                                                            -
                                                                                                                                            1786 
                                                                                                                                            -
                                                                                                                                            1787 template <
                                                                                                                                            -
                                                                                                                                            1788  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            1789  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            1790  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            1791  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            1792  >
                                                                                                                                            - -
                                                                                                                                            1794 {
                                                                                                                                            -
                                                                                                                                            1795  return &pset_sizes;
                                                                                                                                            -
                                                                                                                                            1796 }
                                                                                                                                            -
                                                                                                                                            1797 
                                                                                                                                            -
                                                                                                                                            1798 template <
                                                                                                                                            -
                                                                                                                                            1799  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            1800  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            1801  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            1802  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            1803  >
                                                                                                                                            - -
                                                                                                                                            1805 {
                                                                                                                                            -
                                                                                                                                            1806  return &pset_locations;
                                                                                                                                            -
                                                                                                                                            1807 }
                                                                                                                                            -
                                                                                                                                            1808 
                                                                                                                                            -
                                                                                                                                            1809 template <
                                                                                                                                            -
                                                                                                                                            1810  typename Array_Type,
                                                                                                                                            -
                                                                                                                                            1811  typename Data_Counter_Type,
                                                                                                                                            -
                                                                                                                                            1812  typename Data_Rule_Type,
                                                                                                                                            -
                                                                                                                                            1813  typename Data_Rule_Dyn_Type
                                                                                                                                            -
                                                                                                                                            1814  >
                                                                                                                                            -
                                                                                                                                            1815 inline void
                                                                                                                                            - -
                                                                                                                                            1817  std::function<std::vector<double>(double *,size_t)> fun,
                                                                                                                                            -
                                                                                                                                            1818  std::vector< std::string > names
                                                                                                                                            -
                                                                                                                                            1819  )
                                                                                                                                            -
                                                                                                                                            1820 {
                                                                                                                                            -
                                                                                                                                            1821 
                                                                                                                                            -
                                                                                                                                            1822  if (transform_model_fun)
                                                                                                                                            -
                                                                                                                                            1823  throw std::logic_error("A transformation function for the model has already been established.");
                                                                                                                                            -
                                                                                                                                            1824 
                                                                                                                                            -
                                                                                                                                            1825  transform_model_fun = fun;
                                                                                                                                            -
                                                                                                                                            1826  transform_model_term_names = names;
                                                                                                                                            -
                                                                                                                                            1827 
                                                                                                                                            -
                                                                                                                                            1828  size_t k = counters->size();
                                                                                                                                            -
                                                                                                                                            1829 
                                                                                                                                            -
                                                                                                                                            1830  auto stats_support_old = stats_support;
                                                                                                                                            -
                                                                                                                                            1831 
                                                                                                                                            -
                                                                                                                                            1832  // Applying over the support
                                                                                                                                            -
                                                                                                                                            1833  for (size_t nsupport = 0u; nsupport < stats_support_sizes.size(); ++nsupport)
                                                                                                                                            -
                                                                                                                                            1834  {
                                                                                                                                            -
                                                                                                                                            1835 
                                                                                                                                            -
                                                                                                                                            1836  // How many observations in the support
                                                                                                                                            -
                                                                                                                                            1837  size_t n = stats_support_sizes[nsupport];
                                                                                                                                            -
                                                                                                                                            1838 
                                                                                                                                            -
                                                                                                                                            1839  // Iterating through each observation in the nsupport'th
                                                                                                                                            -
                                                                                                                                            1840  for (size_t i = 0; i < n; ++i)
                                                                                                                                            -
                                                                                                                                            1841  {
                                                                                                                                            -
                                                                                                                                            1842 
                                                                                                                                            -
                                                                                                                                            1843  // Applying transformation and adding to the new set
                                                                                                                                            -
                                                                                                                                            1844  auto res = transform_model_fun(
                                                                                                                                            -
                                                                                                                                            1845  &stats_support_old[
                                                                                                                                            -
                                                                                                                                            1846  stats_support_sizes_acc[nsupport] * (k + 1u) +
                                                                                                                                            -
                                                                                                                                            1847  i * (k + 1u) + 1u
                                                                                                                                            -
                                                                                                                                            1848  ],
                                                                                                                                            -
                                                                                                                                            1849  k
                                                                                                                                            -
                                                                                                                                            1850  );
                                                                                                                                            -
                                                                                                                                            1851 
                                                                                                                                            -
                                                                                                                                            1852  if (res.size() != transform_model_term_names.size())
                                                                                                                                            -
                                                                                                                                            1853  throw std::length_error(
                                                                                                                                            -
                                                                                                                                            1854  std::string("The transform vector from -transform_model_fun- ") +
                                                                                                                                            -
                                                                                                                                            1855  std::string(" does not match the size of ") +
                                                                                                                                            -
                                                                                                                                            1856  std::string("-transform_model_term_names-.")
                                                                                                                                            -
                                                                                                                                            1857  );
                                                                                                                                            -
                                                                                                                                            1858 
                                                                                                                                            -
                                                                                                                                            1859  // Resizing stats_support if the transform stats do not match the
                                                                                                                                            -
                                                                                                                                            1860  // previous size
                                                                                                                                            -
                                                                                                                                            1861  if ((nsupport == 0u) && (i == 0u) && (res.size() != k))
                                                                                                                                            -
                                                                                                                                            1862  stats_support.resize(
                                                                                                                                            -
                                                                                                                                            1863  (res.size() + 1) * (
                                                                                                                                            -
                                                                                                                                            1864  stats_support_sizes_acc.back() +
                                                                                                                                            -
                                                                                                                                            1865  stats_support_sizes.back()
                                                                                                                                            -
                                                                                                                                            1866  )
                                                                                                                                            -
                                                                                                                                            1867  );
                                                                                                                                            -
                                                                                                                                            1868 
                                                                                                                                            -
                                                                                                                                            1869  // Weigth
                                                                                                                                            -
                                                                                                                                            1870  stats_support[
                                                                                                                                            -
                                                                                                                                            1871  stats_support_sizes_acc[nsupport] * (res.size() + 1u) +
                                                                                                                                            -
                                                                                                                                            1872  (res.size() + 1u) * i
                                                                                                                                            -
                                                                                                                                            1873  ] = stats_support_old[
                                                                                                                                            -
                                                                                                                                            1874  stats_support_sizes_acc[nsupport] * (k + 1u) +
                                                                                                                                            -
                                                                                                                                            1875  i * (k + 1u)
                                                                                                                                            -
                                                                                                                                            1876  ];
                                                                                                                                            -
                                                                                                                                            1877 
                                                                                                                                            -
                                                                                                                                            1878  // Copying the rest of the elements
                                                                                                                                            -
                                                                                                                                            1879  for (size_t j = 0u; j < res.size(); ++j)
                                                                                                                                            -
                                                                                                                                            1880  stats_support[
                                                                                                                                            -
                                                                                                                                            1881  stats_support_sizes_acc[nsupport] * (res.size() + 1u) +
                                                                                                                                            -
                                                                                                                                            1882  (res.size() + 1u) * i + j + 1u
                                                                                                                                            -
                                                                                                                                            1883  ] = res[j];
                                                                                                                                            -
                                                                                                                                            1884 
                                                                                                                                            -
                                                                                                                                            1885  }
                                                                                                                                            -
                                                                                                                                            1886 
                                                                                                                                            -
                                                                                                                                            1887  }
                                                                                                                                            -
                                                                                                                                            1888 
                                                                                                                                            -
                                                                                                                                            1889  // Applying over the target statistics
                                                                                                                                            -
                                                                                                                                            1890  for (auto & s : stats_target)
                                                                                                                                            -
                                                                                                                                            1891  s = transform_model_fun(&s[0u], k);
                                                                                                                                            -
                                                                                                                                            1892 
                                                                                                                                            -
                                                                                                                                            1893  // Checking if there is support included
                                                                                                                                            -
                                                                                                                                            1894  if (with_pset)
                                                                                                                                            -
                                                                                                                                            1895  {
                                                                                                                                            -
                                                                                                                                            1896 
                                                                                                                                            -
                                                                                                                                            1897  // Applying it to the support
                                                                                                                                            -
                                                                                                                                            1898  for (auto s = 0u; s < pset_arrays.size(); ++s)
                                                                                                                                            -
                                                                                                                                            1899  {
                                                                                                                                            -
                                                                                                                                            1900  std::vector< double > new_stats;
                                                                                                                                            -
                                                                                                                                            1901  size_t pset_stats_loc = pset_locations[s] * k;
                                                                                                                                            -
                                                                                                                                            1902 
                                                                                                                                            -
                                                                                                                                            1903  for (auto a = 0u; a < pset_arrays[s].size(); ++a)
                                                                                                                                            -
                                                                                                                                            1904  {
                                                                                                                                            -
                                                                                                                                            1905  // Computing the transformed version of the data
                                                                                                                                            -
                                                                                                                                            1906  auto tmpstats = transform_model_fun(
                                                                                                                                            -
                                                                                                                                            1907  &pset_stats[pset_stats_loc + a * k], k
                                                                                                                                            -
                                                                                                                                            1908  );
                                                                                                                                            -
                                                                                                                                            1909 
                                                                                                                                            -
                                                                                                                                            1910  // Storing the new values
                                                                                                                                            -
                                                                                                                                            1911  for (auto p = 0u; p < k; ++p)
                                                                                                                                            -
                                                                                                                                            1912  new_stats.push_back(tmpstats[p]);
                                                                                                                                            -
                                                                                                                                            1913  }
                                                                                                                                            -
                                                                                                                                            1914 
                                                                                                                                            -
                                                                                                                                            1915  // Updating the dataset
                                                                                                                                            -
                                                                                                                                            1916  for (size_t stat = 0u; stat < new_stats.size(); ++stat)
                                                                                                                                            -
                                                                                                                                            1917  pset_stats[pset_stats_loc + stat] = new_stats[stat];
                                                                                                                                            -
                                                                                                                                            1918 
                                                                                                                                            -
                                                                                                                                            1919  }
                                                                                                                                            -
                                                                                                                                            1920 
                                                                                                                                            -
                                                                                                                                            1921  }
                                                                                                                                            -
                                                                                                                                            1922 
                                                                                                                                            -
                                                                                                                                            1923  // And, resizing the last set of parameters
                                                                                                                                            -
                                                                                                                                            1924  for (auto & p : params_last)
                                                                                                                                            -
                                                                                                                                            1925  p.resize(transform_model_term_names.size());
                                                                                                                                            -
                                                                                                                                            1926 
                                                                                                                                            -
                                                                                                                                            1927  return;
                                                                                                                                            -
                                                                                                                                            1928 
                                                                                                                                            -
                                                                                                                                            1929 }
                                                                                                                                            -
                                                                                                                                            1930 
                                                                                                                                            -
                                                                                                                                            1931 #undef MODEL_TEMPLATE
                                                                                                                                            -
                                                                                                                                            1932 #undef MODEL_TEMPLATE_ARGS
                                                                                                                                            -
                                                                                                                                            1933 #undef MODEL_TYPE
                                                                                                                                            -
                                                                                                                                            1934 
                                                                                                                                            -
                                                                                                                                            1935 #endif
                                                                                                                                            +
                                                                                                                                            1587  stats_support_sizes.push_back(
                                                                                                                                            +
                                                                                                                                            1588 
                                                                                                                                            +
                                                                                                                                            1589  (stats_support.size() - stats_support_size)/
                                                                                                                                            +
                                                                                                                                            1590  (counter_fun.size() + 1u)
                                                                                                                                            +
                                                                                                                                            1591 
                                                                                                                                            +
                                                                                                                                            1592  );
                                                                                                                                            +
                                                                                                                                            1593 
                                                                                                                                            +
                                                                                                                                            1594 
                                                                                                                                            +
                                                                                                                                            1595  i = arrays2support.size() - 1u;
                                                                                                                                            +
                                                                                                                                            1596  } else
                                                                                                                                            +
                                                                                                                                            1597  // Retrieving the corresponding position in the support
                                                                                                                                            +
                                                                                                                                            1598  i = locator->second;
                                                                                                                                            +
                                                                                                                                            1599 
                                                                                                                                            +
                                                                                                                                            1600  // Getting the index
                                                                                                                                            +
                                                                                                                                            1601  size_t a = arrays2support[i];
                                                                                                                                            +
                                                                                                                                            1602 
                                                                                                                                            +
                                                                                                                                            1603  // Generating a random
                                                                                                                                            +
                                                                                                                                            1604  std::uniform_real_distribution<> urand(0, 1);
                                                                                                                                            +
                                                                                                                                            1605  double r = urand(*rengine);
                                                                                                                                            +
                                                                                                                                            1606  double cumprob = 0.0;
                                                                                                                                            +
                                                                                                                                            1607 
                                                                                                                                            +
                                                                                                                                            1608  size_t k = params.size();
                                                                                                                                            +
                                                                                                                                            1609 
                                                                                                                                            +
                                                                                                                                            1610  // Sampling an array
                                                                                                                                            +
                                                                                                                                            1611  size_t j = 0u;
                                                                                                                                            +
                                                                                                                                            1612  double * probs = &pset_probs[ pset_locations[a] ];
                                                                                                                                            +
                                                                                                                                            1613  if (first_calc_done[a] && (vec_equal_approx(params, params_last[a])))
                                                                                                                                            +
                                                                                                                                            1614  // If precomputed, then no need to recalc support
                                                                                                                                            +
                                                                                                                                            1615  {
                                                                                                                                            +
                                                                                                                                            1616 
                                                                                                                                            +
                                                                                                                                            1617  while (cumprob < r)
                                                                                                                                            +
                                                                                                                                            1618  cumprob += *(probs + j++);
                                                                                                                                            +
                                                                                                                                            1619 
                                                                                                                                            +
                                                                                                                                            1620  if (j > 0u)
                                                                                                                                            +
                                                                                                                                            1621  j--;
                                                                                                                                            +
                                                                                                                                            1622 
                                                                                                                                            +
                                                                                                                                            1623  } else {
                                                                                                                                            +
                                                                                                                                            1624 
                                                                                                                                            +
                                                                                                                                            1625  // probs.resize(pset_arrays[a].size());
                                                                                                                                            +
                                                                                                                                            1626  std::vector< double > temp_stats(params.size());
                                                                                                                                            +
                                                                                                                                            1627  const double * stats = &pset_stats[pset_locations[a] * k];
                                                                                                                                            +
                                                                                                                                            1628 
                                                                                                                                            +
                                                                                                                                            1629  int i_matches = -1;
                                                                                                                                            +
                                                                                                                                            1630  for (size_t array = 0u; array < pset_sizes[a]; ++array)
                                                                                                                                            +
                                                                                                                                            1631  {
                                                                                                                                            +
                                                                                                                                            1632 
                                                                                                                                            +
                                                                                                                                            1633  // Filling out the parameters
                                                                                                                                            +
                                                                                                                                            1634  for (auto p = 0u; p < params.size(); ++p)
                                                                                                                                            +
                                                                                                                                            1635  temp_stats[p] = stats[array * k + p];
                                                                                                                                            +
                                                                                                                                            1636 
                                                                                                                                            +
                                                                                                                                            1637  *(probs + array) = this->likelihood(params, temp_stats, i, false);
                                                                                                                                            +
                                                                                                                                            1638  cumprob += *(probs + array);
                                                                                                                                            +
                                                                                                                                            1639 
                                                                                                                                            +
                                                                                                                                            1640  if (i_matches == -1 && cumprob >= r)
                                                                                                                                            +
                                                                                                                                            1641  i_matches = array;
                                                                                                                                            +
                                                                                                                                            1642  }
                                                                                                                                            +
                                                                                                                                            1643 
                                                                                                                                            +
                                                                                                                                            1644  #ifdef BARRY_DEBUG
                                                                                                                                            +
                                                                                                                                            1645  if (i_matches < 0)
                                                                                                                                            +
                                                                                                                                            1646  throw std::logic_error(
                                                                                                                                            +
                                                                                                                                            1647  std::string(
                                                                                                                                            +
                                                                                                                                            1648  "Something went wrong when sampling from a different set of.") +
                                                                                                                                            +
                                                                                                                                            1649  std::string("parameters. Please report this bug: ") +
                                                                                                                                            +
                                                                                                                                            1650  std::string(" cumprob: ") + std::to_string(cumprob) +
                                                                                                                                            +
                                                                                                                                            1651  std::string(" r: ") + std::to_string(r)
                                                                                                                                            +
                                                                                                                                            1652  );
                                                                                                                                            +
                                                                                                                                            1653  #endif
                                                                                                                                            +
                                                                                                                                            1654 
                                                                                                                                            +
                                                                                                                                            1655  j = i_matches;
                                                                                                                                            +
                                                                                                                                            1656  first_calc_done[a] = true;
                                                                                                                                            +
                                                                                                                                            1657  }
                                                                                                                                            +
                                                                                                                                            1658 
                                                                                                                                            +
                                                                                                                                            1659 
                                                                                                                                            +
                                                                                                                                            1660  #ifdef BARRY_DEBUG
                                                                                                                                            +
                                                                                                                                            1661  return this->pset_arrays.at(a).at(j);
                                                                                                                                            +
                                                                                                                                            1662  #else
                                                                                                                                            +
                                                                                                                                            1663  return this->pset_arrays[a][j];
                                                                                                                                            +
                                                                                                                                            1664  #endif
                                                                                                                                            +
                                                                                                                                            1665 
                                                                                                                                            +
                                                                                                                                            1666 }
                                                                                                                                            +
                                                                                                                                            1667 
                                                                                                                                            +
                                                                                                                                            1668 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1670  const Array_Type & Array_,
                                                                                                                                            +
                                                                                                                                            1671  const std::vector< double > & params,
                                                                                                                                            +
                                                                                                                                            1672  size_t i,
                                                                                                                                            +
                                                                                                                                            1673  size_t j
                                                                                                                                            +
                                                                                                                                            1674 ) {
                                                                                                                                            +
                                                                                                                                            1675 
                                                                                                                                            +
                                                                                                                                            1676  // Generating a copy of the array so we can update
                                                                                                                                            +
                                                                                                                                            1677  Array_Type A(Array_, true);
                                                                                                                                            +
                                                                                                                                            1678 
                                                                                                                                            +
                                                                                                                                            1679  // Making sure we add it first
                                                                                                                                            +
                                                                                                                                            1680  A.insert_cell(i, j, A.default_val(), true, false);
                                                                                                                                            +
                                                                                                                                            1681 
                                                                                                                                            +
                                                                                                                                            1682  // Computing the change stats_target
                                                                                                                                            +
                                                                                                                                            1683  std::vector< double > tmp_counts;
                                                                                                                                            +
                                                                                                                                            1684  tmp_counts.reserve(counters->size());
                                                                                                                                            +
                                                                                                                                            1685  for (size_t ii = 0u; ii < counters->size(); ++ii)
                                                                                                                                            +
                                                                                                                                            1686  tmp_counts.push_back(counters->operator[](ii).count(A, i, j));
                                                                                                                                            +
                                                                                                                                            1687 
                                                                                                                                            +
                                                                                                                                            1688  // If there is a transformation function, it needs to be
                                                                                                                                            +
                                                                                                                                            1689  // applied before dealing with the likelihood.
                                                                                                                                            +
                                                                                                                                            1690  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            1691  tmp_counts = transform_model_fun(&tmp_counts[0u], tmp_counts.size());
                                                                                                                                            +
                                                                                                                                            1692 
                                                                                                                                            +
                                                                                                                                            1693  return 1.0/
                                                                                                                                            +
                                                                                                                                            1694  (1.0 + std::exp(-vec_inner_prod<double>(
                                                                                                                                            +
                                                                                                                                            1695  &params[0u], &tmp_counts[0u], params.size()
                                                                                                                                            +
                                                                                                                                            1696  )));
                                                                                                                                            +
                                                                                                                                            1697 
                                                                                                                                            +
                                                                                                                                            1698 
                                                                                                                                            +
                                                                                                                                            1699 }
                                                                                                                                            +
                                                                                                                                            1700 
                                                                                                                                            +
                                                                                                                                            1701 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1703  return this->rengine;
                                                                                                                                            +
                                                                                                                                            1704 }
                                                                                                                                            +
                                                                                                                                            1705 
                                                                                                                                            +
                                                                                                                                            1706 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1708  return this->counters;
                                                                                                                                            +
                                                                                                                                            1709 }
                                                                                                                                            +
                                                                                                                                            1710 
                                                                                                                                            +
                                                                                                                                            1711 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1713  return this->rules;
                                                                                                                                            +
                                                                                                                                            1714 }
                                                                                                                                            +
                                                                                                                                            1715 
                                                                                                                                            +
                                                                                                                                            1716 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1718  return this->rules_dyn;
                                                                                                                                            +
                                                                                                                                            1719 }
                                                                                                                                            +
                                                                                                                                            1720 
                                                                                                                                            +
                                                                                                                                            1721 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + + +
                                                                                                                                            1724  return &this->support_fun;
                                                                                                                                            +
                                                                                                                                            1725 }
                                                                                                                                            +
                                                                                                                                            1726 
                                                                                                                                            +
                                                                                                                                            1727 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            + +
                                                                                                                                            1729 {
                                                                                                                                            +
                                                                                                                                            1730  return &stats_target;
                                                                                                                                            +
                                                                                                                                            1731 }
                                                                                                                                            +
                                                                                                                                            1732 
                                                                                                                                            +
                                                                                                                                            1733 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1734 inline std::vector< double > *
                                                                                                                                            + +
                                                                                                                                            1736 {
                                                                                                                                            +
                                                                                                                                            1737  return &stats_support;
                                                                                                                                            +
                                                                                                                                            1738 }
                                                                                                                                            +
                                                                                                                                            1739 
                                                                                                                                            +
                                                                                                                                            1740 // Implementation of get_stats_support_sizes()
                                                                                                                                            +
                                                                                                                                            1741 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1742 inline std::vector< size_t > *
                                                                                                                                            + +
                                                                                                                                            1744 {
                                                                                                                                            +
                                                                                                                                            1745  return &stats_support_sizes;
                                                                                                                                            +
                                                                                                                                            1746 }
                                                                                                                                            +
                                                                                                                                            1747 
                                                                                                                                            +
                                                                                                                                            1748 // Implementation of get_stats_support_sizes_acc()
                                                                                                                                            +
                                                                                                                                            1749 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1750 inline std::vector< size_t > *
                                                                                                                                            + +
                                                                                                                                            1752 {
                                                                                                                                            +
                                                                                                                                            1753  return &stats_support_sizes_acc;
                                                                                                                                            +
                                                                                                                                            1754 }
                                                                                                                                            +
                                                                                                                                            1755 
                                                                                                                                            +
                                                                                                                                            1756 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1757 inline std::vector< size_t > *
                                                                                                                                            + +
                                                                                                                                            1759 {
                                                                                                                                            +
                                                                                                                                            1760  return &arrays2support;
                                                                                                                                            +
                                                                                                                                            1761 }
                                                                                                                                            +
                                                                                                                                            1762 
                                                                                                                                            +
                                                                                                                                            1763 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1764 inline std::vector< std::vector< Array_Type > > *
                                                                                                                                            + +
                                                                                                                                            1766  return &pset_arrays;
                                                                                                                                            +
                                                                                                                                            1767 }
                                                                                                                                            +
                                                                                                                                            1768 
                                                                                                                                            +
                                                                                                                                            1769 template <typename Array_Type, typename Data_Counter_Type, typename Data_Rule_Type, typename Data_Rule_Dyn_Type>
                                                                                                                                            +
                                                                                                                                            1770 inline std::vector<double> *
                                                                                                                                            + +
                                                                                                                                            1772  return &pset_stats;
                                                                                                                                            +
                                                                                                                                            1773 }
                                                                                                                                            +
                                                                                                                                            1774 
                                                                                                                                            +
                                                                                                                                            1775 template <
                                                                                                                                            +
                                                                                                                                            1776  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            1777  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            1778  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            1779  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            1780  >
                                                                                                                                            +
                                                                                                                                            1781 inline std::vector<double> *
                                                                                                                                            + +
                                                                                                                                            1783  return &pset_probs;
                                                                                                                                            +
                                                                                                                                            1784 }
                                                                                                                                            +
                                                                                                                                            1785 
                                                                                                                                            +
                                                                                                                                            1786 template <
                                                                                                                                            +
                                                                                                                                            1787  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            1788  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            1789  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            1790  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            1791  >
                                                                                                                                            + +
                                                                                                                                            1793 {
                                                                                                                                            +
                                                                                                                                            1794  return &pset_sizes;
                                                                                                                                            +
                                                                                                                                            1795 }
                                                                                                                                            +
                                                                                                                                            1796 
                                                                                                                                            +
                                                                                                                                            1797 template <
                                                                                                                                            +
                                                                                                                                            1798  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            1799  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            1800  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            1801  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            1802  >
                                                                                                                                            + +
                                                                                                                                            1804 {
                                                                                                                                            +
                                                                                                                                            1805  return &pset_locations;
                                                                                                                                            +
                                                                                                                                            1806 }
                                                                                                                                            +
                                                                                                                                            1807 
                                                                                                                                            +
                                                                                                                                            1808 template <
                                                                                                                                            +
                                                                                                                                            1809  typename Array_Type,
                                                                                                                                            +
                                                                                                                                            1810  typename Data_Counter_Type,
                                                                                                                                            +
                                                                                                                                            1811  typename Data_Rule_Type,
                                                                                                                                            +
                                                                                                                                            1812  typename Data_Rule_Dyn_Type
                                                                                                                                            +
                                                                                                                                            1813  >
                                                                                                                                            +
                                                                                                                                            1814 inline void
                                                                                                                                            + +
                                                                                                                                            1816  std::function<std::vector<double>(double *,size_t)> fun,
                                                                                                                                            +
                                                                                                                                            1817  std::vector< std::string > names
                                                                                                                                            +
                                                                                                                                            1818  )
                                                                                                                                            +
                                                                                                                                            1819 {
                                                                                                                                            +
                                                                                                                                            1820 
                                                                                                                                            +
                                                                                                                                            1821  if (transform_model_fun)
                                                                                                                                            +
                                                                                                                                            1822  throw std::logic_error("A transformation function for the model has already been established.");
                                                                                                                                            +
                                                                                                                                            1823 
                                                                                                                                            +
                                                                                                                                            1824  transform_model_fun = fun;
                                                                                                                                            +
                                                                                                                                            1825  transform_model_term_names = names;
                                                                                                                                            +
                                                                                                                                            1826 
                                                                                                                                            +
                                                                                                                                            1827  size_t k = counters->size();
                                                                                                                                            +
                                                                                                                                            1828 
                                                                                                                                            +
                                                                                                                                            1829  auto stats_support_old = stats_support;
                                                                                                                                            +
                                                                                                                                            1830 
                                                                                                                                            +
                                                                                                                                            1831  // Applying over the support
                                                                                                                                            +
                                                                                                                                            1832  for (size_t nsupport = 0u; nsupport < stats_support_sizes.size(); ++nsupport)
                                                                                                                                            +
                                                                                                                                            1833  {
                                                                                                                                            +
                                                                                                                                            1834 
                                                                                                                                            +
                                                                                                                                            1835  // How many observations in the support
                                                                                                                                            +
                                                                                                                                            1836  size_t n = stats_support_sizes[nsupport];
                                                                                                                                            +
                                                                                                                                            1837 
                                                                                                                                            +
                                                                                                                                            1838  // Iterating through each observation in the nsupport'th
                                                                                                                                            +
                                                                                                                                            1839  for (size_t i = 0; i < n; ++i)
                                                                                                                                            +
                                                                                                                                            1840  {
                                                                                                                                            +
                                                                                                                                            1841 
                                                                                                                                            +
                                                                                                                                            1842  // Applying transformation and adding to the new set
                                                                                                                                            +
                                                                                                                                            1843  auto res = transform_model_fun(
                                                                                                                                            +
                                                                                                                                            1844  &stats_support_old[
                                                                                                                                            +
                                                                                                                                            1845  stats_support_sizes_acc[nsupport] * (k + 1u) +
                                                                                                                                            +
                                                                                                                                            1846  i * (k + 1u) + 1u
                                                                                                                                            +
                                                                                                                                            1847  ],
                                                                                                                                            +
                                                                                                                                            1848  k
                                                                                                                                            +
                                                                                                                                            1849  );
                                                                                                                                            +
                                                                                                                                            1850 
                                                                                                                                            +
                                                                                                                                            1851  if (res.size() != transform_model_term_names.size())
                                                                                                                                            +
                                                                                                                                            1852  throw std::length_error(
                                                                                                                                            +
                                                                                                                                            1853  std::string("The transform vector from -transform_model_fun- ") +
                                                                                                                                            +
                                                                                                                                            1854  std::string(" does not match the size of ") +
                                                                                                                                            +
                                                                                                                                            1855  std::string("-transform_model_term_names-.")
                                                                                                                                            +
                                                                                                                                            1856  );
                                                                                                                                            +
                                                                                                                                            1857 
                                                                                                                                            +
                                                                                                                                            1858  // Resizing stats_support if the transform stats do not match the
                                                                                                                                            +
                                                                                                                                            1859  // previous size
                                                                                                                                            +
                                                                                                                                            1860  if ((nsupport == 0u) && (i == 0u) && (res.size() != k))
                                                                                                                                            +
                                                                                                                                            1861  stats_support.resize(
                                                                                                                                            +
                                                                                                                                            1862  (res.size() + 1) * (
                                                                                                                                            +
                                                                                                                                            1863  stats_support_sizes_acc.back() +
                                                                                                                                            +
                                                                                                                                            1864  stats_support_sizes.back()
                                                                                                                                            +
                                                                                                                                            1865  )
                                                                                                                                            +
                                                                                                                                            1866  );
                                                                                                                                            +
                                                                                                                                            1867 
                                                                                                                                            +
                                                                                                                                            1868  // Weigth
                                                                                                                                            +
                                                                                                                                            1869  stats_support[
                                                                                                                                            +
                                                                                                                                            1870  stats_support_sizes_acc[nsupport] * (res.size() + 1u) +
                                                                                                                                            +
                                                                                                                                            1871  (res.size() + 1u) * i
                                                                                                                                            +
                                                                                                                                            1872  ] = stats_support_old[
                                                                                                                                            +
                                                                                                                                            1873  stats_support_sizes_acc[nsupport] * (k + 1u) +
                                                                                                                                            +
                                                                                                                                            1874  i * (k + 1u)
                                                                                                                                            +
                                                                                                                                            1875  ];
                                                                                                                                            +
                                                                                                                                            1876 
                                                                                                                                            +
                                                                                                                                            1877  // Copying the rest of the elements
                                                                                                                                            +
                                                                                                                                            1878  for (size_t j = 0u; j < res.size(); ++j)
                                                                                                                                            +
                                                                                                                                            1879  stats_support[
                                                                                                                                            +
                                                                                                                                            1880  stats_support_sizes_acc[nsupport] * (res.size() + 1u) +
                                                                                                                                            +
                                                                                                                                            1881  (res.size() + 1u) * i + j + 1u
                                                                                                                                            +
                                                                                                                                            1882  ] = res[j];
                                                                                                                                            +
                                                                                                                                            1883 
                                                                                                                                            +
                                                                                                                                            1884  }
                                                                                                                                            +
                                                                                                                                            1885 
                                                                                                                                            +
                                                                                                                                            1886  }
                                                                                                                                            +
                                                                                                                                            1887 
                                                                                                                                            +
                                                                                                                                            1888  // Applying over the target statistics
                                                                                                                                            +
                                                                                                                                            1889  for (auto & s : stats_target)
                                                                                                                                            +
                                                                                                                                            1890  s = transform_model_fun(&s[0u], k);
                                                                                                                                            +
                                                                                                                                            1891 
                                                                                                                                            +
                                                                                                                                            1892  // Checking if there is support included
                                                                                                                                            +
                                                                                                                                            1893  if (with_pset)
                                                                                                                                            +
                                                                                                                                            1894  {
                                                                                                                                            +
                                                                                                                                            1895 
                                                                                                                                            +
                                                                                                                                            1896  // Applying it to the support
                                                                                                                                            +
                                                                                                                                            1897  for (auto s = 0u; s < pset_arrays.size(); ++s)
                                                                                                                                            +
                                                                                                                                            1898  {
                                                                                                                                            +
                                                                                                                                            1899  std::vector< double > new_stats;
                                                                                                                                            +
                                                                                                                                            1900  size_t pset_stats_loc = pset_locations[s] * k;
                                                                                                                                            +
                                                                                                                                            1901 
                                                                                                                                            +
                                                                                                                                            1902  for (auto a = 0u; a < pset_arrays[s].size(); ++a)
                                                                                                                                            +
                                                                                                                                            1903  {
                                                                                                                                            +
                                                                                                                                            1904  // Computing the transformed version of the data
                                                                                                                                            +
                                                                                                                                            1905  auto tmpstats = transform_model_fun(
                                                                                                                                            +
                                                                                                                                            1906  &pset_stats[pset_stats_loc + a * k], k
                                                                                                                                            +
                                                                                                                                            1907  );
                                                                                                                                            +
                                                                                                                                            1908 
                                                                                                                                            +
                                                                                                                                            1909  // Storing the new values
                                                                                                                                            +
                                                                                                                                            1910  for (auto p = 0u; p < k; ++p)
                                                                                                                                            +
                                                                                                                                            1911  new_stats.push_back(tmpstats[p]);
                                                                                                                                            +
                                                                                                                                            1912  }
                                                                                                                                            +
                                                                                                                                            1913 
                                                                                                                                            +
                                                                                                                                            1914  // Updating the dataset
                                                                                                                                            +
                                                                                                                                            1915  for (size_t stat = 0u; stat < new_stats.size(); ++stat)
                                                                                                                                            +
                                                                                                                                            1916  pset_stats[pset_stats_loc + stat] = new_stats[stat];
                                                                                                                                            +
                                                                                                                                            1917 
                                                                                                                                            +
                                                                                                                                            1918  }
                                                                                                                                            +
                                                                                                                                            1919 
                                                                                                                                            +
                                                                                                                                            1920  }
                                                                                                                                            +
                                                                                                                                            1921 
                                                                                                                                            +
                                                                                                                                            1922  // And, resizing the last set of parameters
                                                                                                                                            +
                                                                                                                                            1923  for (auto & p : params_last)
                                                                                                                                            +
                                                                                                                                            1924  p.resize(transform_model_term_names.size());
                                                                                                                                            +
                                                                                                                                            1925 
                                                                                                                                            +
                                                                                                                                            1926  return;
                                                                                                                                            +
                                                                                                                                            1927 
                                                                                                                                            +
                                                                                                                                            1928 }
                                                                                                                                            +
                                                                                                                                            1929 
                                                                                                                                            +
                                                                                                                                            1930 #undef MODEL_TEMPLATE
                                                                                                                                            +
                                                                                                                                            1931 #undef MODEL_TEMPLATE_ARGS
                                                                                                                                            +
                                                                                                                                            1932 #undef MODEL_TYPE
                                                                                                                                            +
                                                                                                                                            1933 
                                                                                                                                            +
                                                                                                                                            1934 #endif
                                                                                                                                            #define printf_barry
                                                                                                                                            #define BARRY_SAFE_EXP
                                                                                                                                            #define BARRY_NCORES_ARG(default)
                                                                                                                                            A counter function based on change statistics.
                                                                                                                                            Vector of counters.
                                                                                                                                            General framework for discrete exponential models. This class allows generating discrete exponential ...
                                                                                                                                            Definition: model-bones.hpp:34
                                                                                                                                            -
                                                                                                                                            size_t size_unique() const noexcept
                                                                                                                                            +
                                                                                                                                            size_t size_unique() const noexcept
                                                                                                                                            std::vector< std::string > transform_model_term_names
                                                                                                                                            -
                                                                                                                                            const std::mt19937 * get_rengine() const
                                                                                                                                            +
                                                                                                                                            const std::mt19937 * get_rengine() const
                                                                                                                                            void update_normalizing_constants(const std::vector< double > &params, BARRY_NCORES_ARG(=1), int i=-1)
                                                                                                                                            Computes the normalizing constant for a given set of parameters.
                                                                                                                                            Definition: model-meat.hpp:134
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes_acc()
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes_acc()
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            void update_pset_probs(const std::vector< double > &params, BARRY_NCORES_ARG(=1), int i=-1)
                                                                                                                                            Definition: model-meat.hpp:223
                                                                                                                                            Rules< Array_Type, Data_Rule_Dyn_Type > * rules_dyn
                                                                                                                                            Definition: model-bones.hpp:98
                                                                                                                                            std::vector< size_t > pset_sizes
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:87
                                                                                                                                            Rules< Array_Type, Data_Rule_Type > * rules
                                                                                                                                            Definition: model-bones.hpp:97
                                                                                                                                            -
                                                                                                                                            std::vector< double > * get_pset_stats()
                                                                                                                                            Statistics of the support(s)
                                                                                                                                            +
                                                                                                                                            std::vector< double > * get_pset_stats()
                                                                                                                                            Statistics of the support(s)
                                                                                                                                            StatsCounter< Array_Type, Data_Counter_Type > counter_fun
                                                                                                                                            -
                                                                                                                                            size_t size() const noexcept
                                                                                                                                            -
                                                                                                                                            void add_counter(Counter< Array_Type, Data_Counter_Type > &counter)
                                                                                                                                            Definition: model-meat.hpp:503
                                                                                                                                            -
                                                                                                                                            Counters< Array_Type, Data_Counter_Type > * get_counters()
                                                                                                                                            +
                                                                                                                                            size_t size() const noexcept
                                                                                                                                            +
                                                                                                                                            void add_counter(Counter< Array_Type, Data_Counter_Type > &counter)
                                                                                                                                            Definition: model-meat.hpp:506
                                                                                                                                            +
                                                                                                                                            Counters< Array_Type, Data_Counter_Type > * get_counters()
                                                                                                                                            std::vector< std::vector< double > > stats_target
                                                                                                                                            Target statistics of the model.
                                                                                                                                            Definition: model-bones.hpp:66
                                                                                                                                            std::vector< double > pset_probs
                                                                                                                                            Probabilities of the support(s)
                                                                                                                                            Definition: model-bones.hpp:86
                                                                                                                                            -
                                                                                                                                            Array_Type sample(const Array_Type &Array_, const std::vector< double > &params={})
                                                                                                                                            -
                                                                                                                                            void add_rule_dyn(Rule< Array_Type, Data_Rule_Dyn_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:586
                                                                                                                                            +
                                                                                                                                            Array_Type sample(const Array_Type &Array_, const std::vector< double > &params={})
                                                                                                                                            +
                                                                                                                                            void add_rule_dyn(Rule< Array_Type, Data_Rule_Dyn_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:589
                                                                                                                                            std::vector< double > stats_likelihood
                                                                                                                                            Definition: model-bones.hpp:67
                                                                                                                                            std::vector< double > stats_support
                                                                                                                                            Sufficient statistics of the model (support)
                                                                                                                                            Definition: model-bones.hpp:62
                                                                                                                                            -
                                                                                                                                            void store_psets() noexcept
                                                                                                                                            Definition: model-meat.hpp:490
                                                                                                                                            -
                                                                                                                                            double conditional_prob(const Array_Type &Array_, const std::vector< double > &params, size_t i, size_t j)
                                                                                                                                            Conditional probability ("Gibbs sampler")
                                                                                                                                            -
                                                                                                                                            Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > & operator=(const Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > &Model_)
                                                                                                                                            Definition: model-meat.hpp:434
                                                                                                                                            -
                                                                                                                                            std::vector< std::vector< double > > * get_stats_target()
                                                                                                                                            Raw pointers to the support and target statistics.
                                                                                                                                            -
                                                                                                                                            std::vector< std::vector< Array_Type > > * get_pset_arrays()
                                                                                                                                            -
                                                                                                                                            Support< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > * get_support_fun()
                                                                                                                                            -
                                                                                                                                            std::vector< double > gen_key(const Array_Type &Array_)
                                                                                                                                            Definition: model-meat.hpp:496
                                                                                                                                            +
                                                                                                                                            void store_psets() noexcept
                                                                                                                                            Definition: model-meat.hpp:493
                                                                                                                                            +
                                                                                                                                            double conditional_prob(const Array_Type &Array_, const std::vector< double > &params, size_t i, size_t j)
                                                                                                                                            Conditional probability ("Gibbs sampler")
                                                                                                                                            +
                                                                                                                                            Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > & operator=(const Model< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > &Model_)
                                                                                                                                            Definition: model-meat.hpp:437
                                                                                                                                            +
                                                                                                                                            std::vector< std::vector< double > > * get_stats_target()
                                                                                                                                            Raw pointers to the support and target statistics.
                                                                                                                                            +
                                                                                                                                            std::vector< std::vector< Array_Type > > * get_pset_arrays()
                                                                                                                                            +
                                                                                                                                            Support< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > * get_support_fun()
                                                                                                                                            +
                                                                                                                                            std::vector< double > gen_key(const Array_Type &Array_)
                                                                                                                                            Definition: model-meat.hpp:499
                                                                                                                                            std::vector< size_t > arrays2support
                                                                                                                                            Definition: model-bones.hpp:68
                                                                                                                                            -
                                                                                                                                            size_t add_array(const Array_Type &Array_, bool force_new=false)
                                                                                                                                            Adds an array to the support of not already included.
                                                                                                                                            Definition: model-meat.hpp:628
                                                                                                                                            -
                                                                                                                                            void add_hasher(Hasher_fun_type< Array_Type, Data_Counter_Type > fun_)
                                                                                                                                            Definition: model-meat.hpp:547
                                                                                                                                            -
                                                                                                                                            std::vector< std::string > colnames() const
                                                                                                                                            -
                                                                                                                                            double likelihood(const std::vector< double > &params, const size_t &i, bool as_log=false, bool no_update_normconst=false)
                                                                                                                                            Definition: model-meat.hpp:805
                                                                                                                                            +
                                                                                                                                            size_t add_array(const Array_Type &Array_, bool force_new=false)
                                                                                                                                            Adds an array to the support of not already included.
                                                                                                                                            Definition: model-meat.hpp:631
                                                                                                                                            +
                                                                                                                                            void add_hasher(Hasher_fun_type< Array_Type, Data_Counter_Type > fun_)
                                                                                                                                            Definition: model-meat.hpp:550
                                                                                                                                            +
                                                                                                                                            std::vector< std::string > colnames() const
                                                                                                                                            +
                                                                                                                                            double likelihood(const std::vector< double > &params, const size_t &i, bool as_log=false, bool no_update_normconst=false)
                                                                                                                                            Definition: model-meat.hpp:808
                                                                                                                                            std::vector< size_t > stats_support_sizes_acc
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:64
                                                                                                                                            -
                                                                                                                                            std::vector< double > * get_stats_support()
                                                                                                                                            Sufficient statistics of the support(s)
                                                                                                                                            -
                                                                                                                                            void set_rules(Rules< Array_Type, Data_Rule_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:568
                                                                                                                                            -
                                                                                                                                            size_t nrules() const noexcept
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_pset_locations()
                                                                                                                                            -
                                                                                                                                            const std::vector< double > & get_normalizing_constants() const
                                                                                                                                            +
                                                                                                                                            std::vector< double > * get_stats_support()
                                                                                                                                            Sufficient statistics of the support(s)
                                                                                                                                            +
                                                                                                                                            void set_rules(Rules< Array_Type, Data_Rule_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:571
                                                                                                                                            +
                                                                                                                                            size_t nrules() const noexcept
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_pset_locations()
                                                                                                                                            +
                                                                                                                                            const std::vector< double > & get_normalizing_constants() const
                                                                                                                                            std::vector< size_t > stats_support_n_arrays
                                                                                                                                            Number of arrays included per support.
                                                                                                                                            Definition: model-bones.hpp:65
                                                                                                                                            -
                                                                                                                                            void print_stats(size_t i) const
                                                                                                                                            -
                                                                                                                                            size_t nterms() const noexcept
                                                                                                                                            -
                                                                                                                                            double likelihood_total(const std::vector< double > &params, bool as_log=false, BARRY_NCORES_ARG(=2), bool no_update_normconst=false)
                                                                                                                                            -
                                                                                                                                            Rules< Array_Type, Data_Rule_Type > * get_rules()
                                                                                                                                            -
                                                                                                                                            void set_counters(Counters< Array_Type, Data_Counter_Type > *counters_)
                                                                                                                                            Definition: model-meat.hpp:529
                                                                                                                                            -
                                                                                                                                            size_t support_size() const noexcept
                                                                                                                                            -
                                                                                                                                            size_t nrules_dyn() const noexcept
                                                                                                                                            +
                                                                                                                                            void print_stats(size_t i) const
                                                                                                                                            +
                                                                                                                                            size_t nterms() const noexcept
                                                                                                                                            +
                                                                                                                                            double likelihood_total(const std::vector< double > &params, bool as_log=false, BARRY_NCORES_ARG(=2), bool no_update_normconst=false)
                                                                                                                                            +
                                                                                                                                            Rules< Array_Type, Data_Rule_Type > * get_rules()
                                                                                                                                            +
                                                                                                                                            void set_counters(Counters< Array_Type, Data_Counter_Type > *counters_)
                                                                                                                                            Definition: model-meat.hpp:532
                                                                                                                                            +
                                                                                                                                            size_t support_size() const noexcept
                                                                                                                                            +
                                                                                                                                            size_t nrules_dyn() const noexcept
                                                                                                                                            std::vector< std::vector< double > > params_last
                                                                                                                                            Vector of the previously used parameters.
                                                                                                                                            -
                                                                                                                                            virtual void print() const
                                                                                                                                            Prints information about the model.
                                                                                                                                            +
                                                                                                                                            virtual void print() const
                                                                                                                                            Prints information about the model.
                                                                                                                                            Support< Array_Type, Data_Counter_Type, Data_Rule_Type, Data_Rule_Dyn_Type > support_fun
                                                                                                                                            Definition: model-bones.hpp:99
                                                                                                                                            -
                                                                                                                                            void set_rules_dyn(Rules< Array_Type, Data_Rule_Dyn_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:610
                                                                                                                                            +
                                                                                                                                            void set_rules_dyn(Rules< Array_Type, Data_Rule_Dyn_Type > *rules_)
                                                                                                                                            Definition: model-meat.hpp:613
                                                                                                                                            std::vector< std::vector< Array_Type > > pset_arrays
                                                                                                                                            Arrays of the support(s)
                                                                                                                                            Definition: model-bones.hpp:84
                                                                                                                                            std::function< std::vector< double >double *, size_t k)> transform_model_fun
                                                                                                                                            Transformation of the model.
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_arrays2support()
                                                                                                                                            -
                                                                                                                                            std::vector< double > * get_pset_probs()
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_pset_sizes()
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_arrays2support()
                                                                                                                                            +
                                                                                                                                            std::vector< double > * get_pset_probs()
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_pset_sizes()
                                                                                                                                            MapVec_type< double, size_t > keys2support
                                                                                                                                            Map of types of arrays to support sets.
                                                                                                                                            Definition: model-bones.hpp:75
                                                                                                                                            std::vector< size_t > stats_support_sizes
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:63
                                                                                                                                            - +
                                                                                                                                            std::vector< double > normalizing_constants
                                                                                                                                            -
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes()
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            +
                                                                                                                                            std::vector< size_t > * get_stats_support_sizes()
                                                                                                                                            Number of vectors included in the support.
                                                                                                                                            std::vector< double > pset_stats
                                                                                                                                            Statistics of the support(s)
                                                                                                                                            Definition: model-bones.hpp:85
                                                                                                                                            std::vector< size_t > pset_locations
                                                                                                                                            Accumulated number of vectors included in the support.
                                                                                                                                            Definition: model-bones.hpp:88
                                                                                                                                            std::vector< bool > first_calc_done
                                                                                                                                            -
                                                                                                                                            const std::vector< double > & get_likelihoods() const
                                                                                                                                            +
                                                                                                                                            const std::vector< double > & get_likelihoods() const
                                                                                                                                            void update_likelihoods(const std::vector< double > &params,)
                                                                                                                                            Definition: model-meat.hpp:184
                                                                                                                                            -
                                                                                                                                            void set_transform_model(std::function< std::vector< double >(double *, size_t)> fun, std::vector< std::string > names)
                                                                                                                                            Set the transform_model_fun object.
                                                                                                                                            +
                                                                                                                                            void set_transform_model(std::function< std::vector< double >(double *, size_t)> fun, std::vector< std::string > names)
                                                                                                                                            Set the transform_model_fun object.
                                                                                                                                            Counters< Array_Type, Data_Counter_Type > * counters
                                                                                                                                            Definition: model-bones.hpp:96
                                                                                                                                            -
                                                                                                                                            const std::vector< Array_Type > * get_pset(const size_t &i)
                                                                                                                                            -
                                                                                                                                            void add_rule(Rule< Array_Type, Data_Rule_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:558
                                                                                                                                            -
                                                                                                                                            Rules< Array_Type, Data_Rule_Dyn_Type > * get_rules_dyn()
                                                                                                                                            +
                                                                                                                                            const std::vector< Array_Type > * get_pset(const size_t &i)
                                                                                                                                            +
                                                                                                                                            void add_rule(Rule< Array_Type, Data_Rule_Type > &rule)
                                                                                                                                            Definition: model-meat.hpp:561
                                                                                                                                            +
                                                                                                                                            Rules< Array_Type, Data_Rule_Dyn_Type > * get_rules_dyn()
                                                                                                                                            Rule for determining if a cell should be included in a sequence.
                                                                                                                                            Definition: rules-bones.hpp:20
                                                                                                                                            Vector of objects of class Rule.
                                                                                                                                            Definition: rules-bones.hpp:71
                                                                                                                                            Count stats for a single Array.
                                                                                                                                            @@ -2127,7 +2126,7 @@ diff --git a/modules.html b/modules.html index 81ac014b5..2ac60620f 100644 --- a/modules.html +++ b/modules.html @@ -110,7 +110,7 @@ diff --git a/namespace_c_h_e_c_k.html b/namespace_c_h_e_c_k.html index 43d63ee6c..577e9aa51 100644 --- a/namespace_c_h_e_c_k.html +++ b/namespace_c_h_e_c_k.html @@ -186,7 +186,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/namespace_e_x_i_s_t_s.html b/namespace_e_x_i_s_t_s.html index cf3c67e69..5eea7bb78 100644 --- a/namespace_e_x_i_s_t_s.html +++ b/namespace_e_x_i_s_t_s.html @@ -240,7 +240,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/namespacebarry.html b/namespacebarry.html index 2b35fe5c3..262aafff5 100644 --- a/namespacebarry.html +++ b/namespacebarry.html @@ -116,7 +116,7 @@ diff --git a/namespacebarry_1_1counters.html b/namespacebarry_1_1counters.html index fbdf7df81..136858ca0 100644 --- a/namespacebarry_1_1counters.html +++ b/namespacebarry_1_1counters.html @@ -115,7 +115,7 @@ diff --git a/namespacebarry_1_1counters_1_1network.html b/namespacebarry_1_1counters_1_1network.html index 88820e4a2..2c9d41ab0 100644 --- a/namespacebarry_1_1counters_1_1network.html +++ b/namespacebarry_1_1counters_1_1network.html @@ -102,7 +102,7 @@ diff --git a/namespacedefm.html b/namespacedefm.html index d70da9e4b..0505dd52e 100644 --- a/namespacedefm.html +++ b/namespacedefm.html @@ -102,7 +102,7 @@ diff --git a/namespacegeese.html b/namespacegeese.html index ebfea515a..81953021b 100644 --- a/namespacegeese.html +++ b/namespacegeese.html @@ -102,7 +102,7 @@ diff --git a/namespacemembers.html b/namespacemembers.html index 17a4b324d..cddefd8fc 100644 --- a/namespacemembers.html +++ b/namespacemembers.html @@ -124,7 +124,7 @@ diff --git a/namespacemembers_vars.html b/namespacemembers_vars.html index 85a2f6725..440d7967c 100644 --- a/namespacemembers_vars.html +++ b/namespacemembers_vars.html @@ -124,7 +124,7 @@ diff --git a/network-css_8hpp.html b/network-css_8hpp.html index 8952061e7..a3dab545b 100644 --- a/network-css_8hpp.html +++ b/network-css_8hpp.html @@ -1259,7 +1259,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/network-css_8hpp_source.html b/network-css_8hpp_source.html index 30682327d..eb6261b98 100644 --- a/network-css_8hpp_source.html +++ b/network-css_8hpp_source.html @@ -874,7 +874,7 @@ diff --git a/network_8hpp.html b/network_8hpp.html index c67bf53a0..5bd1f2b9d 100644 --- a/network_8hpp.html +++ b/network_8hpp.html @@ -682,7 +682,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/network_8hpp_source.html b/network_8hpp_source.html index 5163627b3..72f0665a9 100644 --- a/network_8hpp_source.html +++ b/network_8hpp_source.html @@ -1496,7 +1496,7 @@ diff --git a/powerset-bones_8hpp.html b/powerset-bones_8hpp.html index eb70c97c4..739384c12 100644 --- a/powerset-bones_8hpp.html +++ b/powerset-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/powerset-bones_8hpp_source.html b/powerset-bones_8hpp_source.html index b949975ca..aab724f2d 100644 --- a/powerset-bones_8hpp_source.html +++ b/powerset-bones_8hpp_source.html @@ -187,7 +187,7 @@ diff --git a/powerset-meat_8hpp.html b/powerset-meat_8hpp.html index e39cfea4b..b53ce8fe5 100644 --- a/powerset-meat_8hpp.html +++ b/powerset-meat_8hpp.html @@ -113,7 +113,7 @@ diff --git a/powerset-meat_8hpp_source.html b/powerset-meat_8hpp_source.html index 760f47004..0fab4ec95 100644 --- a/powerset-meat_8hpp_source.html +++ b/powerset-meat_8hpp_source.html @@ -319,7 +319,7 @@ diff --git a/progress_8hpp.html b/progress_8hpp.html index 7e77af69f..dcaba63bd 100644 --- a/progress_8hpp.html +++ b/progress_8hpp.html @@ -146,7 +146,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/progress_8hpp_source.html b/progress_8hpp_source.html index 5c2104a28..5e02f92af 100644 --- a/progress_8hpp_source.html +++ b/progress_8hpp_source.html @@ -164,7 +164,7 @@ diff --git a/rules-bones_8hpp.html b/rules-bones_8hpp.html index 45abae77a..d0d54c368 100644 --- a/rules-bones_8hpp.html +++ b/rules-bones_8hpp.html @@ -177,7 +177,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/rules-bones_8hpp_source.html b/rules-bones_8hpp_source.html index c680cb9bb..84c3de639 100644 --- a/rules-bones_8hpp_source.html +++ b/rules-bones_8hpp_source.html @@ -226,7 +226,7 @@ diff --git a/rules-meat_8hpp.html b/rules-meat_8hpp.html index 871aa9901..011219c32 100644 --- a/rules-meat_8hpp.html +++ b/rules-meat_8hpp.html @@ -113,7 +113,7 @@ diff --git a/rules-meat_8hpp_source.html b/rules-meat_8hpp_source.html index d7e2f9680..e6ac08478 100644 --- a/rules-meat_8hpp_source.html +++ b/rules-meat_8hpp_source.html @@ -318,7 +318,7 @@ diff --git a/statscounter-bones_8hpp.html b/statscounter-bones_8hpp.html index 464d2c729..f1a6baebc 100644 --- a/statscounter-bones_8hpp.html +++ b/statscounter-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/statscounter-bones_8hpp_source.html b/statscounter-bones_8hpp_source.html index 8a6b42a7a..e6720f99f 100644 --- a/statscounter-bones_8hpp_source.html +++ b/statscounter-bones_8hpp_source.html @@ -188,7 +188,7 @@ diff --git a/statscounter-meat_8hpp.html b/statscounter-meat_8hpp.html index 0c4e75daf..7059b2d7b 100644 --- a/statscounter-meat_8hpp.html +++ b/statscounter-meat_8hpp.html @@ -713,7 +713,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/statscounter-meat_8hpp_source.html b/statscounter-meat_8hpp_source.html index 14d24b6ab..a8bb8f5df 100644 --- a/statscounter-meat_8hpp_source.html +++ b/statscounter-meat_8hpp_source.html @@ -384,7 +384,7 @@ diff --git a/structvec_hasher-members.html b/structvec_hasher-members.html index 59994a460..18a3cc001 100644 --- a/structvec_hasher-members.html +++ b/structvec_hasher-members.html @@ -105,7 +105,7 @@ diff --git a/structvec_hasher.html b/structvec_hasher.html index fb62c254c..c9b7320dc 100644 --- a/structvec_hasher.html +++ b/structvec_hasher.html @@ -153,7 +153,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/support-bones_8hpp.html b/support-bones_8hpp.html index 63e6ef4d9..7ef175be5 100644 --- a/support-bones_8hpp.html +++ b/support-bones_8hpp.html @@ -122,7 +122,7 @@ diff --git a/support-bones_8hpp_source.html b/support-bones_8hpp_source.html index 856a4ca0b..2eb30b0be 100644 --- a/support-bones_8hpp_source.html +++ b/support-bones_8hpp_source.html @@ -289,7 +289,7 @@ diff --git a/support-meat_8hpp.html b/support-meat_8hpp.html index 671dd0a6b..de810633d 100644 --- a/support-meat_8hpp.html +++ b/support-meat_8hpp.html @@ -138,7 +138,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/support-meat_8hpp_source.html b/support-meat_8hpp_source.html index 26e8854ef..868d14f93 100644 --- a/support-meat_8hpp_source.html +++ b/support-meat_8hpp_source.html @@ -746,7 +746,7 @@ diff --git a/typedefs_8hpp.html b/typedefs_8hpp.html index 42ca207d0..32c65cf64 100644 --- a/typedefs_8hpp.html +++ b/typedefs_8hpp.html @@ -624,7 +624,7 @@

                                                                                                                                              - +
                                                                                                                                            diff --git a/typedefs_8hpp_source.html b/typedefs_8hpp_source.html index 18613e9f8..d83bd241b 100644 --- a/typedefs_8hpp_source.html +++ b/typedefs_8hpp_source.html @@ -406,7 +406,7 @@