├── .gitignore ├── CMakeLists.txt ├── COPYING ├── Example.md ├── LICENSE ├── Readme.md ├── api └── html │ ├── _factories_8h_source.html │ ├── _json_gen_8h_source.html │ ├── _var_db_8h_source.html │ ├── annotated.html │ ├── basic__query_8cpp.html │ ├── bc_s.png │ ├── bdwn.png │ ├── classbayeslib_1_1_clause-members.html │ ├── classbayeslib_1_1_clause.html │ ├── classbayeslib_1_1_clause.png │ ├── classbayeslib_1_1_clause_factory-members.html │ ├── classbayeslib_1_1_clause_factory.html │ ├── classbayeslib_1_1_clause_value-members.html │ ├── classbayeslib_1_1_clause_value.html │ ├── classbayeslib_1_1_clause_value.png │ ├── classbayeslib_1_1_decision_builder_helper-members.html │ ├── classbayeslib_1_1_decision_builder_helper.html │ ├── classbayeslib_1_1_decision_builder_helper.png │ ├── classbayeslib_1_1_decision_function-members.html │ ├── classbayeslib_1_1_decision_function.html │ ├── classbayeslib_1_1_decision_function.png │ ├── classbayeslib_1_1_factor-members.html │ ├── classbayeslib_1_1_factor.html │ ├── classbayeslib_1_1_factor.png │ ├── classbayeslib_1_1_factor_1_1_factor_loader-members.html │ ├── classbayeslib_1_1_factor_1_1_factor_loader.html │ ├── classbayeslib_1_1_factor_extender-members.html │ ├── classbayeslib_1_1_factor_extender.html │ ├── classbayeslib_1_1_factor_factory-members.html │ ├── classbayeslib_1_1_factor_factory.html │ ├── classbayeslib_1_1_factor_merge_helper-members.html │ ├── classbayeslib_1_1_factor_merge_helper.html │ ├── classbayeslib_1_1_factor_set-members.html │ ├── classbayeslib_1_1_factor_set.html │ ├── classbayeslib_1_1_factor_set.png │ ├── classbayeslib_1_1_factor_set_factory-members.html │ ├── classbayeslib_1_1_factor_set_factory.html │ ├── classbayeslib_1_1_interaction_graph-members.html │ ├── classbayeslib_1_1_interaction_graph.html │ ├── classbayeslib_1_1_session_entry-members.html │ ├── classbayeslib_1_1_session_entry.html │ ├── classbayeslib_1_1_u_i_elem-members.html │ ├── classbayeslib_1_1_u_i_elem.html │ ├── classbayeslib_1_1_u_i_elem.png │ ├── classbayeslib_1_1_var-members.html │ ├── classbayeslib_1_1_var.html │ ├── classbayeslib_1_1_var.png │ ├── classbayeslib_1_1_var_db-members.html │ ├── classbayeslib_1_1_var_db.html │ ├── classbayeslib_1_1_var_db_factory-members.html │ ├── classbayeslib_1_1_var_db_factory.html │ ├── classbayeslib_1_1_var_set-members.html │ ├── classbayeslib_1_1_var_set.html │ ├── classbayeslib_1_1_var_set.png │ ├── classbayeslib_1_1_var_set_factory-members.html │ ├── classbayeslib_1_1_var_set_factory.html │ ├── classes.html │ ├── closed.png │ ├── common_8h_source.html │ ├── decision__test_8cpp.html │ ├── dir_59425e443f801f1f2fd8bbe4959a3ccf.html │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html │ ├── doc.png │ ├── doxygen.css │ ├── doxygen.png │ ├── dynsections.js │ ├── electric__circuit__diag_8cpp.html │ ├── factor_8h.html │ ├── factor_8h_source.html │ ├── factorset__deep__copy_8cpp.html │ ├── files.html │ ├── folderclosed.png │ ├── folderopen.png │ ├── functions.html │ ├── functions_func.html │ ├── functions_type.html │ ├── functions_vars.html │ ├── globals.html │ ├── globals_func.html │ ├── group___a_p_i.html │ ├── group__basicquery.html │ ├── group__decision_test.html │ ├── group__deep_copy.html │ ├── group__example_circuit.html │ ├── group__example_isp.html │ ├── group__examples.html │ ├── group__json_factory.html │ ├── group__large_model.html │ ├── hierarchy.html │ ├── index.html │ ├── isp__example_8cpp.html │ ├── jquery.js │ ├── json__factor__factory_8cpp.html │ ├── large__test_8cpp.html │ ├── menu.js │ ├── menudata.js │ ├── modules.html │ ├── namespacebayeslib.html │ ├── namespacemembers.html │ ├── namespacemembers_enum.html │ ├── namespacemembers_eval.html │ ├── namespacemembers_func.html │ ├── namespaces.html │ ├── nav_f.png │ ├── nav_g.png │ ├── nav_h.png │ ├── open.png │ ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_10.html │ ├── all_10.js │ ├── all_11.html │ ├── all_11.js │ ├── all_12.html │ ├── all_12.js │ ├── all_13.html │ ├── all_13.js │ ├── all_14.html │ ├── all_14.js │ ├── all_2.html │ ├── all_2.js │ ├── all_3.html │ ├── all_3.js │ ├── all_4.html │ ├── all_4.js │ ├── all_5.html │ ├── all_5.js │ ├── all_6.html │ ├── all_6.js │ ├── all_7.html │ ├── all_7.js │ ├── all_8.html │ ├── all_8.js │ ├── all_9.html │ ├── all_9.js │ ├── all_a.html │ ├── all_a.js │ ├── all_b.html │ ├── all_b.js │ ├── all_c.html │ ├── all_c.js │ ├── all_d.html │ ├── all_d.js │ ├── all_e.html │ ├── all_e.js │ ├── all_f.html │ ├── all_f.js │ ├── classes_0.html │ ├── classes_0.js │ ├── classes_1.html │ ├── classes_1.js │ ├── classes_2.html │ ├── classes_2.js │ ├── classes_3.html │ ├── classes_3.js │ ├── classes_4.html │ ├── classes_4.js │ ├── classes_5.html │ ├── classes_5.js │ ├── classes_6.html │ ├── classes_6.js │ ├── close.png │ ├── enums_0.html │ ├── enums_0.js │ ├── enumvalues_0.html │ ├── enumvalues_0.js │ ├── files_0.html │ ├── files_0.js │ ├── files_1.html │ ├── files_1.js │ ├── files_2.html │ ├── files_2.js │ ├── files_3.html │ ├── files_3.js │ ├── files_4.html │ ├── files_4.js │ ├── files_5.html │ ├── files_5.js │ ├── files_6.html │ ├── files_6.js │ ├── files_7.html │ ├── files_7.js │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── functions_10.html │ ├── functions_10.js │ ├── functions_11.html │ ├── functions_11.js │ ├── functions_12.html │ ├── functions_12.js │ ├── functions_2.html │ ├── functions_2.js │ ├── functions_3.html │ ├── functions_3.js │ ├── functions_4.html │ ├── functions_4.js │ ├── functions_5.html │ ├── functions_5.js │ ├── functions_6.html │ ├── functions_6.js │ ├── functions_7.html │ ├── functions_7.js │ ├── functions_8.html │ ├── functions_8.js │ ├── functions_9.html │ ├── functions_9.js │ ├── functions_a.html │ ├── functions_a.js │ ├── functions_b.html │ ├── functions_b.js │ ├── functions_c.html │ ├── functions_c.js │ ├── functions_d.html │ ├── functions_d.js │ ├── functions_e.html │ ├── functions_e.js │ ├── functions_f.html │ ├── functions_f.js │ ├── groups_0.html │ ├── groups_0.js │ ├── groups_1.html │ ├── groups_1.js │ ├── groups_2.html │ ├── groups_2.js │ ├── groups_3.html │ ├── groups_3.js │ ├── groups_4.html │ ├── groups_4.js │ ├── groups_5.html │ ├── groups_5.js │ ├── groups_6.html │ ├── groups_6.js │ ├── mag_sel.png │ ├── namespaces_0.html │ ├── namespaces_0.js │ ├── nomatches.html │ ├── pages_0.html │ ├── pages_0.js │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ ├── searchdata.js │ ├── typedefs_0.html │ ├── typedefs_0.js │ ├── variables_0.html │ ├── variables_0.js │ ├── variables_1.html │ ├── variables_1.js │ ├── variables_2.html │ └── variables_2.js │ ├── splitbar.png │ ├── structbayeslib_1_1_clause_initializer-members.html │ ├── structbayeslib_1_1_clause_initializer.html │ ├── sync_off.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_b.png │ ├── tab_h.png │ ├── tab_s.png │ ├── tabs.css │ ├── test__basic__solve_8cpp.html │ └── tests_2test1_8cpp.html ├── cgi ├── .idea │ ├── cgi.iml │ ├── misc.xml │ ├── modules.xml │ └── workspace.xml ├── CMakeLists.txt └── main.cpp ├── docs ├── ai.png ├── ai_generic.png ├── circuit.png ├── circuitgraph.png ├── factor.png ├── firealarm.png ├── isp.png ├── isp_decision.png ├── model.png ├── netdiag.png ├── netgraph.png ├── player.png └── probbasic.png ├── doxygen.txt ├── googletest ├── .gitignore ├── CHANGES ├── CMakeLists.txt ├── CMakeLists.txt - Shortcut.lnk ├── CONTRIBUTORS ├── LICENSE ├── Makefile.am ├── README.md ├── cmake │ └── internal_utils.cmake ├── configure.ac ├── include │ └── gtest │ │ ├── gtest-death-test.h │ │ ├── gtest-message.h │ │ ├── gtest-param-test.h │ │ ├── gtest-param-test.h.pump │ │ ├── gtest-printers.h │ │ ├── gtest-spi.h │ │ ├── gtest-test-part.h │ │ ├── gtest-typed-test.h │ │ ├── gtest.h │ │ ├── gtest_pred_impl.h │ │ ├── gtest_prod.h │ │ └── internal │ │ ├── custom │ │ ├── gtest-port.h │ │ ├── gtest-printers.h │ │ └── gtest.h │ │ ├── gtest-death-test-internal.h │ │ ├── gtest-filepath.h │ │ ├── gtest-internal.h │ │ ├── gtest-linked_ptr.h │ │ ├── gtest-param-util-generated.h │ │ ├── gtest-param-util-generated.h.pump │ │ ├── gtest-param-util.h │ │ ├── gtest-port-arch.h │ │ ├── gtest-port.h │ │ ├── gtest-string.h │ │ ├── gtest-tuple.h │ │ ├── gtest-tuple.h.pump │ │ ├── gtest-type-util.h │ │ └── gtest-type-util.h.pump └── src │ ├── gtest-all.cc │ ├── gtest-death-test.cc │ ├── gtest-filepath.cc │ ├── gtest-internal-inl.h │ ├── gtest-port.cc │ ├── gtest-printers.cc │ ├── gtest-test-part.cc │ ├── gtest-typed-test.cc │ ├── gtest.cc │ └── gtest_main.cc ├── libs └── json │ ├── json │ ├── json-forwards.h │ └── json.h │ └── jsoncpp.cpp ├── src ├── CMakeLists.txt ├── Clause.cpp ├── ClauseFactory.cpp ├── DbFactory.cpp ├── DecisionBuilderHelper.cpp ├── DecisionFunction.cpp ├── Factor.cpp ├── FactorFactory.cpp ├── FactorMergeHelper.cpp ├── FactorSet.cpp ├── FactorSetFactory.cpp ├── Factories.h ├── InteractionGraph.cpp ├── JsonGen.h ├── Makefile.old ├── SessionEntry.cpp ├── Source.dox ├── Var.cpp ├── VarDb.cpp ├── VarDb.h ├── VarDbFactory.cpp ├── VarSet.cpp ├── VarSetFactory.cpp ├── common.h ├── factor.h └── test1.cpp ├── tests ├── CMakeLists.txt ├── Makefile.old ├── ReadMe.txt ├── Source.cpp ├── basic_query.cpp ├── decision_test.cpp ├── electric_circuit_diag.cpp ├── factorset_deep_copy.cpp ├── full_probability_calc.cpp ├── isp_example.cpp ├── json_factor_factory.cpp ├── json_factory.cpp ├── large_test.cpp ├── test1.cpp └── test_basic_solve.cpp ├── win ├── cgi │ └── cgi.vcxproj ├── googletest │ ├── gtest.vcproj │ └── gtest.vcxproj ├── libairt.sln ├── libairt │ ├── ReadMe.txt │ └── libairt.vcxproj ├── runweb.cmd ├── test1 │ ├── ReadMe.txt │ ├── targetver.h │ └── test1.vcxproj └── tests │ └── TestFile1.json └── wshop ├── .editorconfig ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── app ├── app.component.html ├── app.component.spec.ts ├── app.component.ts ├── app.module.ts ├── bayes │ ├── bayes.ts │ ├── cfg-edit.component.html │ ├── cfg-edit.component.ts │ ├── edit-factors.component.html │ ├── edit-factors.component.ts │ ├── manage-vars.component.html │ ├── manage-vars.ts │ ├── view-factors.component.html │ └── view-factors.component.ts ├── main.ts ├── not-found.component.ts └── shared │ ├── services │ ├── ai.service.ts │ └── model.service.ts │ └── shared.ts ├── e2e └── app.e2e-spec.ts ├── favicon.ico ├── index.html ├── karma-test-shim.js ├── karma.conf.js ├── package.json ├── protractor.config.js ├── runserver.txt ├── styles.css ├── systemjs.config.extras.js ├── systemjs.config.js ├── tsconfig.json └── tslint.json /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.6) 2 | project(airt) 3 | 4 | 5 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 6 | 7 | #set(SOURCE_FILES main.cpp) 8 | #add_executable(airt ${SOURCE_FILES}) 9 | 10 | add_subdirectory(src) 11 | add_subdirectory(tests) 12 | add_subdirectory(googletest) 13 | add_subdirectory(cgi) 14 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017, Boris Altshul 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 13 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 14 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 15 | DISCLAIMED. IN NO EVENT SHALL Boris Altshul BE LIABLE FOR ANY 16 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 17 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 18 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 19 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 20 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 21 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2017, boralt 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # EmbeddedAI *EmbededAI* is a library that provides elements of AI to C++ applications. Due to small footprint it is usable even for small embedded systems. Initial set of algorithms in this library is based on Bayesian approach to AI. This library can dramatically simplify implementation of what otherwise would be complicated custom programming of hard to implement and maintain logic. With Bayesian approach the results are consistent with easily visualized model. # Methodology 1. Build Model 2 | 2. Apply sample/measurement 3 | 3. Query model for inference of non-directly observed variables 4 | 4. Query model for decisions based on maximum payoff/lowes loss 5 | ![model](./docs/model.png) ## Applications * Based on observations determine probabilities of any individual cause or combination of causes * Find the most likely explanations of any given observation (Minimum Probability of Error MPE) * Find most likely values of certain causes given observation (Maximum Aposteriori Probability MAP) * Find optimal sequence of decisions (actions) given costs (payoffs) and observations performed prior to any action. Doxygen pages of Library Components can be viwed [here](https://rawgit.com/boralt/EmbeddedAI/master/api/html/classes.html) ## API Project [Wiki](https://github.com/boralt/EmbeddedAI/wiki) contains brief API information. See doxygen pages [here](https://rawgit.com/boralt/EmbeddedAI/master/api/html/classes.html) ## Examples Several test applications providing usage samples are available in ./tests directory and described in doxygen. Project wiki contains detailed walthrough of sample implementations. -------------------------------------------------------------------------------- /api/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/bc_s.png -------------------------------------------------------------------------------- /api/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/bdwn.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_clause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_clause.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_clause_value.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_clause_value.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_decision_builder_helper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_decision_builder_helper.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_decision_function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_decision_function.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_factor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_factor.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_factor_set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_factor_set.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_u_i_elem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_u_i_elem.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_var.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_var.png -------------------------------------------------------------------------------- /api/html/classbayeslib_1_1_var_set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/classbayeslib_1_1_var_set.png -------------------------------------------------------------------------------- /api/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/closed.png -------------------------------------------------------------------------------- /api/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/doc.png -------------------------------------------------------------------------------- /api/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/doxygen.png -------------------------------------------------------------------------------- /api/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/folderclosed.png -------------------------------------------------------------------------------- /api/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/folderopen.png -------------------------------------------------------------------------------- /api/html/menu.js: -------------------------------------------------------------------------------- 1 | function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { 2 | function makeTree(data,relPath) { 3 | var result=''; 4 | if ('children' in data) { 5 | result+=''; 12 | } 13 | return result; 14 | } 15 | 16 | $('#main-nav').append(makeTree(menudata,relPath)); 17 | $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); 18 | if (searchEnabled) { 19 | if (serverSide) { 20 | $('#main-menu').append('
  • '); 21 | } else { 22 | $('#main-menu').append('
  • '); 23 | } 24 | } 25 | $('#main-menu').smartmenus(); 26 | } 27 | -------------------------------------------------------------------------------- /api/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/nav_f.png -------------------------------------------------------------------------------- /api/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/nav_g.png -------------------------------------------------------------------------------- /api/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/nav_h.png -------------------------------------------------------------------------------- /api/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/open.png -------------------------------------------------------------------------------- /api/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['add',['Add',['../classbayeslib_1_1_var_set.html#a635342b32e204756ae6be67229c80039',1,'bayeslib::VarSet::Add(VarId id)'],['../classbayeslib_1_1_var_set.html#a074750e5f126580aba3ceb240ddcefc9',1,'bayeslib::VarSet::Add(const VarSet &another)']]], 4 | ['addextendedclause',['AddExtendedClause',['../classbayeslib_1_1_factor.html#a86c13f5db9a52e29a6fbb894f2a496a8',1,'bayeslib::Factor']]], 5 | ['addfactor',['AddFactor',['../classbayeslib_1_1_factor_set.html#a988e6f561735dd2c9d7655fdbf74333a',1,'bayeslib::FactorSet']]], 6 | ['addinstance',['AddInstance',['../classbayeslib_1_1_factor.html#aad853fb3fd9c683c7fbf8c8ddcd74dd5',1,'bayeslib::Factor']]], 7 | ['addvar',['AddVar',['../classbayeslib_1_1_var_db.html#aee73b21ec2447f2a81179c04c2a7ff30',1,'bayeslib::VarDb::AddVar()'],['../classbayeslib_1_1_clause.html#a5298398433a59beb33a4dbd5138cc841',1,'bayeslib::Clause::AddVar()']]], 8 | ['applyclause',['ApplyClause',['../classbayeslib_1_1_factor.html#a6e0db51fff38182df90d513ec15bc307',1,'bayeslib::Factor::ApplyClause()'],['../classbayeslib_1_1_factor_set.html#a6e205e283157efa558db76d7cbcd24bc',1,'bayeslib::FactorSet::ApplyClause()']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /api/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['basic_5fquery_2ecpp',['basic_query.cpp',['../basic__query_8cpp.html',1,'']]], 4 | ['basic_20queries',['Basic Queries',['../group__basicquery.html',1,'']]], 5 | ['bayeslib',['bayeslib',['../namespacebayeslib.html',1,'']]], 6 | ['bstate',['bState',['../structbayeslib_1_1_clause_initializer.html#a46dd1f27ad5628362874baaaa726a854',1,'bayeslib::ClauseInitializer']]], 7 | ['builddecision',['BuildDecision',['../classbayeslib_1_1_factor_set.html#a4b2a89585c771f92aa9064d63c8216e0',1,'bayeslib::FactorSet']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /api/html/search/all_10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sessionentry',['SessionEntry',['../classbayeslib_1_1_session_entry.html',1,'bayeslib']]], 4 | ['setclausehead',['SetClauseHead',['../classbayeslib_1_1_factor.html#ad18a4d910d7893d63ccee694206566cc',1,'bayeslib::Factor']]], 5 | ['setextendedvarset',['SetExtendedVarSet',['../classbayeslib_1_1_factor.html#ad518b8c1c0f84742e531f06431f248be',1,'bayeslib::Factor']]], 6 | ['setfactortype',['SetFactorType',['../classbayeslib_1_1_factor.html#a00214b6d0c731bdb870af384d53b1d9a',1,'bayeslib::Factor']]], 7 | ['setval',['SetVal',['../classbayeslib_1_1_clause_value.html#a20949d5930751da22873d9cd487534a6',1,'bayeslib::ClauseValue']]], 8 | ['setvar',['SetVar',['../classbayeslib_1_1_clause.html#a54d43e9263eec93e7d98ebad88c62740',1,'bayeslib::Clause']]], 9 | ['substract',['Substract',['../classbayeslib_1_1_var_set.html#ae62d4a264485217d9511259c9ab82d9c',1,'bayeslib::VarSet']]], 10 | ['szjsoninput',['szJsonInput',['../group__json_factory.html#ga94dfc3cea9acaef3ef96f96b24030b7a',1,'json_factory.cpp']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /api/html/search/all_11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uielem',['UIElem',['../classbayeslib_1_1_u_i_elem.html',1,'bayeslib']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/all_13.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_13.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['var',['Var',['../classbayeslib_1_1_var.html',1,'bayeslib::Var'],['../classbayeslib_1_1_var.html#a69f794acc9d17cde3476b2f7e13493b5',1,'bayeslib::Var::Var()']]], 4 | ['vardb',['VarDb',['../classbayeslib_1_1_var_db.html',1,'bayeslib::VarDb'],['../classbayeslib_1_1_var_db.html#aad5efc77891d7cdf7c50c7a925a70059',1,'bayeslib::VarDb::VarDb()']]], 5 | ['vardbfactory',['VarDbFactory',['../classbayeslib_1_1_var_db_factory.html',1,'bayeslib']]], 6 | ['varid',['varid',['../structbayeslib_1_1_clause_initializer.html#aa2fcc0329e5d168b88efaa08a4570637',1,'bayeslib::ClauseInitializer']]], 7 | ['varset',['VarSet',['../classbayeslib_1_1_var_set.html',1,'bayeslib::VarSet'],['../classbayeslib_1_1_var_set.html#a66597838269f64dc50332d5418b47ed5',1,'bayeslib::VarSet::VarSet()'],['../classbayeslib_1_1_var_set.html#a7ed6a0626707c3a3c897a77b124baa8d',1,'bayeslib::VarSet::VarSet(const VarId v)'],['../classbayeslib_1_1_var_set.html#ab9f9fbe54ea17266b46fcf5bf9e9d5a2',1,'bayeslib::VarSet::VarSet(std::initializer_list< VarId > initlist)']]], 8 | ['varsetfactory',['VarSetFactory',['../classbayeslib_1_1_var_set_factory.html',1,'bayeslib']]], 9 | ['vartype',['VarType',['../group___a_p_i.html#gab42a06f43f334e409222a5f89be6bc49',1,'bayeslib']]], 10 | ['vartype_5fdecision',['VarType_Decision',['../group___a_p_i.html#ggab42a06f43f334e409222a5f89be6bc49abc32f0408ffc0f37632aa8cadf9145e7',1,'bayeslib']]], 11 | ['vartype_5fnormal',['VarType_Normal',['../group___a_p_i.html#ggab42a06f43f334e409222a5f89be6bc49a415ad07e9d9c5cb613cc1d6cea20c1a2',1,'bayeslib']]], 12 | ['vartype_5futility',['VarType_Utility',['../group___a_p_i.html#ggab42a06f43f334e409222a5f89be6bc49af7e38efc61f89de47290269ea1ca6eaa',1,'bayeslib']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /api/html/search/all_14.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_14.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7evarset',['~VarSet',['../classbayeslib_1_1_var_set.html#a1559bf55b1748f8fed6c946f713d0247',1,'bayeslib::VarSet']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['clause',['Clause',['../classbayeslib_1_1_clause.html',1,'bayeslib::Clause'],['../classbayeslib_1_1_clause.html#a5de3babaf26c8410b921155b933ee633',1,'bayeslib::Clause::Clause()'],['../classbayeslib_1_1_clause.html#a4cb2fc37bb26f1a764688203b615390e',1,'bayeslib::Clause::Clause(const VarSet &vs)'],['../classbayeslib_1_1_clause.html#a107b0b9607fc3ec29a58dc7d0bc58d32',1,'bayeslib::Clause::Clause(const VarSet &vs, Json::Value &v)'],['../classbayeslib_1_1_clause.html#a4734956c98d25e3ee5272e29050a36f4',1,'bayeslib::Clause::Clause(const VarSet &vs, const std::bitset< MAX_SET_SIZE > &clause)'],['../classbayeslib_1_1_clause.html#aee142640077db15136561d6030323833',1,'bayeslib::Clause::Clause(const VarSet &vs, InstanceId id)'],['../classbayeslib_1_1_clause.html#a713cb4d305349efd4ed8862312e5886e',1,'bayeslib::Clause::Clause(std::initializer_list< ClauseInitializer > initlist)']]], 4 | ['clausefactory',['ClauseFactory',['../classbayeslib_1_1_clause_factory.html',1,'bayeslib']]], 5 | ['clauseinitializer',['ClauseInitializer',['../structbayeslib_1_1_clause_initializer.html',1,'bayeslib']]], 6 | ['clausevalue',['ClauseValue',['../classbayeslib_1_1_clause_value.html',1,'bayeslib::ClauseValue'],['../classbayeslib_1_1_clause_value.html#ac669eb77d56e1f92d2f605a5572c78fa',1,'bayeslib::ClauseValue::ClauseValue(Args &&... args)'],['../classbayeslib_1_1_clause_value.html#afe7e677f6e99abc6c1ac1d21453f0a5f',1,'bayeslib::ClauseValue::ClauseValue(Clause cl, ValueType v)']]], 7 | ['completeprobabilities',['CompleteProbabilities',['../classbayeslib_1_1_factor.html#af5906bfc8f18ee54f098ce673432e104',1,'bayeslib::Factor']]], 8 | ['conjuction',['Conjuction',['../classbayeslib_1_1_var_set.html#ab1b9b36f893dec4effa724ac20b8cd3b',1,'bayeslib::VarSet']]], 9 | ['createraintest',['CreateRainTest',['../test__basic__solve_8cpp.html#aedefa8a562e1ca893d92206109c14486',1,'test_basic_solve.cpp']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /api/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['decision_5ftest_2ecpp',['decision_test.cpp',['../decision__test_8cpp.html',1,'']]], 4 | ['decisionbuilderhelper',['DecisionBuilderHelper',['../classbayeslib_1_1_decision_builder_helper.html',1,'bayeslib']]], 5 | ['decisionfunction',['DecisionFunction',['../classbayeslib_1_1_decision_function.html',1,'bayeslib']]], 6 | ['decisiontest1',['DecisionTest1',['../decision__test_8cpp.html#a7f4ca4b38605f3a9357e05fab5438ba1',1,'DecisionTest1(): decision_test.cpp'],['../tests_2test1_8cpp.html#a7f4ca4b38605f3a9357e05fab5438ba1',1,'DecisionTest1(): decision_test.cpp']]], 7 | ['decr',['Decr',['../classbayeslib_1_1_clause.html#aa5b2e0f5b8016048cfa3f95fa2eacede',1,'bayeslib::Clause']]], 8 | ['disjuction',['Disjuction',['../classbayeslib_1_1_var_set.html#a29c69b8d44447fb4fd0628afd01fda16',1,'bayeslib::VarSet']]], 9 | ['digital_20circuit_20example',['Digital Circuit Example',['../group__example_circuit.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /api/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['embeddedai_20library_20api',['EmbeddedAI library API',['../group___a_p_i.html',1,'']]], 4 | ['electric_5fcircuit_5fdiag_2ecpp',['electric_circuit_diag.cpp',['../electric__circuit__diag_8cpp.html',1,'']]], 5 | ['eliminatevar',['EliminateVar',['../classbayeslib_1_1_factor.html#a109b0971b97423a1fdd154e9f08f3bbb',1,'bayeslib::Factor::EliminateVar(VarId id)'],['../classbayeslib_1_1_factor.html#a7804011c74061ff91a5721032f5206bb',1,'bayeslib::Factor::EliminateVar(const VarSet &vs)'],['../classbayeslib_1_1_factor_set.html#a5037ed704fc643f6db70d9e55a3ee91d',1,'bayeslib::FactorSet::EliminateVar()']]], 6 | ['eraseextendedinfo',['EraseExtendedInfo',['../classbayeslib_1_1_factor.html#a33267d7e84a4b0007e0f0520f2eb7dad',1,'bayeslib::Factor']]], 7 | ['embeddedai_20tests',['EmbeddedAI tests',['../group__examples.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /api/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['factorset_20deepy_20copy',['FactorSet deepy copy',['../group__deep_copy.html',1,'']]], 4 | ['factor',['Factor',['../classbayeslib_1_1_factor.html',1,'bayeslib::Factor'],['../classbayeslib_1_1_factor.html#a7b1e2bbdaff7b9ac2aee98c838acf3e5',1,'bayeslib::Factor::Factor(const VarSet &varset)'],['../classbayeslib_1_1_factor.html#a56b74b8bf7b09e17c18cbf9c8d9e7de5',1,'bayeslib::Factor::Factor(const VarSet &varset, VarId clauseHead)'],['../classbayeslib_1_1_factor.html#a8b4f1c92ba7d43ca8bd96faa608229e0',1,'bayeslib::Factor::Factor(const VarSet &varset, VarSet clauseHead)']]], 5 | ['factor_2eh',['factor.h',['../factor_8h.html',1,'']]], 6 | ['factorextender',['FactorExtender',['../classbayeslib_1_1_factor_extender.html',1,'bayeslib']]], 7 | ['factorfactory',['FactorFactory',['../classbayeslib_1_1_factor_factory.html',1,'bayeslib']]], 8 | ['factorloader',['FactorLoader',['../classbayeslib_1_1_factor_1_1_factor_loader.html',1,'bayeslib::Factor::FactorLoader'],['../classbayeslib_1_1_factor_1_1_factor_loader.html#a34dd292dc544d497c4a95f51fe26af26',1,'bayeslib::Factor::FactorLoader::FactorLoader()']]], 9 | ['factormergehelper',['FactorMergeHelper',['../classbayeslib_1_1_factor_merge_helper.html',1,'bayeslib']]], 10 | ['factorset',['FactorSet',['../classbayeslib_1_1_factor_set.html',1,'bayeslib::FactorSet'],['../classbayeslib_1_1_factor_set.html#a55fd61a39cbed4407611d37c32e334c9',1,'bayeslib::FactorSet::FactorSet()']]], 11 | ['factorset_5fdeep_5fcopy_2ecpp',['factorset_deep_copy.cpp',['../factorset__deep__copy_8cpp.html',1,'']]], 12 | ['factorsetfactory',['FactorSetFactory',['../classbayeslib_1_1_factor_set_factory.html',1,'bayeslib']]], 13 | ['filtervarset',['FilterVarSet',['../classbayeslib_1_1_var_set.html#a954c412090e32fe21ca95ad6f415478a',1,'bayeslib::VarSet']]], 14 | ['fin',['fin',['../group___a_p_i.html#ga5dc8551fa9961b1d2459fe820d5437b8',1,'bayeslib']]] 15 | ]; 16 | -------------------------------------------------------------------------------- /api/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['hasval',['HasVal',['../classbayeslib_1_1_factor.html#a5ee7da99c65257a9d18f41f8a0a34718',1,'bayeslib::Factor']]], 4 | ['hasvar',['HasVar',['../classbayeslib_1_1_var_set.html#a96b6e01541d47bde4b91c0bc4f200d21',1,'bayeslib::VarSet::HasVar(VarId id) const'],['../classbayeslib_1_1_var_set.html#aa918c06c8db285bb9f39ebefe2fbd083',1,'bayeslib::VarSet::HasVar(const VarSet &another) const'],['../classbayeslib_1_1_var_db.html#a5a8687f8f780e23d9d1371166e337314',1,'bayeslib::VarDb::HasVar()']]], 5 | ['hasvartype',['HasVarType',['../classbayeslib_1_1_var_set.html#af4aa8cf13bd8eff8ee92ad789fe7803f',1,'bayeslib::VarSet']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['isp_20examples',['Isp Examples',['../group__example_isp.html',1,'']]], 4 | ['incr',['Incr',['../classbayeslib_1_1_clause.html#a02bf00fd6651b2426a2d54700aa98b51',1,'bayeslib::Clause']]], 5 | ['initcircuittest',['InitCircuitTest',['../electric__circuit__diag_8cpp.html#a24a130085767dad51b238c6bf7f3d919',1,'electric_circuit_diag.cpp']]], 6 | ['initdecisiontest1',['InitDecisionTest1',['../decision__test_8cpp.html#af56d4e1a9e0f721fe455759284741edd',1,'decision_test.cpp']]], 7 | ['initispdecisionexample',['InitIspDecisionExample',['../isp__example_8cpp.html#a799a0b20782b063d27bf25c53a1ce514',1,'isp_example.cpp']]], 8 | ['initispexample',['InitIspExample',['../isp__example_8cpp.html#aef71f565afb9800e96075278d4080505',1,'isp_example.cpp']]], 9 | ['initlargetest',['InitLargeTest',['../large__test_8cpp.html#a8f2c082d80628e8d52a7e3a449619e91',1,'large_test.cpp']]], 10 | ['interactiongraph',['InteractionGraph',['../classbayeslib_1_1_interaction_graph.html',1,'bayeslib']]], 11 | ['isempty',['IsEmpty',['../classbayeslib_1_1_var_set.html#af49d8564dfd81aa6ac03fec306d5e93b',1,'bayeslib::VarSet::IsEmpty()'],['../classbayeslib_1_1_factor.html#a854973dc5b724ab828a683df5f90d32b',1,'bayeslib::Factor::IsEmpty()'],['../classbayeslib_1_1_factor_set.html#af24ac77fae2e769ff342f2954b288f91',1,'bayeslib::FactorSet::IsEmpty()']]], 12 | ['isnull',['IsNull',['../classbayeslib_1_1_var.html#afd23dc9869b10d7fd4850d3a7f1b414a',1,'bayeslib::Var']]], 13 | ['isp_5fexample_2ecpp',['isp_example.cpp',['../isp__example_8cpp.html',1,'']]], 14 | ['ispdecisionexample',['IspDecisionExample',['../isp__example_8cpp.html#a1f03d4375fbfcc9401e7fef389b2edb6',1,'IspDecisionExample(): isp_example.cpp'],['../tests_2test1_8cpp.html#a1f03d4375fbfcc9401e7fef389b2edb6',1,'IspDecisionExample(): isp_example.cpp']]], 15 | ['isptest1',['IspTest1',['../isp__example_8cpp.html#af09e20bec9b82ea04e6189db1677f993',1,'IspTest1(): isp_example.cpp'],['../tests_2test1_8cpp.html#af09e20bec9b82ea04e6189db1677f993',1,'IspTest1(): isp_example.cpp']]], 16 | ['isptest2',['IspTest2',['../isp__example_8cpp.html#a884345018fac8c47de160a7f83f9b4e8',1,'IspTest2(): isp_example.cpp'],['../tests_2test1_8cpp.html#a884345018fac8c47de160a7f83f9b4e8',1,'IspTest2(): isp_example.cpp']]] 17 | ]; 18 | -------------------------------------------------------------------------------- /api/html/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['json_5ffactor_5ffactory_2ecpp',['json_factor_factory.cpp',['../json__factor__factory_8cpp.html',1,'']]], 4 | ['json_20factory_20example',['Json Factory Example',['../group__json_factory.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['library_20documentation',['Library Documentation',['../index.html',1,'']]], 4 | ['large_5ftest_2ecpp',['large_test.cpp',['../large__test_8cpp.html',1,'']]], 5 | ['largetest1',['LargeTest1',['../large__test_8cpp.html#affdd47112bfe707e618615890e663a1b',1,'LargeTest1(): large_test.cpp'],['../tests_2test1_8cpp.html#affdd47112bfe707e618615890e663a1b',1,'LargeTest1(): large_test.cpp']]], 6 | ['largetest2',['LargeTest2',['../large__test_8cpp.html#a7ff3b42ae263d03c2f437b39a04c4e9c',1,'LargeTest2(): large_test.cpp'],['../tests_2test1_8cpp.html#a7ff3b42ae263d03c2f437b39a04c4e9c',1,'LargeTest2(): large_test.cpp']]], 7 | ['listfactors',['ListFactors',['../classbayeslib_1_1_factor_set.html#ad5ce177a382d680581c2c04659a9ea04',1,'bayeslib::FactorSet']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /api/html/search/all_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['maximizevar',['MaximizeVar',['../classbayeslib_1_1_factor.html#afadb72caf41eab0d5c0957eb94b23876',1,'bayeslib::Factor::MaximizeVar()'],['../classbayeslib_1_1_factor_set.html#a299d1e409538ccda0945536d21d145a8',1,'bayeslib::FactorSet::MaximizeVar()']]], 4 | ['merge',['Merge',['../classbayeslib_1_1_factor.html#a7a51592df3a6097d6d2e1630adca6650',1,'bayeslib::Factor::Merge()'],['../classbayeslib_1_1_factor_set.html#aa6cee34f0166140a6dc75d72cd34a928',1,'bayeslib::FactorSet::Merge()']]], 5 | ['mergein',['MergeIn',['../classbayeslib_1_1_var_set.html#aab6b6d48a62ad707acfbd54547ec2a11',1,'bayeslib::VarSet']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/all_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['normalize',['Normalize',['../classbayeslib_1_1_factor.html#a873acdf4ef657a570d8f8c3a0eb0cc49',1,'bayeslib::Factor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/all_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_3c_3c',['operator<<',['../classbayeslib_1_1_var_set.html#a84b6477f4530187b0247aa1a0575f9b7',1,'bayeslib::VarSet::operator<<()'],['../classbayeslib_1_1_factor_1_1_factor_loader.html#ae9494daea8796bae8209d49cac380700',1,'bayeslib::Factor::FactorLoader::operator<<(ValueType v)'],['../classbayeslib_1_1_factor_1_1_factor_loader.html#a73e237933402c9a7fbed86f1fce15a22',1,'bayeslib::Factor::FactorLoader::operator<<(FactorLoaderManipulator man)'],['../classbayeslib_1_1_factor.html#a6d2d7d3506778e3b54c1872b1a85977d',1,'bayeslib::Factor::operator<<()']]], 4 | ['operator_3d_3d',['operator==',['../classbayeslib_1_1_var_set.html#aa76984f86f1c8bfdcb2b6177bfa17c77',1,'bayeslib::VarSet']]], 5 | ['operator_5b_5d',['operator[]',['../classbayeslib_1_1_var_db.html#a3e0a9020ce30d23252d6980d219f4b86',1,'bayeslib::VarDb::operator[](const std::string &s)'],['../classbayeslib_1_1_var_db.html#a5b23294c350751c7503e845320badba0',1,'bayeslib::VarDb::operator[](VarId id)'],['../classbayeslib_1_1_clause.html#a0d23e325084ef30f97b1cfacefa37d32',1,'bayeslib::Clause::operator[]()']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/all_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pruneedge',['PruneEdge',['../classbayeslib_1_1_factor.html#ab5421ff5ec4120e201e4a3ba5f24c06b',1,'bayeslib::Factor']]], 4 | ['pruneedges',['PruneEdges',['../classbayeslib_1_1_factor_set.html#ad3ea1a77530aaaa3ae0328c6bed9dea0',1,'bayeslib::FactorSet']]], 5 | ['prunevars',['PruneVars',['../classbayeslib_1_1_factor_set.html#a3dba7a34f121e5d3c5c4d50a6987d65b',1,'bayeslib::FactorSet']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/all_f.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/all_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['remove',['Remove',['../classbayeslib_1_1_var_set.html#a7f55569c4ecf8f907a2918f467888237',1,'bayeslib::VarSet']]], 4 | ['removevars',['RemoveVars',['../classbayeslib_1_1_factor_set.html#ab201e3c8164d926b3442ecf4ecfc89b4',1,'bayeslib::FactorSet']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['clause',['Clause',['../classbayeslib_1_1_clause.html',1,'bayeslib']]], 4 | ['clausefactory',['ClauseFactory',['../classbayeslib_1_1_clause_factory.html',1,'bayeslib']]], 5 | ['clauseinitializer',['ClauseInitializer',['../structbayeslib_1_1_clause_initializer.html',1,'bayeslib']]], 6 | ['clausevalue',['ClauseValue',['../classbayeslib_1_1_clause_value.html',1,'bayeslib']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /api/html/search/classes_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['decisionbuilderhelper',['DecisionBuilderHelper',['../classbayeslib_1_1_decision_builder_helper.html',1,'bayeslib']]], 4 | ['decisionfunction',['DecisionFunction',['../classbayeslib_1_1_decision_function.html',1,'bayeslib']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/classes_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['factor',['Factor',['../classbayeslib_1_1_factor.html',1,'bayeslib']]], 4 | ['factorextender',['FactorExtender',['../classbayeslib_1_1_factor_extender.html',1,'bayeslib']]], 5 | ['factorfactory',['FactorFactory',['../classbayeslib_1_1_factor_factory.html',1,'bayeslib']]], 6 | ['factorloader',['FactorLoader',['../classbayeslib_1_1_factor_1_1_factor_loader.html',1,'bayeslib::Factor']]], 7 | ['factormergehelper',['FactorMergeHelper',['../classbayeslib_1_1_factor_merge_helper.html',1,'bayeslib']]], 8 | ['factorset',['FactorSet',['../classbayeslib_1_1_factor_set.html',1,'bayeslib']]], 9 | ['factorsetfactory',['FactorSetFactory',['../classbayeslib_1_1_factor_set_factory.html',1,'bayeslib']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /api/html/search/classes_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['interactiongraph',['InteractionGraph',['../classbayeslib_1_1_interaction_graph.html',1,'bayeslib']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/classes_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/classes_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sessionentry',['SessionEntry',['../classbayeslib_1_1_session_entry.html',1,'bayeslib']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/classes_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/classes_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uielem',['UIElem',['../classbayeslib_1_1_u_i_elem.html',1,'bayeslib']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/classes_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/classes_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['var',['Var',['../classbayeslib_1_1_var.html',1,'bayeslib']]], 4 | ['vardb',['VarDb',['../classbayeslib_1_1_var_db.html',1,'bayeslib']]], 5 | ['vardbfactory',['VarDbFactory',['../classbayeslib_1_1_var_db_factory.html',1,'bayeslib']]], 6 | ['varset',['VarSet',['../classbayeslib_1_1_var_set.html',1,'bayeslib']]], 7 | ['varsetfactory',['VarSetFactory',['../classbayeslib_1_1_var_set_factory.html',1,'bayeslib']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /api/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/search/close.png -------------------------------------------------------------------------------- /api/html/search/enums_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/enums_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vartype',['VarType',['../group___a_p_i.html#gab42a06f43f334e409222a5f89be6bc49',1,'bayeslib']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/enumvalues_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/enumvalues_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vartype_5fdecision',['VarType_Decision',['../group___a_p_i.html#ggab42a06f43f334e409222a5f89be6bc49abc32f0408ffc0f37632aa8cadf9145e7',1,'bayeslib']]], 4 | ['vartype_5fnormal',['VarType_Normal',['../group___a_p_i.html#ggab42a06f43f334e409222a5f89be6bc49a415ad07e9d9c5cb613cc1d6cea20c1a2',1,'bayeslib']]], 5 | ['vartype_5futility',['VarType_Utility',['../group___a_p_i.html#ggab42a06f43f334e409222a5f89be6bc49af7e38efc61f89de47290269ea1ca6eaa',1,'bayeslib']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['basic_5fquery_2ecpp',['basic_query.cpp',['../basic__query_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['decision_5ftest_2ecpp',['decision_test.cpp',['../decision__test_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/files_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['electric_5fcircuit_5fdiag_2ecpp',['electric_circuit_diag.cpp',['../electric__circuit__diag_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/files_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['factor_2eh',['factor.h',['../factor_8h.html',1,'']]], 4 | ['factorset_5fdeep_5fcopy_2ecpp',['factorset_deep_copy.cpp',['../factorset__deep__copy_8cpp.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/files_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['isp_5fexample_2ecpp',['isp_example.cpp',['../isp__example_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/files_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['json_5ffactor_5ffactory_2ecpp',['json_factor_factory.cpp',['../json__factor__factory_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/files_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['large_5ftest_2ecpp',['large_test.cpp',['../large__test_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/files_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['test1_2ecpp',['test1.cpp',['../tests_2test1_8cpp.html',1,'']]], 4 | ['test_5fbasic_5fsolve_2ecpp',['test_basic_solve.cpp',['../test__basic__solve_8cpp.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['add',['Add',['../classbayeslib_1_1_var_set.html#a635342b32e204756ae6be67229c80039',1,'bayeslib::VarSet::Add(VarId id)'],['../classbayeslib_1_1_var_set.html#a074750e5f126580aba3ceb240ddcefc9',1,'bayeslib::VarSet::Add(const VarSet &another)']]], 4 | ['addextendedclause',['AddExtendedClause',['../classbayeslib_1_1_factor.html#a86c13f5db9a52e29a6fbb894f2a496a8',1,'bayeslib::Factor']]], 5 | ['addfactor',['AddFactor',['../classbayeslib_1_1_factor_set.html#a988e6f561735dd2c9d7655fdbf74333a',1,'bayeslib::FactorSet']]], 6 | ['addinstance',['AddInstance',['../classbayeslib_1_1_factor.html#aad853fb3fd9c683c7fbf8c8ddcd74dd5',1,'bayeslib::Factor']]], 7 | ['addvar',['AddVar',['../classbayeslib_1_1_var_db.html#aee73b21ec2447f2a81179c04c2a7ff30',1,'bayeslib::VarDb::AddVar()'],['../classbayeslib_1_1_clause.html#a5298398433a59beb33a4dbd5138cc841',1,'bayeslib::Clause::AddVar()']]], 8 | ['applyclause',['ApplyClause',['../classbayeslib_1_1_factor.html#a6e0db51fff38182df90d513ec15bc307',1,'bayeslib::Factor::ApplyClause()'],['../classbayeslib_1_1_factor_set.html#a6e205e283157efa558db76d7cbcd24bc',1,'bayeslib::FactorSet::ApplyClause()']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /api/html/search/functions_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['builddecision',['BuildDecision',['../classbayeslib_1_1_factor_set.html#a4b2a89585c771f92aa9064d63c8216e0',1,'bayeslib::FactorSet']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/functions_10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['test1_5f1',['Test1_1',['../group__basicquery.html#gae9eaa4e76d29de8464d57d42fcff6e77',1,'Test1_1(): basic_query.cpp'],['../group__basicquery.html#gae9eaa4e76d29de8464d57d42fcff6e77',1,'Test1_1(): basic_query.cpp']]], 4 | ['test_5fdeepcopy',['Test_DeepCopy',['../factorset__deep__copy_8cpp.html#a2c80374fe364b353d41660c0e34b2932',1,'Test_DeepCopy(): factorset_deep_copy.cpp'],['../tests_2test1_8cpp.html#a2c80374fe364b353d41660c0e34b2932',1,'Test_DeepCopy(): factorset_deep_copy.cpp']]], 5 | ['test_5fjsonfactor',['Test_JsonFactor',['../json__factor__factory_8cpp.html#a4d86217ae0ebc180a6cfc351b43a895d',1,'Test_JsonFactor(): json_factor_factory.cpp'],['../tests_2test1_8cpp.html#a4d86217ae0ebc180a6cfc351b43a895d',1,'Test_JsonFactor(): json_factor_factory.cpp']]], 6 | ['testcircuit1',['TestCircuit1',['../electric__circuit__diag_8cpp.html#a2a974e6e7a833fcad93e0924a68a8330',1,'TestCircuit1(): electric_circuit_diag.cpp'],['../tests_2test1_8cpp.html#a2a974e6e7a833fcad93e0924a68a8330',1,'TestCircuit1(): electric_circuit_diag.cpp']]], 7 | ['testcircuit2',['TestCircuit2',['../electric__circuit__diag_8cpp.html#ac97bd79f4276ac1e6ea680786e0b9740',1,'TestCircuit2(): electric_circuit_diag.cpp'],['../tests_2test1_8cpp.html#ac97bd79f4276ac1e6ea680786e0b9740',1,'TestCircuit2(): electric_circuit_diag.cpp']]], 8 | ['testjson',['TestJson',['../tests_2test1_8cpp.html#aec6c849a651144da80fce6e3b8810129',1,'json_factory.cpp']]], 9 | ['testrain',['TestRain',['../tests_2test1_8cpp.html#afa4de1bc0cbd6b14d63f188cadc2930a',1,'TestRain(): test_basic_solve.cpp'],['../test__basic__solve_8cpp.html#afa4de1bc0cbd6b14d63f188cadc2930a',1,'TestRain(): test_basic_solve.cpp']]], 10 | ['testrain2',['TestRain2',['../tests_2test1_8cpp.html#aeeab4e03a09af758116c8569b2d8cd2a',1,'TestRain2(): test_basic_solve.cpp'],['../test__basic__solve_8cpp.html#aeeab4e03a09af758116c8569b2d8cd2a',1,'TestRain2(): test_basic_solve.cpp']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /api/html/search/functions_11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['var',['Var',['../classbayeslib_1_1_var.html#a69f794acc9d17cde3476b2f7e13493b5',1,'bayeslib::Var']]], 4 | ['vardb',['VarDb',['../classbayeslib_1_1_var_db.html#aad5efc77891d7cdf7c50c7a925a70059',1,'bayeslib::VarDb']]], 5 | ['varset',['VarSet',['../classbayeslib_1_1_var_set.html#a66597838269f64dc50332d5418b47ed5',1,'bayeslib::VarSet::VarSet()'],['../classbayeslib_1_1_var_set.html#a7ed6a0626707c3a3c897a77b124baa8d',1,'bayeslib::VarSet::VarSet(const VarId v)'],['../classbayeslib_1_1_var_set.html#ab9f9fbe54ea17266b46fcf5bf9e9d5a2',1,'bayeslib::VarSet::VarSet(std::initializer_list< VarId > initlist)']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/functions_12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7evarset',['~VarSet',['../classbayeslib_1_1_var_set.html#a1559bf55b1748f8fed6c946f713d0247',1,'bayeslib::VarSet']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/functions_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['clause',['Clause',['../classbayeslib_1_1_clause.html#a5de3babaf26c8410b921155b933ee633',1,'bayeslib::Clause::Clause()'],['../classbayeslib_1_1_clause.html#a4cb2fc37bb26f1a764688203b615390e',1,'bayeslib::Clause::Clause(const VarSet &vs)'],['../classbayeslib_1_1_clause.html#a107b0b9607fc3ec29a58dc7d0bc58d32',1,'bayeslib::Clause::Clause(const VarSet &vs, Json::Value &v)'],['../classbayeslib_1_1_clause.html#a4734956c98d25e3ee5272e29050a36f4',1,'bayeslib::Clause::Clause(const VarSet &vs, const std::bitset< MAX_SET_SIZE > &clause)'],['../classbayeslib_1_1_clause.html#aee142640077db15136561d6030323833',1,'bayeslib::Clause::Clause(const VarSet &vs, InstanceId id)'],['../classbayeslib_1_1_clause.html#a713cb4d305349efd4ed8862312e5886e',1,'bayeslib::Clause::Clause(std::initializer_list< ClauseInitializer > initlist)']]], 4 | ['clausevalue',['ClauseValue',['../classbayeslib_1_1_clause_value.html#ac669eb77d56e1f92d2f605a5572c78fa',1,'bayeslib::ClauseValue::ClauseValue(Args &&... args)'],['../classbayeslib_1_1_clause_value.html#afe7e677f6e99abc6c1ac1d21453f0a5f',1,'bayeslib::ClauseValue::ClauseValue(Clause cl, ValueType v)']]], 5 | ['completeprobabilities',['CompleteProbabilities',['../classbayeslib_1_1_factor.html#af5906bfc8f18ee54f098ce673432e104',1,'bayeslib::Factor']]], 6 | ['conjuction',['Conjuction',['../classbayeslib_1_1_var_set.html#ab1b9b36f893dec4effa724ac20b8cd3b',1,'bayeslib::VarSet']]], 7 | ['createraintest',['CreateRainTest',['../test__basic__solve_8cpp.html#aedefa8a562e1ca893d92206109c14486',1,'test_basic_solve.cpp']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /api/html/search/functions_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['decisiontest1',['DecisionTest1',['../decision__test_8cpp.html#a7f4ca4b38605f3a9357e05fab5438ba1',1,'DecisionTest1(): decision_test.cpp'],['../tests_2test1_8cpp.html#a7f4ca4b38605f3a9357e05fab5438ba1',1,'DecisionTest1(): decision_test.cpp']]], 4 | ['decr',['Decr',['../classbayeslib_1_1_clause.html#aa5b2e0f5b8016048cfa3f95fa2eacede',1,'bayeslib::Clause']]], 5 | ['disjuction',['Disjuction',['../classbayeslib_1_1_var_set.html#a29c69b8d44447fb4fd0628afd01fda16',1,'bayeslib::VarSet']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/functions_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['eliminatevar',['EliminateVar',['../classbayeslib_1_1_factor.html#a109b0971b97423a1fdd154e9f08f3bbb',1,'bayeslib::Factor::EliminateVar(VarId id)'],['../classbayeslib_1_1_factor.html#a7804011c74061ff91a5721032f5206bb',1,'bayeslib::Factor::EliminateVar(const VarSet &vs)'],['../classbayeslib_1_1_factor_set.html#a5037ed704fc643f6db70d9e55a3ee91d',1,'bayeslib::FactorSet::EliminateVar()']]], 4 | ['eraseextendedinfo',['EraseExtendedInfo',['../classbayeslib_1_1_factor.html#a33267d7e84a4b0007e0f0520f2eb7dad',1,'bayeslib::Factor']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/functions_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['factor',['Factor',['../classbayeslib_1_1_factor.html#a7b1e2bbdaff7b9ac2aee98c838acf3e5',1,'bayeslib::Factor::Factor(const VarSet &varset)'],['../classbayeslib_1_1_factor.html#a56b74b8bf7b09e17c18cbf9c8d9e7de5',1,'bayeslib::Factor::Factor(const VarSet &varset, VarId clauseHead)'],['../classbayeslib_1_1_factor.html#a8b4f1c92ba7d43ca8bd96faa608229e0',1,'bayeslib::Factor::Factor(const VarSet &varset, VarSet clauseHead)']]], 4 | ['factorloader',['FactorLoader',['../classbayeslib_1_1_factor_1_1_factor_loader.html#a34dd292dc544d497c4a95f51fe26af26',1,'bayeslib::Factor::FactorLoader']]], 5 | ['factorset',['FactorSet',['../classbayeslib_1_1_factor_set.html#a55fd61a39cbed4407611d37c32e334c9',1,'bayeslib::FactorSet']]], 6 | ['filtervarset',['FilterVarSet',['../classbayeslib_1_1_var_set.html#a954c412090e32fe21ca95ad6f415478a',1,'bayeslib::VarSet']]], 7 | ['fin',['fin',['../group___a_p_i.html#ga5dc8551fa9961b1d2459fe820d5437b8',1,'bayeslib']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /api/html/search/functions_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['hasval',['HasVal',['../classbayeslib_1_1_factor.html#a5ee7da99c65257a9d18f41f8a0a34718',1,'bayeslib::Factor']]], 4 | ['hasvar',['HasVar',['../classbayeslib_1_1_var_set.html#a96b6e01541d47bde4b91c0bc4f200d21',1,'bayeslib::VarSet::HasVar(VarId id) const'],['../classbayeslib_1_1_var_set.html#aa918c06c8db285bb9f39ebefe2fbd083',1,'bayeslib::VarSet::HasVar(const VarSet &another) const'],['../classbayeslib_1_1_var_db.html#a5a8687f8f780e23d9d1371166e337314',1,'bayeslib::VarDb::HasVar()']]], 5 | ['hasvartype',['HasVarType',['../classbayeslib_1_1_var_set.html#af4aa8cf13bd8eff8ee92ad789fe7803f',1,'bayeslib::VarSet']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/functions_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['incr',['Incr',['../classbayeslib_1_1_clause.html#a02bf00fd6651b2426a2d54700aa98b51',1,'bayeslib::Clause']]], 4 | ['initcircuittest',['InitCircuitTest',['../electric__circuit__diag_8cpp.html#a24a130085767dad51b238c6bf7f3d919',1,'electric_circuit_diag.cpp']]], 5 | ['initdecisiontest1',['InitDecisionTest1',['../decision__test_8cpp.html#af56d4e1a9e0f721fe455759284741edd',1,'decision_test.cpp']]], 6 | ['initispdecisionexample',['InitIspDecisionExample',['../isp__example_8cpp.html#a799a0b20782b063d27bf25c53a1ce514',1,'isp_example.cpp']]], 7 | ['initispexample',['InitIspExample',['../isp__example_8cpp.html#aef71f565afb9800e96075278d4080505',1,'isp_example.cpp']]], 8 | ['initlargetest',['InitLargeTest',['../large__test_8cpp.html#a8f2c082d80628e8d52a7e3a449619e91',1,'large_test.cpp']]], 9 | ['isempty',['IsEmpty',['../classbayeslib_1_1_var_set.html#af49d8564dfd81aa6ac03fec306d5e93b',1,'bayeslib::VarSet::IsEmpty()'],['../classbayeslib_1_1_factor.html#a854973dc5b724ab828a683df5f90d32b',1,'bayeslib::Factor::IsEmpty()'],['../classbayeslib_1_1_factor_set.html#af24ac77fae2e769ff342f2954b288f91',1,'bayeslib::FactorSet::IsEmpty()']]], 10 | ['isnull',['IsNull',['../classbayeslib_1_1_var.html#afd23dc9869b10d7fd4850d3a7f1b414a',1,'bayeslib::Var']]], 11 | ['ispdecisionexample',['IspDecisionExample',['../isp__example_8cpp.html#a1f03d4375fbfcc9401e7fef389b2edb6',1,'IspDecisionExample(): isp_example.cpp'],['../tests_2test1_8cpp.html#a1f03d4375fbfcc9401e7fef389b2edb6',1,'IspDecisionExample(): isp_example.cpp']]], 12 | ['isptest1',['IspTest1',['../isp__example_8cpp.html#af09e20bec9b82ea04e6189db1677f993',1,'IspTest1(): isp_example.cpp'],['../tests_2test1_8cpp.html#af09e20bec9b82ea04e6189db1677f993',1,'IspTest1(): isp_example.cpp']]], 13 | ['isptest2',['IspTest2',['../isp__example_8cpp.html#a884345018fac8c47de160a7f83f9b4e8',1,'IspTest2(): isp_example.cpp'],['../tests_2test1_8cpp.html#a884345018fac8c47de160a7f83f9b4e8',1,'IspTest2(): isp_example.cpp']]] 14 | ]; 15 | -------------------------------------------------------------------------------- /api/html/search/functions_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['largetest1',['LargeTest1',['../large__test_8cpp.html#affdd47112bfe707e618615890e663a1b',1,'LargeTest1(): large_test.cpp'],['../tests_2test1_8cpp.html#affdd47112bfe707e618615890e663a1b',1,'LargeTest1(): large_test.cpp']]], 4 | ['largetest2',['LargeTest2',['../large__test_8cpp.html#a7ff3b42ae263d03c2f437b39a04c4e9c',1,'LargeTest2(): large_test.cpp'],['../tests_2test1_8cpp.html#a7ff3b42ae263d03c2f437b39a04c4e9c',1,'LargeTest2(): large_test.cpp']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/functions_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['maximizevar',['MaximizeVar',['../classbayeslib_1_1_factor.html#afadb72caf41eab0d5c0957eb94b23876',1,'bayeslib::Factor::MaximizeVar()'],['../classbayeslib_1_1_factor_set.html#a299d1e409538ccda0945536d21d145a8',1,'bayeslib::FactorSet::MaximizeVar()']]], 4 | ['merge',['Merge',['../classbayeslib_1_1_factor.html#a7a51592df3a6097d6d2e1630adca6650',1,'bayeslib::Factor::Merge()'],['../classbayeslib_1_1_factor_set.html#aa6cee34f0166140a6dc75d72cd34a928',1,'bayeslib::FactorSet::Merge()']]], 5 | ['mergein',['MergeIn',['../classbayeslib_1_1_var_set.html#aab6b6d48a62ad707acfbd54547ec2a11',1,'bayeslib::VarSet']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/functions_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['normalize',['Normalize',['../classbayeslib_1_1_factor.html#a873acdf4ef657a570d8f8c3a0eb0cc49',1,'bayeslib::Factor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/functions_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_3c_3c',['operator<<',['../classbayeslib_1_1_var_set.html#a84b6477f4530187b0247aa1a0575f9b7',1,'bayeslib::VarSet::operator<<()'],['../classbayeslib_1_1_factor_1_1_factor_loader.html#ae9494daea8796bae8209d49cac380700',1,'bayeslib::Factor::FactorLoader::operator<<(ValueType v)'],['../classbayeslib_1_1_factor_1_1_factor_loader.html#a73e237933402c9a7fbed86f1fce15a22',1,'bayeslib::Factor::FactorLoader::operator<<(FactorLoaderManipulator man)'],['../classbayeslib_1_1_factor.html#a6d2d7d3506778e3b54c1872b1a85977d',1,'bayeslib::Factor::operator<<()']]], 4 | ['operator_3d_3d',['operator==',['../classbayeslib_1_1_var_set.html#aa76984f86f1c8bfdcb2b6177bfa17c77',1,'bayeslib::VarSet']]], 5 | ['operator_5b_5d',['operator[]',['../classbayeslib_1_1_var_db.html#a3e0a9020ce30d23252d6980d219f4b86',1,'bayeslib::VarDb::operator[](const std::string &s)'],['../classbayeslib_1_1_var_db.html#a5b23294c350751c7503e845320badba0',1,'bayeslib::VarDb::operator[](VarId id)'],['../classbayeslib_1_1_clause.html#a0d23e325084ef30f97b1cfacefa37d32',1,'bayeslib::Clause::operator[]()']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/functions_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pruneedge',['PruneEdge',['../classbayeslib_1_1_factor.html#ab5421ff5ec4120e201e4a3ba5f24c06b',1,'bayeslib::Factor']]], 4 | ['pruneedges',['PruneEdges',['../classbayeslib_1_1_factor_set.html#ad3ea1a77530aaaa3ae0328c6bed9dea0',1,'bayeslib::FactorSet']]], 5 | ['prunevars',['PruneVars',['../classbayeslib_1_1_factor_set.html#a3dba7a34f121e5d3c5c4d50a6987d65b',1,'bayeslib::FactorSet']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /api/html/search/functions_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['remove',['Remove',['../classbayeslib_1_1_var_set.html#a7f55569c4ecf8f907a2918f467888237',1,'bayeslib::VarSet']]], 4 | ['removevars',['RemoveVars',['../classbayeslib_1_1_factor_set.html#ab201e3c8164d926b3442ecf4ecfc89b4',1,'bayeslib::FactorSet']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/functions_f.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/functions_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['setclausehead',['SetClauseHead',['../classbayeslib_1_1_factor.html#ad18a4d910d7893d63ccee694206566cc',1,'bayeslib::Factor']]], 4 | ['setextendedvarset',['SetExtendedVarSet',['../classbayeslib_1_1_factor.html#ad518b8c1c0f84742e531f06431f248be',1,'bayeslib::Factor']]], 5 | ['setfactortype',['SetFactorType',['../classbayeslib_1_1_factor.html#a00214b6d0c731bdb870af384d53b1d9a',1,'bayeslib::Factor']]], 6 | ['setval',['SetVal',['../classbayeslib_1_1_clause_value.html#a20949d5930751da22873d9cd487534a6',1,'bayeslib::ClauseValue']]], 7 | ['setvar',['SetVar',['../classbayeslib_1_1_clause.html#a54d43e9263eec93e7d98ebad88c62740',1,'bayeslib::Clause']]], 8 | ['substract',['Substract',['../classbayeslib_1_1_var_set.html#ae62d4a264485217d9511259c9ab82d9c',1,'bayeslib::VarSet']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /api/html/search/groups_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['basic_20queries',['Basic Queries',['../group__basicquery.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/groups_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/groups_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['digital_20circuit_20example',['Digital Circuit Example',['../group__example_circuit.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/groups_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/groups_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['embeddedai_20library_20api',['EmbeddedAI library API',['../group___a_p_i.html',1,'']]], 4 | ['embeddedai_20tests',['EmbeddedAI tests',['../group__examples.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/groups_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/groups_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['factorset_20deepy_20copy',['FactorSet deepy copy',['../group__deep_copy.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/groups_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/groups_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['isp_20examples',['Isp Examples',['../group__example_isp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/groups_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/groups_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['json_20factory_20example',['Json Factory Example',['../group__json_factory.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/groups_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/groups_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['test_20decision_20algorithm',['Test Decision Algorithm',['../group__decision_test.html',1,'']]], 4 | ['test_20quering_20large_20models',['Test Quering Large Models',['../group__large_model.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /api/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/search/mag_sel.png -------------------------------------------------------------------------------- /api/html/search/namespaces_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/namespaces_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['bayeslib',['bayeslib',['../namespacebayeslib.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
    9 |
    No Matches
    10 |
    11 | 12 | 13 | -------------------------------------------------------------------------------- /api/html/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['library_20documentation',['Library Documentation',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/search/search_l.png -------------------------------------------------------------------------------- /api/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/search/search_m.png -------------------------------------------------------------------------------- /api/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/search/search_r.png -------------------------------------------------------------------------------- /api/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdefghijlmnoprstuv~", 4 | 1: "cdfisuv", 5 | 2: "b", 6 | 3: "bdefijlt", 7 | 4: "abcdefghilmnoprstv~", 8 | 5: "bsv", 9 | 6: "l", 10 | 7: "v", 11 | 8: "v", 12 | 9: "bdefijt", 13 | 10: "l" 14 | }; 15 | 16 | var indexSectionNames = 17 | { 18 | 0: "all", 19 | 1: "classes", 20 | 2: "namespaces", 21 | 3: "files", 22 | 4: "functions", 23 | 5: "variables", 24 | 6: "typedefs", 25 | 7: "enums", 26 | 8: "enumvalues", 27 | 9: "groups", 28 | 10: "pages" 29 | }; 30 | 31 | var indexSectionLabels = 32 | { 33 | 0: "All", 34 | 1: "Classes", 35 | 2: "Namespaces", 36 | 3: "Files", 37 | 4: "Functions", 38 | 5: "Variables", 39 | 6: "Typedefs", 40 | 7: "Enumerations", 41 | 8: "Enumerator", 42 | 9: "Modules", 43 | 10: "Pages" 44 | }; 45 | 46 | -------------------------------------------------------------------------------- /api/html/search/typedefs_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/typedefs_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['listfactors',['ListFactors',['../classbayeslib_1_1_factor_set.html#ad5ce177a382d680581c2c04659a9ea04',1,'bayeslib::FactorSet']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['bstate',['bState',['../structbayeslib_1_1_clause_initializer.html#a46dd1f27ad5628362874baaaa726a854',1,'bayeslib::ClauseInitializer']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/variables_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['szjsoninput',['szJsonInput',['../group__json_factory.html#ga94dfc3cea9acaef3ef96f96b24030b7a',1,'json_factory.cpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/search/variables_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 16 |
    Searching...
    17 |
    No Matches
    18 | 24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /api/html/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['varid',['varid',['../structbayeslib_1_1_clause_initializer.html#aa2fcc0329e5d168b88efaa08a4570637',1,'bayeslib::ClauseInitializer']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /api/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/splitbar.png -------------------------------------------------------------------------------- /api/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/sync_off.png -------------------------------------------------------------------------------- /api/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/sync_on.png -------------------------------------------------------------------------------- /api/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/tab_a.png -------------------------------------------------------------------------------- /api/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/tab_b.png -------------------------------------------------------------------------------- /api/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/tab_h.png -------------------------------------------------------------------------------- /api/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/api/html/tab_s.png -------------------------------------------------------------------------------- /cgi/.idea/cgi.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /cgi/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /cgi/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /cgi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.6) 2 | project(cgi) 3 | 4 | set(CMAKE_CXX_STANDARD 11) 5 | include_directories(../src ../libs/json) 6 | set(INSTALL_DIR bin/cgi) 7 | 8 | 9 | set(SOURCE_FILES main.cpp) 10 | add_executable(cgi ${SOURCE_FILES}) 11 | 12 | target_link_libraries(cgi bayes) 13 | -------------------------------------------------------------------------------- /docs/ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/ai.png -------------------------------------------------------------------------------- /docs/ai_generic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/ai_generic.png -------------------------------------------------------------------------------- /docs/circuit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/circuit.png -------------------------------------------------------------------------------- /docs/circuitgraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/circuitgraph.png -------------------------------------------------------------------------------- /docs/factor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/factor.png -------------------------------------------------------------------------------- /docs/firealarm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/firealarm.png -------------------------------------------------------------------------------- /docs/isp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/isp.png -------------------------------------------------------------------------------- /docs/isp_decision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/isp_decision.png -------------------------------------------------------------------------------- /docs/model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/model.png -------------------------------------------------------------------------------- /docs/netdiag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/netdiag.png -------------------------------------------------------------------------------- /docs/netgraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/netgraph.png -------------------------------------------------------------------------------- /docs/player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/player.png -------------------------------------------------------------------------------- /docs/probbasic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/docs/probbasic.png -------------------------------------------------------------------------------- /googletest/.gitignore: -------------------------------------------------------------------------------- 1 | # python 2 | *.pyc 3 | -------------------------------------------------------------------------------- /googletest/CMakeLists.txt - Shortcut.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/googletest/CMakeLists.txt - Shortcut.lnk -------------------------------------------------------------------------------- /googletest/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This file contains a list of people who've made non-trivial 2 | # contribution to the Google C++ Testing Framework project. People 3 | # who commit code to the project are encouraged to add their names 4 | # here. Please keep the list sorted by first names. 5 | 6 | Ajay Joshi 7 | Balázs Dán 8 | Bharat Mediratta 9 | Chandler Carruth 10 | Chris Prince 11 | Chris Taylor 12 | Dan Egnor 13 | Eric Roman 14 | Hady Zalek 15 | Jeffrey Yasskin 16 | Jói Sigurðsson 17 | Keir Mierle 18 | Keith Ray 19 | Kenton Varda 20 | Manuel Klimek 21 | Markus Heule 22 | Mika Raento 23 | Miklós Fazekas 24 | Pasi Valminen 25 | Patrick Hanna 26 | Patrick Riley 27 | Peter Kaminski 28 | Preston Jackson 29 | Rainer Klaffenboeck 30 | Russ Cox 31 | Russ Rufer 32 | Sean Mcafee 33 | Sigurður Ásgeirsson 34 | Tracy Bialik 35 | Vadim Berman 36 | Vlad Losev 37 | Zhanyong Wan 38 | -------------------------------------------------------------------------------- /googletest/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2008, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /googletest/include/gtest/internal/custom/gtest-printers.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // This file provides an injection point for custom printers in a local 31 | // installation of gTest. 32 | // It will be included from gtest-printers.h and the overrides in this file 33 | // will be visible to everyone. 34 | // See documentation at gtest/gtest-printers.h for details on how to define a 35 | // custom printer. 36 | // 37 | // ** Custom implementation starts here ** 38 | 39 | #ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_ 40 | #define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_ 41 | 42 | #endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_ 43 | -------------------------------------------------------------------------------- /googletest/include/gtest/internal/custom/gtest.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Injection point for custom user configurations. 31 | // The following macros can be defined: 32 | // 33 | // GTEST_OS_STACK_TRACE_GETTER_ - The name of an implementation of 34 | // OsStackTraceGetterInterface. 35 | // 36 | // ** Custom implementation starts here ** 37 | 38 | #ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_ 39 | #define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_ 40 | 41 | #endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_ 42 | -------------------------------------------------------------------------------- /googletest/src/gtest_main.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #include 31 | 32 | #include "gtest/gtest.h" 33 | 34 | GTEST_API_ int main(int argc, char **argv) { 35 | printf("Running main() from gtest_main.cc\n"); 36 | testing::InitGoogleTest(&argc, argv); 37 | return RUN_ALL_TESTS(); 38 | } 39 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.4) 2 | project(airt) 3 | 4 | set(LIB_NAME bayes) 5 | 6 | include_directories(../libs/json) 7 | 8 | set(SOURCE_FILES 9 | Factor.cpp 10 | FactorFactory.cpp 11 | FactorMergeHelper.cpp 12 | FactorSet.cpp 13 | Var.cpp 14 | VarDb.cpp 15 | VarSet.cpp 16 | Clause.cpp 17 | FactorFactory.cpp 18 | VarSetFactory.cpp 19 | ClauseFactory.cpp 20 | FactorSetFactory.cpp 21 | SessionEntry.cpp 22 | VarDbFactory.cpp 23 | DecisionBuilderHelper.cpp 24 | DecisionFunction.cpp 25 | ../libs/json/jsoncpp.cpp 26 | InteractionGraph.cpp) 27 | 28 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 29 | 30 | set(EXECUTABLE_OUTPUT_PATH ../dist/${CMAKE_BUILD_TYPE}) 31 | set(LIBRARY_OUTPUT_PATH ../dist/${CMAKE_BUILD_TYPE}) 32 | 33 | add_library(bayes STATIC ${SOURCE_FILES}) 34 | -------------------------------------------------------------------------------- /src/ClauseFactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | 11 | #include "Factories.h" 12 | #include 13 | 14 | using namespace bayeslib; 15 | 16 | /* 17 | * "EXAMPLE" : 18 | * { 19 | * "varset" : ["a", "b", "c"], 20 | * values : [ 0, 1, 1] 21 | * or 22 | * raised: ["b", "c"] or on:["b", "c"] 23 | * } 24 | * 25 | * 26 | * 27 | */ 28 | 29 | Clause 30 | ClauseFactory::Create(VarDb &db, Json::Value &v) 31 | { 32 | Clause res(db); 33 | 34 | if (v.isMember("varset")) 35 | { 36 | res = Clause(VarSetFactory::Create(db, v["varset"])); 37 | } 38 | else 39 | { 40 | return res; 41 | } 42 | 43 | for (Json::Value::iterator it = v.begin(); 44 | it != v.end(); ++it) 45 | { 46 | Json::Value &jv = *it; 47 | if(it.name() == "varset") 48 | { 49 | ; 50 | } 51 | else 52 | if (it.name() == "values" && jv.isArray()) 53 | { 54 | 55 | VarId vid = res.GetVarSet().GetFirst(); 56 | for (Json::Value::iterator itA = jv.begin(); itA != jv.end() && vid != 0; ++itA) 57 | { 58 | bool b = false; 59 | if(itA->isInt()) 60 | b = (itA->asInt() > 0); 61 | else 62 | b = itA->asBool(); 63 | 64 | res.SetVar(vid, b); 65 | vid = res.GetVarSet().GetNext(vid); 66 | } 67 | } 68 | else 69 | if (it.name() == "raised" || it.name() == "on") 70 | { 71 | for (Json::Value::iterator itA = jv.begin(); itA != jv.end(); ++itA) 72 | { 73 | if(itA->isString()) 74 | { 75 | std::string sName = itA->asString(); 76 | if(db.HasVar(sName)) 77 | { 78 | VarId vid= db[sName]; 79 | res.SetVar(vid, true); 80 | } 81 | } 82 | } 83 | 84 | } 85 | } 86 | return res; 87 | } 88 | -------------------------------------------------------------------------------- /src/DbFactory.cpp: -------------------------------------------------------------------------------- 1 | #include "Factories.h" 2 | #include 3 | 4 | using namespace bayeslib; 5 | 6 | VarDb * 7 | VarDbFactory::Create(Json::Value &v) 8 | { 9 | VarDb *res = new VarDb; 10 | 11 | for (Json::Value::iterator it = v.begin(); 12 | it != v.end(); ++it) 13 | { 14 | std::string sName = (*it).asString(); 15 | res->AddVar(sName); 16 | } 17 | return res; 18 | } 19 | -------------------------------------------------------------------------------- /src/DecisionFunction.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | #include "factor.h" 11 | #include "json/json.h" 12 | 13 | using namespace bayeslib; 14 | 15 | DecisionFunction::DecisionFunction(const VarSet &vset) : 16 | Factor(vset) 17 | { 18 | 19 | 20 | } 21 | 22 | 23 | DecisionFunction::DecisionFunction(std::shared_ptr f, VarId decisionNode) : 24 | Factor(*f.get()), mDecisionNode(decisionNode) 25 | { 26 | 27 | 28 | } 29 | 30 | 31 | VarState 32 | DecisionFunction::GetDecision(InstanceId id) 33 | { 34 | if(mExtendedVarSet.GetSize() == 1) 35 | { 36 | // Shortcut case 37 | return (VarState) mExtendedClauseVector[id]; 38 | } 39 | else 40 | { 41 | return mExtendedVarSet.FetchVarState(mDecisionNode, id); 42 | } 43 | } 44 | 45 | std::string 46 | DecisionFunction::GetJson(const VarDb &db) const 47 | { 48 | std::string s; 49 | s = "{varset:"; 50 | s += mSet.GetJson(db); 51 | s += ",decisionVar:"; 52 | s += db[mDecisionNode]; 53 | s += ",vals:[ "; 54 | 55 | for(InstanceId id = 0; id < mFactorSize; id++) 56 | { 57 | char sz[20]; 58 | snprintf(sz, sizeof(sz), "%d", (int) mExtendedClauseVector[id]); 59 | s += sz; 60 | s += ","; 61 | } 62 | s.erase(s.length()-1); 63 | s += "], utility:["; 64 | for (InstanceId id = 0; id < mFactorSize; id++) 65 | { 66 | char sz[20]; 67 | snprintf(sz, sizeof(sz), "%f", mValues[id]); 68 | s += sz; 69 | s += ","; 70 | } 71 | s += "]}"; 72 | return s; 73 | } 74 | 75 | std::string 76 | DecisionFunction::GetType() const 77 | { 78 | return "DecisionFunction"; 79 | } 80 | -------------------------------------------------------------------------------- /src/FactorFactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | #include "Factories.h" 11 | #include 12 | 13 | using namespace bayeslib; 14 | 15 | std::shared_ptr 16 | FactorFactory::Create(VarDb &db, Json::Value &vFactorDescrJson) 17 | { 18 | // std::shared_ptr res = new Factor(); 19 | 20 | if(!vFactorDescrJson.isMember("vars")) 21 | return EmptyFactor(db); 22 | 23 | Json::Value &vars = vFactorDescrJson["vars"]; 24 | 25 | VarSet headVars(db); 26 | if (vFactorDescrJson.isMember("head")) 27 | { 28 | headVars = VarSetFactory::Create(db, vFactorDescrJson["head"]); 29 | } 30 | 31 | VarSet vs = VarSetFactory::Create(db, vars); 32 | if (!vs.GetSize()) 33 | return EmptyFactor(db); 34 | std::shared_ptr res = std::make_shared(vs, headVars); 35 | 36 | //no available values 37 | if(!vFactorDescrJson.isMember("vals")) 38 | { 39 | return res; 40 | } 41 | 42 | Json::Value &values = vFactorDescrJson["vals"]; 43 | Factor::FactorLoader fl(res); 44 | for (Json::Value::iterator it = values.begin(); 45 | it != values.end(); ++it) 46 | { 47 | ValueType val = (*it).asFloat(); 48 | fl << val; 49 | } 50 | return res; 51 | } 52 | 53 | std::shared_ptr 54 | FactorFactory::EmptyFactor(VarDb &db) 55 | { 56 | VarSet vs(db); 57 | return std::make_shared(vs); 58 | } 59 | 60 | -------------------------------------------------------------------------------- /src/FactorMergeHelper.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | 11 | #include "factor.h" 12 | #include "json/json.h" 13 | 14 | 15 | using namespace bayeslib; 16 | 17 | FactorMergeHelper::FactorMergeHelper(const VarSet &v1, 18 | const VarSet &v2) : mV1(v1), mV2(v2), mVr(v1.GetDb()) 19 | { 20 | int offs1=0; 21 | int offs2=0; 22 | int offsr=0; 23 | 24 | 25 | for(VarId id = mV1.GetFirst(); id != 0; id = mV1.GetNext(id)) 26 | { 27 | mVr.Add(id); 28 | mMap_Offs1_OffsR[offs1]=offsr; 29 | mMap_OffsR_Offs1[offsr]=offs1; 30 | 31 | offs2 = mV2.GetOffs(id); 32 | if(offs2 >= 0) 33 | { 34 | mMap_Offs1_Offs2[offs1] = offs2; 35 | mMap_Offs2_OffsR[offs2] = offsr; 36 | mMap_OffsR_Offs2[offsr] = offs2; 37 | } 38 | 39 | offsr++; 40 | offs1++; 41 | } 42 | 43 | offs2 = 0; 44 | for(VarId id = mV2.GetFirst(); id!=0; id=mV2.GetNext(id)) 45 | { 46 | offs1 = mV1.GetOffs(id); 47 | if (offs1 >= 0) 48 | { 49 | // already taken care of 50 | ; 51 | } 52 | else 53 | { 54 | mVr.Add(id); 55 | mMap_Offs2_OffsR[offs2] = offsr; 56 | mMap_OffsR_Offs2[offsr] = offs2; 57 | offsr++; 58 | } 59 | offs2++; 60 | 61 | } 62 | 63 | } 64 | 65 | int 66 | FactorMergeHelper::MapOffsRTo1(int n) 67 | { 68 | if(mMap_OffsR_Offs1.count(n)) 69 | return mMap_OffsR_Offs1[n]; 70 | return -1; 71 | } 72 | 73 | int 74 | FactorMergeHelper::MapOffsRTo2(int n) 75 | { 76 | if(mMap_OffsR_Offs2.count(n)) 77 | return mMap_OffsR_Offs2[n]; 78 | return -1; 79 | } 80 | -------------------------------------------------------------------------------- /src/FactorSetFactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | 11 | #include "Factories.h" 12 | #include 13 | 14 | using namespace bayeslib; 15 | 16 | /* 17 | * "EXAMPLE" : 18 | * [ 19 | * { ... factor }, 20 | * { .... factor }, 21 | * ] 22 | */ 23 | 24 | FactorSet * 25 | FactorSetFactory::Create(VarDb &db, Json::Value &v) 26 | { 27 | FactorSet *pRes = new FactorSet(db); 28 | for (Json::Value::iterator it = v.begin(); 29 | it != v.end(); ++it) 30 | { 31 | if( it->isObject() ) 32 | { 33 | Json::Value &vf = *it; 34 | std::shared_ptr f = FactorFactory::Create(db, vf); 35 | if(f) 36 | { 37 | pRes->AddFactor(f); 38 | 39 | } 40 | } 41 | } 42 | return pRes; 43 | 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/Factories.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | #ifndef __FACTORIES_H 11 | #define __FACTORIES_H 12 | 13 | #include "factor.h" 14 | #include 15 | 16 | namespace bayeslib 17 | { 18 | class FactorFactory 19 | { 20 | public: 21 | static std::shared_ptr Create(VarDb &db, Json::Value &vFactorDescrJson); 22 | static std::shared_ptr EmptyFactor(VarDb &db); 23 | }; 24 | 25 | class VarSetFactory 26 | { 27 | public: 28 | static VarSet Create(VarDb &db, Json::Value &vValuesDescrJson); 29 | }; 30 | 31 | class FactorSetFactory 32 | { 33 | public: 34 | static FactorSet * Create(VarDb &db, Json::Value &vFactorSetDescrJson); 35 | }; 36 | 37 | class ClauseFactory 38 | { 39 | public: 40 | static Clause Create(VarDb &db, Json::Value &vClauseDescription); 41 | }; 42 | 43 | class VarDbFactory 44 | { 45 | public: 46 | static VarDb *Create(Json::Value &vDbDescription); 47 | }; 48 | 49 | class SessionEntry 50 | { 51 | public: 52 | static std::string RunCommand(std::string sOp); 53 | 54 | }; 55 | 56 | } 57 | #endif 58 | -------------------------------------------------------------------------------- /src/JsonGen.h: -------------------------------------------------------------------------------- 1 | #ifndef __JSON_GEN 2 | #define __JSON_GEN 3 | 4 | template 5 | char * AddJsonAttr(char *pBuffer, u32 bufSize, const char *pName, const char *pFormat, T val) 6 | { 7 | char szFormat[40]; 8 | snprintf(szFormat, sizeof(szFormat), "\"%s\":\"%s\",", "%s", pFormat); 9 | szFormat[39] = '\0'; 10 | snprintf(pBuffer, (size_t)bufSize, szFormat, pName, val); 11 | pBuffer[bufSize-1] = '\0'; 12 | return pBuffer; 13 | } 14 | 15 | // no trailing comma 16 | template 17 | char * AddJsonAttrLast(char *pBuffer, u32 bufSize, const char *pName, const char *pFormat, T val) 18 | { 19 | char szFormat[40]; 20 | snprintf(szFormat, sizeof(szFormat), "\"%s\":\"%s\"", "%s", pFormat); 21 | szFormat[39] = '\0'; 22 | snprintf(pBuffer, (size_t)bufSize, szFormat, pName, val); 23 | pBuffer[bufSize-1] = '\0'; 24 | return pBuffer; 25 | } 26 | 27 | inline 28 | char * AddJsonYN(char *pBuffer, u32 bufSize, const char *pName, bool val) 29 | { 30 | snprintf(pBuffer, (size_t)bufSize, "\"%s\":\"%s\"," , pName, val?"yes":"no"); 31 | pBuffer[bufSize-1] = '\0'; 32 | return pBuffer; 33 | } 34 | 35 | template 36 | char * AddJsonBareAttr(char *pBuffer, u32 bufSize, const char *pName, const char *pFormat, T val) 37 | { 38 | char szFormat[40] = {0}; 39 | snprintf(szFormat, sizeof(szFormat), "\"%s\":%s,", "%s", pFormat); 40 | szFormat[39] = '\0'; 41 | snprintf(pBuffer, (size_t)bufSize, szFormat, pName, val); 42 | pBuffer[bufSize-1] = '\0'; 43 | return pBuffer; 44 | } 45 | 46 | inline 47 | char *AddJsonObjectStart(char *pBuffer, u32 bufSize, const char *pName) 48 | { 49 | snprintf(pBuffer, (size_t)bufSize, "\"%s\": {" , pName); 50 | return pBuffer; 51 | } 52 | 53 | inline 54 | char *AddJsonObjectEnd(char *pBuffer, u32 bufSize, bool last=false) 55 | { 56 | snprintf(pBuffer, (size_t)bufSize, "}%c", last ? ' ' : ','); 57 | return pBuffer; 58 | } 59 | 60 | #endif -------------------------------------------------------------------------------- /src/Makefile.old: -------------------------------------------------------------------------------- 1 | SHELL = /bin/sh 2 | CC = gcc 3 | FLAGS = -I../include -I../../libs/json 4 | CFLAGS = -fPIC -pedantic -Wall -Wextra -march=native -ggdb3 -shared 5 | DEBUGFLAGS = -O0 -D _DEBUG 6 | RELEASEFLAGS = -O2 -D NDEBUG -combine -fwhole-program 7 | LDFLAGS= -shared 8 | 9 | TARGET = libbey.so 10 | SOURCES = $(shell echo ./*.cpp) 11 | SOURCES += ../../libs/json/jsoncpp.cpp 12 | HEADERS = $(shell echo ./*.h) 13 | OBJECTS = $(SOURCES:.c=.o) 14 | 15 | LIBS = -lstdc++ 16 | 17 | PREFIX = ../build 18 | BINDIR = $(PREFIX)/bin 19 | 20 | 21 | 22 | all: $(TARGET) 23 | 24 | $(TARGET): $(OBJECTS) 25 | $(CC) $(FLAGS) $(CFLAGS) $(DEBUGFLAGS) $(LIBS) -o $(TARGET) $(OBJECTS) 26 | -------------------------------------------------------------------------------- /src/Source.dox: -------------------------------------------------------------------------------- 1 | /** 2 | \mainpage Library Documentation 3 | 4 | This page is a title page of the EmbeddedAi Library project 5 | 6 | */ 7 | 8 | -------------------------------------------------------------------------------- /src/Var.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | 11 | #include "factor.h" 12 | #include "json/json.h" 13 | 14 | using namespace bayeslib; 15 | 16 | Var::Var(std::string sName, VarId id, VarType vtype) : 17 | mName(sName), mId(id), mVarType(vtype) 18 | {} 19 | 20 | 21 | 22 | std::string 23 | Var::GetJson(const VarDb &db) const 24 | { 25 | char sz[200]; 26 | 27 | std::string s; 28 | s += "{"; 29 | s += AddJsonAttr(sz, sizeof(sz), "id", "%d", mId); 30 | s += AddJsonAttr(sz, sizeof(sz), "name", "%s", mName.c_str() ); 31 | s.erase(s.length()-1); 32 | s += "}"; 33 | return s; 34 | } 35 | 36 | 37 | std::string 38 | Var::GetType() const 39 | { 40 | return "Var"; 41 | } 42 | 43 | VarState 44 | Var::AddState(std::string sName) 45 | { 46 | mVarDomainStates.push_back(sName); 47 | return (VarState)(mVarDomainStates.size() - 1); 48 | } 49 | 50 | std::string 51 | Var::GetState(VarState state) const 52 | { 53 | return mVarDomainStates[state]; 54 | } 55 | 56 | VarState 57 | Var::GetState(std::string sStateName) const 58 | { 59 | auto it = std::find(mVarDomainStates.begin(), mVarDomainStates.end(), sStateName); 60 | if (it == mVarDomainStates.end()) 61 | { 62 | return (VarState) 0; 63 | } else 64 | { 65 | return (VarState) std::distance(mVarDomainStates.begin(), it); 66 | } 67 | } 68 | 69 | 70 | -------------------------------------------------------------------------------- /src/VarDb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/src/VarDb.h -------------------------------------------------------------------------------- /src/VarDbFactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | 11 | #include "Factories.h" 12 | #include 13 | 14 | using namespace bayeslib; 15 | 16 | VarDb * 17 | VarDbFactory::Create(Json::Value &v) 18 | { 19 | VarDb *res = new VarDb; 20 | 21 | for (Json::Value::iterator it = v.begin(); 22 | it != v.end(); ++it) 23 | { 24 | std::string sName = (*it).asString(); 25 | res->AddVar(sName, VarType_Normal); 26 | } 27 | return res; 28 | } 29 | -------------------------------------------------------------------------------- /src/VarSetFactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | 11 | #include "Factories.h" 12 | #include 13 | 14 | using namespace bayeslib; 15 | 16 | VarSet 17 | VarSetFactory::Create(VarDb &db, Json::Value &v) 18 | { 19 | VarSet res(db); 20 | for (Json::Value::iterator it = v.begin(); 21 | it != v.end(); ++it) 22 | { 23 | std::string sName = (*it).asString(); 24 | db.AddVar(sName, VarType_Normal); 25 | res.Add(db[sName]); 26 | } 27 | return res; 28 | } 29 | -------------------------------------------------------------------------------- /src/test1.cpp: -------------------------------------------------------------------------------- 1 | 2 | // 3 | -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.6) 2 | project(test1) 3 | 4 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 5 | include_directories(../src ../libs/json ../googletest/include) 6 | 7 | set(SOURCE_FILES test1.cpp basic_query.cpp decision_test.cpp electric_circuit_diag.cpp factorset_deep_copy.cpp 8 | isp_example.cpp json_factor_factory.cpp json_factory.cpp large_test.cpp test_basic_solve.cpp ) 9 | 10 | set(INSTALL_DIR bin/tests) 11 | 12 | add_executable(test1 ${SOURCE_FILES}) 13 | target_link_libraries(test1 bayes gtest) 14 | 15 | #install(TARGETS test1 RUNTIME DESTINATION ${INSTALL_DIR} ) 16 | -------------------------------------------------------------------------------- /tests/Makefile.old: -------------------------------------------------------------------------------- 1 | SHELL = /bin/sh 2 | CC = gcc 3 | FLAGS = -I../../src -I../../../libs/json 4 | CFLAGS = -fPIC -pedantic -Wall -Wextra -march=native -ggdb3 5 | DEBUGFLAGS = -O0 -D _DEBUG 6 | RELEASEFLAGS = -O2 -D NDEBUG -combine -fwhole-program 7 | LDFLAGS= -shared 8 | 9 | TARGET = test1 10 | SOURCES = $(shell echo ./*.cpp) 11 | LIB = ../../src/libbey.so 12 | 13 | SOURCE_PRECOMP = stdafx.h 14 | PRECOMP_HEADER = $(SOURCE_PRECOMP:.h=.h.gch) 15 | 16 | HEADERS = $(shell echo ./*.h) 17 | OBJECTS = $(SOURCES:.c=.o) 18 | 19 | LIBS = -L../../src -lstdc++ -lbey 20 | 21 | PREFIX = ../build 22 | BINDIR = $(PREFIX)/bin 23 | 24 | 25 | 26 | all: $(TARGET) 27 | 28 | $(TARGET): $(OBJECTS) $(PRECOMP_HEADER) $(LIB) 29 | $(CC) $(FLAGS) $(CFLAGS) $(DEBUGFLAGS) $(LIBS) -o $(TARGET) $(OBJECTS) 30 | 31 | $(PRECOMP_HEADER): $(SOURCE_PRECOMP) 32 | $(CC) -c $< -o $@ 33 | 34 | -------------------------------------------------------------------------------- /tests/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | CONSOLE APPLICATION : test1 Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this test1 application for you. 6 | 7 | This file contains a summary of what you will find in each of the files that 8 | make up your test1 application. 9 | 10 | 11 | test1.vcxproj 12 | This is the main project file for VC++ projects generated using an Application Wizard. 13 | It contains information about the version of Visual C++ that generated the file, and 14 | information about the platforms, configurations, and project features selected with the 15 | Application Wizard. 16 | 17 | test1.vcxproj.filters 18 | This is the filters file for VC++ projects generated using an Application Wizard. 19 | It contains information about the association between the files in your project 20 | and the filters. This association is used in the IDE to show grouping of files with 21 | similar extensions under a specific node (for e.g. ".cpp" files are associated with the 22 | "Source Files" filter). 23 | 24 | test1.cpp 25 | This is the main application source file. 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | Other standard files: 29 | 30 | StdAfx.h, StdAfx.cpp 31 | These files are used to build a precompiled header (PCH) file 32 | named test1.pch and a precompiled types file named StdAfx.obj. 33 | 34 | ///////////////////////////////////////////////////////////////////////////// 35 | Other notes: 36 | 37 | AppWizard uses "TODO:" comments to indicate parts of the source code you 38 | should add to or customize. 39 | 40 | ///////////////////////////////////////////////////////////////////////////// 41 | -------------------------------------------------------------------------------- /tests/Source.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/tests/Source.cpp -------------------------------------------------------------------------------- /tests/full_probability_calc.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | 9 | using namespace bayeslib; 10 | 11 | /// Calculate full probability table of variables after applying observation 12 | 13 | -------------------------------------------------------------------------------- /tests/json_factor_factory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | 18 | using namespace bayeslib; 19 | 20 | /// \file 21 | /// \ingroup jsonFactory 22 | /// \{ 23 | 24 | 25 | /** Test construction of Factor tables from Json 26 | */ 27 | 28 | int Test_JsonFactor() 29 | { 30 | VarDb db; 31 | 32 | 33 | const char def[] = 34 | "{\"vars\":[\"injury\", \"prep\", \"res\"], \"vals\":[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8]}"; 35 | Json::Value v; 36 | Json::Reader r; 37 | if (!r.parse(def, v)) 38 | { 39 | printf("\n=== TEST 4 -- Failed\n %s", r.getFormattedErrorMessages().c_str()); 40 | return -1; 41 | } 42 | 43 | std::shared_ptr f = FactorFactory::Create(db, v); 44 | FactorSet fs(db); 45 | fs.AddFactor(f); 46 | 47 | std::string s = fs.GetJson(db); 48 | printf("\n===TEST 4===\n%s\n", s.c_str()); 49 | EXPECT_TRUE(0.1F == f->Get(0) && 0.2F == f->Get(1) && 0.3F == f->Get(2) && 0.4F == f->Get(3) && 0.5F == f->Get(4) && 0.6F == f->Get(5) && 0.7F == f->Get(6) && 0.8F == f->Get(7)); 50 | 51 | return 0; 52 | } 53 | 54 | -------------------------------------------------------------------------------- /tests/json_factory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Boris Altshul. 3 | * All rights reserved. 4 | * 5 | * The software in this package is published under the terms of the BSD 6 | * style license a copy of which has been included with this distribution in 7 | * the LICENSE.txt file. 8 | */ 9 | 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | 17 | using namespace bayeslib; 18 | 19 | 20 | /** 21 | \ingroup jsonFactory 22 | /{ 23 | */ 24 | 25 | 26 | const char *szJsonInput = R"( { 27 | "VarDb": ["J", "I", "Y", "X", "O"], 28 | "FactorSet" : [ 29 | { 30 | "vars": ["I"], 31 | "head" : ["I"], 32 | "vals" : [0.5, 0.5] 33 | }, 34 | { 35 | "vars": ["J"], 36 | "head" : ["J"], 37 | "vals" : [0.5, 0.5] 38 | }, 39 | { 40 | "vars": ["J", "Y"], 41 | "head" : ["Y"], 42 | "vals" : [0.01, 0.99, 0.99, 0.01] 43 | }, 44 | { 45 | "vars": ["I", "J", "X"], 46 | "head" : ["X"], 47 | "vals" : [0.95, 0.95, 0.95, 0.05, 0.05, 0.05, 0.05, 0.95] 48 | }, 49 | { 50 | "vars": ["X", "Y", "O"], 51 | "head" : ["O"], 52 | "vals" : [0.98, 0.02, 0.02, 0.02, 0.02, 0.98, 0.98, 0.98] 53 | } 54 | ], 55 | "QueryVarSet": ["I", "J"], 56 | "SampleClause" : { 57 | "varset": ["O"], 58 | "values" : [1] 59 | }, 60 | "op" : "MAP" 61 | })"; 62 | 63 | #if 0 64 | 65 | std::string ReadJsonFile(const char *pFileName) 66 | { 67 | std::stringstream sstr; 68 | std::ifstream in(pFileName); 69 | sstr << in.rdbuf(); 70 | return sstr.str(); 71 | } 72 | 73 | 74 | int TestJson(const char *pFileName) 75 | { 76 | std::string s = ReadJsonFile(pFileName); 77 | s = SessionEntry::RunCommand(s); 78 | printf("==XML result ==\n%s\n", s.c_str()); 79 | return 0; 80 | } 81 | 82 | #endif 83 | 84 | 85 | /// Create FactorSet and run specified high level EmbeddedAI command 86 | int TestJson() 87 | { 88 | std::string s = szJsonInput; 89 | s = SessionEntry::RunCommand(s); 90 | printf("==XML result ==\n%s\n", s.c_str()); 91 | return 0; 92 | } 93 | 94 | // \} 95 | 96 | -------------------------------------------------------------------------------- /win/libairt/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | STATIC LIBRARY : libairt Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this libairt library project for you. 6 | 7 | No source files were created as part of your project. 8 | 9 | 10 | libairt.vcxproj 11 | This is the main project file for VC++ projects generated using an Application Wizard. 12 | It contains information about the version of Visual C++ that generated the file, and 13 | information about the platforms, configurations, and project features selected with the 14 | Application Wizard. 15 | 16 | libairt.vcxproj.filters 17 | This is the filters file for VC++ projects generated using an Application Wizard. 18 | It contains information about the association between the files in your project 19 | and the filters. This association is used in the IDE to show grouping of files with 20 | similar extensions under a specific node (for e.g. ".cpp" files are associated with the 21 | "Source Files" filter). 22 | 23 | ///////////////////////////////////////////////////////////////////////////// 24 | Other notes: 25 | 26 | AppWizard uses "TODO:" comments to indicate parts of the source code you 27 | should add to or customize. 28 | 29 | ///////////////////////////////////////////////////////////////////////////// 30 | -------------------------------------------------------------------------------- /win/runweb.cmd: -------------------------------------------------------------------------------- 1 | c:\Python27\python.exe -m CGIHTTPServer 80 2 | -------------------------------------------------------------------------------- /win/test1/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | CONSOLE APPLICATION : test1 Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this test1 application for you. 6 | 7 | This file contains a summary of what you will find in each of the files that 8 | make up your test1 application. 9 | 10 | 11 | test1.vcxproj 12 | This is the main project file for VC++ projects generated using an Application Wizard. 13 | It contains information about the version of Visual C++ that generated the file, and 14 | information about the platforms, configurations, and project features selected with the 15 | Application Wizard. 16 | 17 | test1.vcxproj.filters 18 | This is the filters file for VC++ projects generated using an Application Wizard. 19 | It contains information about the association between the files in your project 20 | and the filters. This association is used in the IDE to show grouping of files with 21 | similar extensions under a specific node (for e.g. ".cpp" files are associated with the 22 | "Source Files" filter). 23 | 24 | test1.cpp 25 | This is the main application source file. 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | Other standard files: 29 | 30 | StdAfx.h, StdAfx.cpp 31 | These files are used to build a precompiled header (PCH) file 32 | named test1.pch and a precompiled types file named StdAfx.obj. 33 | 34 | ///////////////////////////////////////////////////////////////////////////// 35 | Other notes: 36 | 37 | AppWizard uses "TODO:" comments to indicate parts of the source code you 38 | should add to or customize. 39 | 40 | ///////////////////////////////////////////////////////////////////////////// 41 | -------------------------------------------------------------------------------- /win/test1/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /win/tests/TestFile1.json: -------------------------------------------------------------------------------- 1 | { 2 | "VarDb": [ "J", "I", "Y", "X", "O" ], 3 | "FactorSet": [ 4 | { 5 | "vars": [ "I" ], 6 | "head": [ "I" ], 7 | "vals": [ 0.5, 0.5 ] 8 | }, 9 | { 10 | "vars": [ "J" ], 11 | "head": [ "J" ], 12 | "vals": [ 0.5, 0.5 ] 13 | }, 14 | { 15 | "vars": [ "J", "Y" ], 16 | "head": [ "Y" ], 17 | "vals": [ 0.01, 0.99, 0.99, 0.01 ] 18 | }, 19 | { 20 | "vars": [ "I", "J", "X" ], 21 | "head": [ "X" ], 22 | "vals": [ 0.95, 0.95, 0.95, 0.05, 0.05, 0.05, 0.05, 0.95 ] 23 | }, 24 | { 25 | "vars": [ "X", "Y", "O" ], 26 | "head": [ "O" ], 27 | "vals": [ 0.98, 0.02, 0.02, 0.02, 0.02, 0.98, 0.98, 0.98 ] 28 | } 29 | ], 30 | "QueryVarSet": ["I", "J" ], 31 | "SampleClause": { 32 | "varset": [ "O" ], 33 | "values": [ 1 ] 34 | }, 35 | "op": "MAP" 36 | } 37 | 38 | -------------------------------------------------------------------------------- /wshop/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | 12 | [*.md] 13 | max_line_length = 0 14 | trim_trailing_whitespace = false 15 | 16 | # Indentation override 17 | #[lib/**.js] 18 | #[{package.json,.travis.yml}] 19 | #[**/**.js] 20 | -------------------------------------------------------------------------------- /wshop/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | jspm_packages 4 | npm-debug.* 5 | link-checker-results.txt 6 | app/**/*.js 7 | *.js.map 8 | e2e/**/*.js 9 | e2e/**/*.js.map 10 | _test-output 11 | _temp 12 | -------------------------------------------------------------------------------- /wshop/.travis.yml: -------------------------------------------------------------------------------- 1 | dist: trusty 2 | sudo: required 3 | language: node_js 4 | node_js: 5 | - "5" 6 | os: 7 | - linux 8 | env: 9 | global: 10 | - DBUS_SESSION_BUS_ADDRESS=/dev/null 11 | - DISPLAY=:99.0 12 | - CHROME_BIN=chromium-browser 13 | before_script: 14 | - sh -e /etc/init.d/xvfb start 15 | install: 16 | - npm install 17 | script: 18 | - npm run lint 19 | - npm run test-once 20 | - npm run e2e 21 | -------------------------------------------------------------------------------- /wshop/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2014-2016 Google, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /wshop/app/app.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
    16 | 17 | 32 |
    33 | 34 | -------------------------------------------------------------------------------- /wshop/app/app.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { AppComponent } from './app.component'; 2 | 3 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 4 | import { By } from '@angular/platform-browser'; 5 | import { DebugElement } from '@angular/core'; 6 | 7 | describe('AppComponent', function () { 8 | let de: DebugElement; 9 | let comp: AppComponent; 10 | let fixture: ComponentFixture; 11 | 12 | beforeEach(async(() => { 13 | TestBed.configureTestingModule({ 14 | declarations: [ AppComponent ] 15 | }) 16 | .compileComponents(); 17 | })); 18 | 19 | beforeEach(() => { 20 | fixture = TestBed.createComponent(AppComponent); 21 | comp = fixture.componentInstance; 22 | de = fixture.debugElement.query(By.css('h1')); 23 | }); 24 | 25 | it('should create component', () => expect(comp).toBeDefined() ); 26 | 27 | it('should have expected

    text', () => { 28 | fixture.detectChanges(); 29 | const h1 = de.nativeElement; 30 | expect(h1.innerText).toMatch(/angular/i, 31 | '

    should say something about "Angular"'); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /wshop/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import {AiService } from './shared/shared'; 3 | 4 | import { RouterModule, Routes } from '@angular/router'; 5 | 6 | import {Response} from '@angular/http'; 7 | 8 | import {CfgEditComponent} from './bayes/cfg-edit.component'; 9 | import {EditFactorsComponent} from './bayes/edit-factors.component'; 10 | import {ViewFactorsComponent} from './bayes/view-factors.component'; 11 | 12 | 13 | /* 14 | //import { 15 | // ROUTER_PROVIDERS, 16 | // RouteConfig, 17 | // ROUTER_DIRECTIVES 18 | // } from '@angular/router'; 19 | */ 20 | 21 | 22 | 23 | @Component({ 24 | selector: 'my-app', 25 | // directives: [ROUTER_DIRECTIVES], 26 | // providers: [SHARED_PROVIDERS, HTTP_PROVIDERS, ROUTER_PROVIDERS], 27 | 28 | templateUrl: 'app/app.component.html' , 29 | providers: [AiService] 30 | }) 31 | export class AppComponent { 32 | name = 'Angular'; 33 | inpJson : string; 34 | jsonRes : string; 35 | finished : boolean; 36 | 37 | constructor(private aiServ : AiService) { 38 | this.jsonRes = "N/A"; 39 | this.inpJson = "Start here"; 40 | this.finished = false; 41 | } 42 | 43 | onSend() { 44 | this.finished = false; 45 | this.aiServ.getAiRt(this.inpJson).subscribe( 46 | (value : string) => { this.jsonRes = value }, 47 | (error : string) => this.jsonRes = "Err", 48 | () => this.finished = true); 49 | 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /wshop/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { BrowserModule } from '@angular/platform-browser'; 3 | import { HttpModule } from '@angular/http'; 4 | import { FormsModule } from '@angular/forms'; 5 | import {Response} from '@angular/http'; 6 | import { AppComponent } from './app.component'; 7 | import { RouterModule , Routes} from '@angular/router'; 8 | //import { BAYES_DIRECTIVES} from './bayes/bayes' 9 | import {PageNotFoundComponent } from './not-found.component'; 10 | // import {CfgEditComponent, EditFactorsComponent, ViewFactorsComponent} from './bayes/bayes'; 11 | import {CfgEditComponent} from './bayes/cfg-edit.component'; 12 | import {EditFactorsComponent} from './bayes/edit-factors.component'; 13 | import {ViewFactorsComponent} from './bayes/view-factors.component'; 14 | import {ModelService } from './shared/shared'; 15 | 16 | 17 | const appRoutes: Routes = [ 18 | 19 | { path: 'cfgEditComponent', component: CfgEditComponent }, 20 | { path: 'viewFactorsComponent', component: ViewFactorsComponent}, 21 | { path: 'editFactorsComponent', component: EditFactorsComponent }, 22 | //{ path: 'editFactorsComponent/:id', component: EditFactorsComponent }, 23 | 24 | { path: '', 25 | redirectTo: '/cfgEditComponent', 26 | pathMatch: 'full' 27 | }, 28 | { path: '**', component: PageNotFoundComponent } 29 | ]; 30 | 31 | const nonRoutes : Routes = []; 32 | 33 | @NgModule({ 34 | imports: [ 35 | RouterModule.forRoot(appRoutes), 36 | BrowserModule, HttpModule, FormsModule 37 | 38 | 39 | ], 40 | providers : [ModelService], 41 | declarations: [ AppComponent, CfgEditComponent, ViewFactorsComponent, EditFactorsComponent, PageNotFoundComponent ], 42 | bootstrap: [ AppComponent ] 43 | }) 44 | export class AppModule { } 45 | -------------------------------------------------------------------------------- /wshop/app/bayes/bayes.ts: -------------------------------------------------------------------------------- 1 | /* 2 | import CfgEditComponent from './cfg-edit.component'; 3 | import EditFactorsComponent from './edit-factors.component'; 4 | import ViewFactorsComponent from './view-factors.component'; 5 | 6 | 7 | export { 8 | CfgEditComponent, 9 | EditFactorsComponent, 10 | ViewFactorsComponent 11 | }; 12 | */ 13 | 14 | -------------------------------------------------------------------------------- /wshop/app/bayes/cfg-edit.component.html: -------------------------------------------------------------------------------- 1 |

    cfg-edit

    2 |

    3 |

      4 |
    • 5 | {{v}} 6 |
    • 7 |
    8 | 9 |
    10 | 11 |

    12 |

    13 |

    14 | 15 | 16 |
    17 | 18 | -------------------------------------------------------------------------------- /wshop/app/bayes/cfg-edit.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { Title } from '@angular/platform-browser'; 3 | import {ModelService } from '../shared/shared'; 4 | 5 | 6 | @Component({ 7 | selector: 'cfgEdit', 8 | providers: [Title], 9 | templateUrl: 'app/bayes/cfg-edit.component.html' 10 | }) 11 | export class CfgEditComponent { 12 | 13 | vars : string[]; 14 | constructor(private serv: ModelService) { } 15 | onAddVar(v:string) { 16 | this.serv.addVar(v); 17 | this.vars = this.serv.getVars(); 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /wshop/app/bayes/edit-factors.component.html: -------------------------------------------------------------------------------- 1 |

    edit-factors

    2 |

    3 |
    4 | 5 |

    6 |

    7 |

    8 | -{{factorId}}- 9 |
    10 | 11 | -------------------------------------------------------------------------------- /wshop/app/bayes/edit-factors.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { Title } from '@angular/platform-browser'; 3 | import {Router, ActivatedRoute} from '@angular/router'; 4 | import { ModelService } from '../shared/shared'; 5 | 6 | 7 | @Component({ 8 | selector: 'editFactors', 9 | providers: [Title], 10 | templateUrl: 'app/bayes/edit-factors.component.html' 11 | }) 12 | export class EditFactorsComponent implements OnInit{ 13 | 14 | factorId : string; 15 | constructor(private serv : ModelService, private rs: ActivatedRoute) { 16 | } 17 | 18 | ngOnInit() { 19 | //this.rs.params 20 | // .map(params => params.id) 21 | // .flatMap(id => id) 22 | // .subscribe(id => this.factorId = id); 23 | this.factorId = this.rs.snapshot.params['id']; 24 | } 25 | 26 | 27 | 28 | } 29 | 30 | -------------------------------------------------------------------------------- /wshop/app/bayes/manage-vars.component.html: -------------------------------------------------------------------------------- 1 |
    2 | 3 | 4 | 5 | 6 |
    7 | 8 | -------------------------------------------------------------------------------- /wshop/app/bayes/manage-vars.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { Title } from '@angular/platform-browser'; 3 | import {ModelService } from '../shared/shared'; 4 | 5 | 6 | @Component({ 7 | selector: 'manageVars', 8 | providers: [Title], 9 | templateUrl: 'app/bayes/manage-vars.component.html' 10 | }) 11 | export class ManageVarsComponent { 12 | 13 | vars : string[]; 14 | constructor(private serv: ModelService) { } 15 | 16 | onAddVar(v:string) { 17 | this.serv.addVar(v); 18 | this.vars = this.serv.getVars(); 19 | } 20 | 21 | onDelVar(v:string) { 22 | this.serv.deleteVar(v); 23 | this.vars = this.serv.getVars(); 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /wshop/app/bayes/view-factors.component.html: -------------------------------------------------------------------------------- 1 |

    view factors

    2 |

    3 |

    4 | 5 | 8 |
    9 | 10 |

    11 |

    12 |

    13 |
      14 |
    • 15 | {{v}} 16 | 17 | 18 |
    • 19 |
    20 | 21 |
    22 | -------------------------------------------------------------------------------- /wshop/app/bayes/view-factors.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import {ModelService } from '../shared/shared'; 3 | import { Router} from '@angular/router'; 4 | import { Title } from '@angular/platform-browser'; 5 | 6 | 7 | 8 | 9 | @Component({ 10 | selector: 'viewFactors', 11 | providers: [Title], 12 | templateUrl: 'app/bayes/view-factors.component.html' 13 | }) 14 | export class ViewFactorsComponent { 15 | 16 | arListVars: string[]; 17 | arListFactors: string[]; 18 | selectedVar: string; 19 | 20 | 21 | constructor(private serv: ModelService, private router : Router) { 22 | this.arListVars = serv.getVars(); 23 | this.arListFactors = serv.getFactors(); 24 | } 25 | 26 | onAddFactor() { 27 | this.serv.addFactor(this.selectedVar); 28 | this.arListFactors = this.serv.getFactors(); 29 | 30 | } 31 | 32 | onEditFactor(v : string) { 33 | this.router.navigate(["editFactorsComponent/" , {id:v}]); 34 | //this.router.navigate(["editFactorsComponent/" + v ]); 35 | 36 | } 37 | 38 | onChangeVar(e : any) { 39 | this.selectedVar = e; 40 | 41 | } 42 | 43 | 44 | } 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /wshop/app/main.ts: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 2 | 3 | import { AppModule } from './app.module'; 4 | 5 | platformBrowserDynamic().bootstrapModule(AppModule); 6 | -------------------------------------------------------------------------------- /wshop/app/not-found.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | template: '

    Page not found

    ' 5 | }) 6 | export class PageNotFoundComponent {} 7 | -------------------------------------------------------------------------------- /wshop/app/shared/services/ai.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { Http, Response, Headers, RequestOptions, URLSearchParams } from '@angular/http'; 3 | import { Observable } from 'rxjs/Rx'; 4 | import 'rxjs/Rx'; 5 | 6 | 7 | @Injectable() 8 | export default class AiService { 9 | private aiUrl = 'http://localhost:3000/cgi-bin/airt.cgi.exe'; 10 | 11 | constructor (private http: Http) { 12 | 13 | } 14 | 15 | toJson(r : Response) : string { 16 | return r.text(); 17 | } 18 | 19 | getAiRt(req : string) : Observable { 20 | let headers = new Headers(); 21 | headers.append('Content-Type', 'application/x-www-form-urlencoded'); 22 | const body = new URLSearchParams(); 23 | body.set('req', req); 24 | 25 | var myHttpRequest: Observable = this.http.post(this.aiUrl, body.toString(), headers); 26 | return myHttpRequest.map(this.toJson); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wshop/app/shared/shared.ts: -------------------------------------------------------------------------------- 1 | import AiService from './services/ai.service'; 2 | import ModelService from './services/model.service' 3 | 4 | export { 5 | AiService, 6 | ModelService 7 | }; 8 | 9 | -------------------------------------------------------------------------------- /wshop/e2e/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { browser, element, by } from 'protractor'; 2 | 3 | describe('QuickStart E2E Tests', function () { 4 | 5 | let expectedMsg = 'Hello Angular'; 6 | 7 | beforeEach(function () { 8 | browser.get(''); 9 | }); 10 | 11 | it('should display: ' + expectedMsg, function () { 12 | expect(element(by.css('h1')).getText()).toEqual(expectedMsg); 13 | }); 14 | 15 | }); 16 | -------------------------------------------------------------------------------- /wshop/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boralt/EmbeddedAI/88f32007faa17464ddd452874c47d6cd7e8296bc/wshop/favicon.ico -------------------------------------------------------------------------------- /wshop/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Angular QuickStart 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | Loading AppComponent content here ... 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /wshop/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-quickstart", 3 | "version": "1.0.0", 4 | "description": "QuickStart package.json from the documentation, supplemented with testing support", 5 | "scripts": { 6 | "start": "tsc && concurrently \"tsc -w\" \"light-server -s . -p 3000 -x http://localhost:80\" ", 7 | "e2e": "tsc && concurrently \"http-server -s\" \"protractor protractor.config.js\" --kill-others --success first", 8 | "lint": "tslint ./app/**/*.ts -t verbose", 9 | "lite": "lite-server", 10 | "light": "light-server -s . -p 3000 -x http://localhost:80", 11 | "pree2e": "webdriver-manager update", 12 | "test": "tsc && concurrently \"tsc -w\" \"karma start karma.conf.js\"", 13 | "test-once": "tsc && karma start karma.conf.js --single-run", 14 | "tsc": "tsc", 15 | "tsc:w": "tsc -w" 16 | }, 17 | "keywords": [], 18 | "author": "", 19 | "license": "MIT", 20 | "dependencies": { 21 | "@angular/common": "~2.4.0", 22 | "@angular/compiler": "~2.4.0", 23 | "@angular/core": "~2.4.0", 24 | "@angular/forms": "~2.4.0", 25 | "@angular/http": "~2.4.0", 26 | "@angular/platform-browser": "~2.4.0", 27 | "@angular/platform-browser-dynamic": "~2.4.0", 28 | "@angular/router": "~3.4.0", 29 | "angular-in-memory-web-api": "~0.2.2", 30 | "bootstrap": "^3.3.7", 31 | "core-js": "^2.4.1", 32 | "reflect-metadata": "^0.1.8", 33 | "rxjs": "5.0.1", 34 | "systemjs": "0.19.40", 35 | "zone.js": "^0.7.4" 36 | }, 37 | "devDependencies": { 38 | "concurrently": "^3.1.0", 39 | "lite-server": "^2.2.2", 40 | "light-server": "^1.1.7", 41 | "typescript": "~2.0.10", 42 | "canonical-path": "0.0.2", 43 | "http-server": "^0.9.0", 44 | "tslint": "^3.15.1", 45 | "lodash": "^4.16.4", 46 | "jasmine-core": "~2.4.1", 47 | "karma": "^1.3.0", 48 | "karma-chrome-launcher": "^2.0.0", 49 | "karma-cli": "^1.0.1", 50 | "karma-jasmine": "^1.0.2", 51 | "karma-jasmine-html-reporter": "^0.2.2", 52 | "protractor": "~4.0.14", 53 | "rimraf": "^2.5.4", 54 | "@types/node": "^6.0.46", 55 | "@types/jasmine": "^2.5.36" 56 | }, 57 | "repository": {} 58 | } 59 | -------------------------------------------------------------------------------- /wshop/runserver.txt: -------------------------------------------------------------------------------- 1 | c:\proj\b\art\win\Debug>c:\Python27\python.exe -m CGIHTTPServer 80 2 | -------------------------------------------------------------------------------- /wshop/styles.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | color: #369; 3 | font-family: Arial, Helvetica, sans-serif; 4 | font-size: 250%; 5 | } 6 | -------------------------------------------------------------------------------- /wshop/systemjs.config.extras.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Add barrels and stuff 3 | * Adjust as necessary for your application needs. 4 | */ 5 | // (function (global) { 6 | // System.config({ 7 | // packages: { 8 | // // add packages here 9 | // } 10 | // }); 11 | // })(this); 12 | -------------------------------------------------------------------------------- /wshop/systemjs.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * System configuration for Angular samples 3 | * Adjust as necessary for your application needs. 4 | */ 5 | (function (global) { 6 | System.config({ 7 | paths: { 8 | // paths serve as alias 9 | 'npm:': 'node_modules/' 10 | }, 11 | // map tells the System loader where to look for things 12 | map: { 13 | // our app is within the app folder 14 | app: 'app', 15 | 16 | // angular bundles 17 | '@angular/core': 'npm:@angular/core/bundles/core.umd.js', 18 | '@angular/common': 'npm:@angular/common/bundles/common.umd.js', 19 | '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js', 20 | '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js', 21 | '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', 22 | '@angular/http': 'npm:@angular/http/bundles/http.umd.js', 23 | '@angular/router': 'npm:@angular/router/bundles/router.umd.js', 24 | '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js', 25 | 26 | // other libraries 27 | 'rxjs': 'npm:rxjs', 28 | 'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js' 29 | }, 30 | // packages tells the System loader how to load when no filename and/or no extension 31 | packages: { 32 | app: { 33 | main: './main.js', 34 | defaultExtension: 'js' 35 | }, 36 | rxjs: { 37 | defaultExtension: 'js' 38 | } 39 | } 40 | }); 41 | })(this); 42 | -------------------------------------------------------------------------------- /wshop/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "moduleResolution": "node", 6 | "sourceMap": true, 7 | "emitDecoratorMetadata": true, 8 | "experimentalDecorators": true, 9 | "lib": [ "es2015", "dom" ], 10 | "noImplicitAny": true, 11 | "suppressImplicitAnyIndexErrors": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /wshop/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "class-name": true, 4 | "comment-format": [ 5 | true, 6 | "check-space" 7 | ], 8 | "curly": true, 9 | "eofline": true, 10 | "forin": true, 11 | "indent": [ 12 | true, 13 | "spaces" 14 | ], 15 | "label-position": true, 16 | "label-undefined": true, 17 | "max-line-length": [ 18 | true, 19 | 140 20 | ], 21 | "member-access": false, 22 | "member-ordering": [ 23 | true, 24 | "static-before-instance", 25 | "variables-before-functions" 26 | ], 27 | "no-arg": true, 28 | "no-bitwise": true, 29 | "no-console": [ 30 | true, 31 | "debug", 32 | "info", 33 | "time", 34 | "timeEnd", 35 | "trace" 36 | ], 37 | "no-construct": true, 38 | "no-debugger": true, 39 | "no-duplicate-key": true, 40 | "no-duplicate-variable": true, 41 | "no-empty": false, 42 | "no-eval": true, 43 | "no-inferrable-types": true, 44 | "no-shadowed-variable": true, 45 | "no-string-literal": false, 46 | "no-switch-case-fall-through": true, 47 | "no-trailing-whitespace": true, 48 | "no-unused-expression": true, 49 | "no-unused-variable": true, 50 | "no-unreachable": true, 51 | "no-use-before-declare": true, 52 | "no-var-keyword": true, 53 | "object-literal-sort-keys": false, 54 | "one-line": [ 55 | true, 56 | "check-open-brace", 57 | "check-catch", 58 | "check-else", 59 | "check-whitespace" 60 | ], 61 | "quotemark": [ 62 | true, 63 | "single" 64 | ], 65 | "radix": true, 66 | "semicolon": [ 67 | "always" 68 | ], 69 | "triple-equals": [ 70 | true, 71 | "allow-null-check" 72 | ], 73 | "typedef-whitespace": [ 74 | true, 75 | { 76 | "call-signature": "nospace", 77 | "index-signature": "nospace", 78 | "parameter": "nospace", 79 | "property-declaration": "nospace", 80 | "variable-declaration": "nospace" 81 | } 82 | ], 83 | "variable-name": false, 84 | "whitespace": [ 85 | true, 86 | "check-branch", 87 | "check-decl", 88 | "check-operator", 89 | "check-separator", 90 | "check-type" 91 | ] 92 | } 93 | } 94 | --------------------------------------------------------------------------------