From b4c345e6a5fa929ba20eac19183b9c777055f52d Mon Sep 17 00:00:00 2001 From: Gaspard Coulet Date: Wed, 28 Apr 2021 23:12:36 +0200 Subject: Initial commit --- Doc/html/_fonction_activation_8h_source.html | 126 ++ Doc/html/_input_layer_8h_source.html | 125 ++ Doc/html/_layer_8h_source.html | 129 ++ Doc/html/_neurone_8h_source.html | 133 ++ Doc/html/_neurone_b_8h_source.html | 129 ++ Doc/html/_option_8h_source.html | 132 ++ Doc/html/_option_tab_8h_source.html | 130 ++ Doc/html/_reseau_8h_source.html | 127 ++ Doc/html/_settings_8h_source.html | 126 ++ Doc/html/_type_8h_source.html | 126 ++ Doc/html/annotated.html | 142 ++ Doc/html/annotated_dup.js | 19 + Doc/html/arrowdown.png | Bin 0 -> 246 bytes Doc/html/arrowright.png | Bin 0 -> 229 bytes Doc/html/bc_s.png | Bin 0 -> 676 bytes Doc/html/bdwn.png | Bin 0 -> 147 bytes Doc/html/class_archi_1_1_draw_n_n-members.html | 129 ++ Doc/html/class_archi_1_1_draw_n_n.html | 147 ++ Doc/html/class_archi_1_1_draw_n_n.js | 6 + Doc/html/class_archi_1_1_layer-members.html | 135 ++ Doc/html/class_archi_1_1_layer.html | 165 +++ Doc/html/class_archi_1_1_layer.js | 12 + .../class_archi_1_1_neural_network-members.html | 132 ++ Doc/html/class_archi_1_1_neural_network.html | 156 +++ Doc/html/class_archi_1_1_neural_network.js | 9 + Doc/html/class_archi_1_1_neuron-members.html | 130 ++ Doc/html/class_archi_1_1_neuron.html | 150 ++ Doc/html/class_archi_1_1_neuron.js | 7 + Doc/html/class_fonction_activation-members.html | 141 ++ Doc/html/class_fonction_activation.html | 303 ++++ Doc/html/class_fonction_activation.js | 19 + Doc/html/class_input_layer-members.html | 145 ++ Doc/html/class_input_layer.html | 277 ++++ Doc/html/class_input_layer.js | 5 + Doc/html/class_input_layer__coll__graph.map | 3 + Doc/html/class_input_layer__coll__graph.md5 | 1 + Doc/html/class_input_layer__coll__graph.png | Bin 0 -> 2307 bytes Doc/html/class_input_layer__inherit__graph.map | 3 + Doc/html/class_input_layer__inherit__graph.md5 | 1 + Doc/html/class_input_layer__inherit__graph.png | Bin 0 -> 2307 bytes Doc/html/class_layer-members.html | 144 ++ Doc/html/class_layer.html | 370 +++++ Doc/html/class_layer.js | 22 + Doc/html/class_layer__inherit__graph.map | 3 + Doc/html/class_layer__inherit__graph.md5 | 1 + Doc/html/class_layer__inherit__graph.png | Bin 0 -> 2253 bytes Doc/html/class_neurone-members.html | 141 ++ Doc/html/class_neurone.html | 572 ++++++++ Doc/html/class_neurone.js | 18 + Doc/html/class_neurone__coll__graph.map | 3 + Doc/html/class_neurone__coll__graph.md5 | 1 + Doc/html/class_neurone__coll__graph.png | Bin 0 -> 3992 bytes Doc/html/class_neurone__inherit__graph.map | 3 + Doc/html/class_neurone__inherit__graph.md5 | 1 + Doc/html/class_neurone__inherit__graph.png | Bin 0 -> 2478 bytes Doc/html/class_neurone_b-members.html | 143 ++ Doc/html/class_neurone_b.html | 436 ++++++ Doc/html/class_neurone_b.js | 10 + Doc/html/class_neurone_b__coll__graph.map | 4 + Doc/html/class_neurone_b__coll__graph.md5 | 1 + Doc/html/class_neurone_b__coll__graph.png | Bin 0 -> 5490 bytes Doc/html/class_neurone_b__inherit__graph.map | 3 + Doc/html/class_neurone_b__inherit__graph.md5 | 1 + Doc/html/class_neurone_b__inherit__graph.png | Bin 0 -> 2526 bytes Doc/html/class_option-members.html | 136 ++ Doc/html/class_option.html | 326 +++++ Doc/html/class_option.js | 13 + Doc/html/class_option_tab-members.html | 134 ++ Doc/html/class_option_tab.html | 300 ++++ Doc/html/class_option_tab.js | 11 + Doc/html/class_reseau-members.html | 131 ++ Doc/html/class_reseau.html | 295 ++++ Doc/html/class_reseau.js | 8 + Doc/html/class_settings-members.html | 130 ++ Doc/html/class_settings.html | 218 +++ Doc/html/class_settings.js | 7 + Doc/html/class_type-members.html | 136 ++ Doc/html/class_type.html | 255 ++++ Doc/html/class_type.js | 14 + Doc/html/classes.html | 146 ++ Doc/html/closed.png | Bin 0 -> 132 bytes Doc/html/dir_0e7a2bf207642fde32bb2644c27b5ffb.html | 125 ++ Doc/html/dir_1047144a739eb486842d9616b4b86f5e.html | 125 ++ Doc/html/dir_1047144a739eb486842d9616b4b86f5e.js | 4 + Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.html | 125 ++ Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.js | 6 + Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.html | 125 ++ Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.js | 6 + Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.html | 125 ++ Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.js | 4 + Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.html | 125 ++ Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.js | 4 + Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.html | 125 ++ Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.js | 5 + Doc/html/doc.png | Bin 0 -> 746 bytes Doc/html/doxygen.css | 1475 ++++++++++++++++++++ Doc/html/doxygen.png | Bin 0 -> 3779 bytes Doc/html/dynsections.js | 97 ++ Doc/html/files.html | 141 ++ Doc/html/files.js | 9 + Doc/html/folderclosed.png | Bin 0 -> 616 bytes Doc/html/folderopen.png | Bin 0 -> 597 bytes Doc/html/fonctions_8h_source.html | 121 ++ Doc/html/functions.html | 341 +++++ Doc/html/functions_func.html | 341 +++++ Doc/html/graph_legend.html | 144 ++ Doc/html/graph_legend.md5 | 1 + Doc/html/graph_legend.png | Bin 0 -> 18535 bytes Doc/html/hierarchy.html | 143 ++ Doc/html/hierarchy.js | 19 + Doc/html/index.html | 115 ++ Doc/html/inherit_graph_0.map | 3 + Doc/html/inherit_graph_0.md5 | 1 + Doc/html/inherit_graph_0.png | Bin 0 -> 1389 bytes Doc/html/inherit_graph_1.map | 3 + Doc/html/inherit_graph_1.md5 | 1 + Doc/html/inherit_graph_1.png | Bin 0 -> 1385 bytes Doc/html/inherit_graph_10.map | 3 + Doc/html/inherit_graph_10.md5 | 1 + Doc/html/inherit_graph_10.png | Bin 0 -> 1123 bytes Doc/html/inherit_graph_11.map | 3 + Doc/html/inherit_graph_11.md5 | 1 + Doc/html/inherit_graph_11.png | Bin 0 -> 789 bytes Doc/html/inherit_graph_2.map | 3 + Doc/html/inherit_graph_2.md5 | 1 + Doc/html/inherit_graph_2.png | Bin 0 -> 1759 bytes Doc/html/inherit_graph_3.map | 3 + Doc/html/inherit_graph_3.md5 | 1 + Doc/html/inherit_graph_3.png | Bin 0 -> 1308 bytes Doc/html/inherit_graph_4.map | 3 + Doc/html/inherit_graph_4.md5 | 1 + Doc/html/inherit_graph_4.png | Bin 0 -> 1292 bytes Doc/html/inherit_graph_5.map | 4 + Doc/html/inherit_graph_5.md5 | 1 + Doc/html/inherit_graph_5.png | Bin 0 -> 1666 bytes Doc/html/inherit_graph_6.map | 4 + Doc/html/inherit_graph_6.md5 | 1 + Doc/html/inherit_graph_6.png | Bin 0 -> 1574 bytes Doc/html/inherit_graph_7.map | 3 + Doc/html/inherit_graph_7.md5 | 1 + Doc/html/inherit_graph_7.png | Bin 0 -> 1027 bytes Doc/html/inherit_graph_8.map | 3 + Doc/html/inherit_graph_8.md5 | 1 + Doc/html/inherit_graph_8.png | Bin 0 -> 1213 bytes Doc/html/inherit_graph_9.map | 3 + Doc/html/inherit_graph_9.md5 | 1 + Doc/html/inherit_graph_9.png | Bin 0 -> 910 bytes Doc/html/inherits.html | 189 +++ Doc/html/jquery.js | 68 + Doc/html/nav_f.png | Bin 0 -> 153 bytes Doc/html/nav_g.png | Bin 0 -> 95 bytes Doc/html/nav_h.png | Bin 0 -> 98 bytes Doc/html/navtree.css | 143 ++ Doc/html/navtree.js | 523 +++++++ Doc/html/navtreedata.js | 25 + Doc/html/navtreeindex0.js | 159 +++ Doc/html/open.png | Bin 0 -> 123 bytes Doc/html/resize.js | 97 ++ Doc/html/search/all_0.html | 26 + Doc/html/search/all_0.js | 5 + Doc/html/search/all_1.html | 26 + Doc/html/search/all_1.js | 4 + Doc/html/search/all_2.html | 26 + Doc/html/search/all_2.js | 5 + Doc/html/search/all_3.html | 26 + Doc/html/search/all_3.js | 8 + Doc/html/search/all_4.html | 26 + Doc/html/search/all_4.js | 21 + Doc/html/search/all_5.html | 26 + Doc/html/search/all_5.js | 4 + Doc/html/search/all_6.html | 26 + Doc/html/search/all_6.js | 6 + Doc/html/search/all_7.html | 26 + Doc/html/search/all_7.js | 7 + Doc/html/search/all_8.html | 26 + Doc/html/search/all_8.js | 5 + Doc/html/search/all_9.html | 26 + Doc/html/search/all_9.js | 6 + Doc/html/search/all_a.html | 26 + Doc/html/search/all_a.js | 4 + Doc/html/search/all_b.html | 26 + Doc/html/search/all_b.js | 9 + Doc/html/search/all_c.html | 26 + Doc/html/search/all_c.js | 4 + Doc/html/search/classes_0.html | 26 + Doc/html/search/classes_0.js | 4 + Doc/html/search/classes_1.html | 26 + Doc/html/search/classes_1.js | 4 + Doc/html/search/classes_2.html | 26 + Doc/html/search/classes_2.js | 4 + Doc/html/search/classes_3.html | 26 + Doc/html/search/classes_3.js | 5 + Doc/html/search/classes_4.html | 26 + Doc/html/search/classes_4.js | 7 + Doc/html/search/classes_5.html | 26 + Doc/html/search/classes_5.js | 5 + Doc/html/search/classes_6.html | 26 + Doc/html/search/classes_6.js | 4 + Doc/html/search/classes_7.html | 26 + Doc/html/search/classes_7.js | 4 + Doc/html/search/classes_8.html | 26 + Doc/html/search/classes_8.js | 4 + Doc/html/search/close.png | Bin 0 -> 273 bytes Doc/html/search/functions_0.html | 26 + Doc/html/search/functions_0.js | 5 + Doc/html/search/functions_1.html | 26 + Doc/html/search/functions_1.js | 4 + Doc/html/search/functions_2.html | 26 + Doc/html/search/functions_2.js | 4 + Doc/html/search/functions_3.html | 26 + Doc/html/search/functions_3.js | 8 + Doc/html/search/functions_4.html | 26 + Doc/html/search/functions_4.js | 21 + Doc/html/search/functions_5.html | 26 + Doc/html/search/functions_5.js | 4 + Doc/html/search/functions_6.html | 26 + Doc/html/search/functions_6.js | 5 + Doc/html/search/functions_7.html | 26 + Doc/html/search/functions_7.js | 5 + Doc/html/search/functions_8.html | 26 + Doc/html/search/functions_8.js | 5 + Doc/html/search/functions_9.html | 26 + Doc/html/search/functions_9.js | 6 + Doc/html/search/functions_a.html | 26 + Doc/html/search/functions_a.js | 4 + Doc/html/search/functions_b.html | 26 + Doc/html/search/functions_b.js | 9 + Doc/html/search/functions_c.html | 26 + Doc/html/search/functions_c.js | 4 + Doc/html/search/mag_sel.png | Bin 0 -> 563 bytes Doc/html/search/nomatches.html | 12 + Doc/html/search/search.css | 271 ++++ Doc/html/search/search.js | 791 +++++++++++ Doc/html/search/search_l.png | Bin 0 -> 604 bytes Doc/html/search/search_m.png | Bin 0 -> 158 bytes Doc/html/search/search_r.png | Bin 0 -> 612 bytes Doc/html/search/searchdata.js | 21 + Doc/html/splitbar.png | Bin 0 -> 314 bytes Doc/html/sync_off.png | Bin 0 -> 853 bytes Doc/html/sync_on.png | Bin 0 -> 845 bytes Doc/html/tab_a.png | Bin 0 -> 142 bytes Doc/html/tab_b.png | Bin 0 -> 169 bytes Doc/html/tab_h.png | Bin 0 -> 177 bytes Doc/html/tab_s.png | Bin 0 -> 184 bytes Doc/html/tabs.css | 60 + Doc/html/univmontpellierlogo-1449840251.png | Bin 0 -> 9353 bytes Doc/refman.pdf | Bin 0 -> 205317 bytes 247 files changed, 15040 insertions(+) create mode 100644 Doc/html/_fonction_activation_8h_source.html create mode 100644 Doc/html/_input_layer_8h_source.html create mode 100644 Doc/html/_layer_8h_source.html create mode 100644 Doc/html/_neurone_8h_source.html create mode 100644 Doc/html/_neurone_b_8h_source.html create mode 100644 Doc/html/_option_8h_source.html create mode 100644 Doc/html/_option_tab_8h_source.html create mode 100644 Doc/html/_reseau_8h_source.html create mode 100644 Doc/html/_settings_8h_source.html create mode 100644 Doc/html/_type_8h_source.html create mode 100644 Doc/html/annotated.html create mode 100644 Doc/html/annotated_dup.js create mode 100644 Doc/html/arrowdown.png create mode 100644 Doc/html/arrowright.png create mode 100644 Doc/html/bc_s.png create mode 100644 Doc/html/bdwn.png create mode 100644 Doc/html/class_archi_1_1_draw_n_n-members.html create mode 100644 Doc/html/class_archi_1_1_draw_n_n.html create mode 100644 Doc/html/class_archi_1_1_draw_n_n.js create mode 100644 Doc/html/class_archi_1_1_layer-members.html create mode 100644 Doc/html/class_archi_1_1_layer.html create mode 100644 Doc/html/class_archi_1_1_layer.js create mode 100644 Doc/html/class_archi_1_1_neural_network-members.html create mode 100644 Doc/html/class_archi_1_1_neural_network.html create mode 100644 Doc/html/class_archi_1_1_neural_network.js create mode 100644 Doc/html/class_archi_1_1_neuron-members.html create mode 100644 Doc/html/class_archi_1_1_neuron.html create mode 100644 Doc/html/class_archi_1_1_neuron.js create mode 100644 Doc/html/class_fonction_activation-members.html create mode 100644 Doc/html/class_fonction_activation.html create mode 100644 Doc/html/class_fonction_activation.js create mode 100644 Doc/html/class_input_layer-members.html create mode 100644 Doc/html/class_input_layer.html create mode 100644 Doc/html/class_input_layer.js create mode 100644 Doc/html/class_input_layer__coll__graph.map create mode 100644 Doc/html/class_input_layer__coll__graph.md5 create mode 100644 Doc/html/class_input_layer__coll__graph.png create mode 100644 Doc/html/class_input_layer__inherit__graph.map create mode 100644 Doc/html/class_input_layer__inherit__graph.md5 create mode 100644 Doc/html/class_input_layer__inherit__graph.png create mode 100644 Doc/html/class_layer-members.html create mode 100644 Doc/html/class_layer.html create mode 100644 Doc/html/class_layer.js create mode 100644 Doc/html/class_layer__inherit__graph.map create mode 100644 Doc/html/class_layer__inherit__graph.md5 create mode 100644 Doc/html/class_layer__inherit__graph.png create mode 100644 Doc/html/class_neurone-members.html create mode 100644 Doc/html/class_neurone.html create mode 100644 Doc/html/class_neurone.js create mode 100644 Doc/html/class_neurone__coll__graph.map create mode 100644 Doc/html/class_neurone__coll__graph.md5 create mode 100644 Doc/html/class_neurone__coll__graph.png create mode 100644 Doc/html/class_neurone__inherit__graph.map create mode 100644 Doc/html/class_neurone__inherit__graph.md5 create mode 100644 Doc/html/class_neurone__inherit__graph.png create mode 100644 Doc/html/class_neurone_b-members.html create mode 100644 Doc/html/class_neurone_b.html create mode 100644 Doc/html/class_neurone_b.js create mode 100644 Doc/html/class_neurone_b__coll__graph.map create mode 100644 Doc/html/class_neurone_b__coll__graph.md5 create mode 100644 Doc/html/class_neurone_b__coll__graph.png create mode 100644 Doc/html/class_neurone_b__inherit__graph.map create mode 100644 Doc/html/class_neurone_b__inherit__graph.md5 create mode 100644 Doc/html/class_neurone_b__inherit__graph.png create mode 100644 Doc/html/class_option-members.html create mode 100644 Doc/html/class_option.html create mode 100644 Doc/html/class_option.js create mode 100644 Doc/html/class_option_tab-members.html create mode 100644 Doc/html/class_option_tab.html create mode 100644 Doc/html/class_option_tab.js create mode 100644 Doc/html/class_reseau-members.html create mode 100644 Doc/html/class_reseau.html create mode 100644 Doc/html/class_reseau.js create mode 100644 Doc/html/class_settings-members.html create mode 100644 Doc/html/class_settings.html create mode 100644 Doc/html/class_settings.js create mode 100644 Doc/html/class_type-members.html create mode 100644 Doc/html/class_type.html create mode 100644 Doc/html/class_type.js create mode 100644 Doc/html/classes.html create mode 100644 Doc/html/closed.png create mode 100644 Doc/html/dir_0e7a2bf207642fde32bb2644c27b5ffb.html create mode 100644 Doc/html/dir_1047144a739eb486842d9616b4b86f5e.html create mode 100644 Doc/html/dir_1047144a739eb486842d9616b4b86f5e.js create mode 100644 Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.html create mode 100644 Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.js create mode 100644 Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.html create mode 100644 Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.js create mode 100644 Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.html create mode 100644 Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.js create mode 100644 Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.html create mode 100644 Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.js create mode 100644 Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.html create mode 100644 Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.js create mode 100644 Doc/html/doc.png create mode 100644 Doc/html/doxygen.css create mode 100644 Doc/html/doxygen.png create mode 100644 Doc/html/dynsections.js create mode 100644 Doc/html/files.html create mode 100644 Doc/html/files.js create mode 100644 Doc/html/folderclosed.png create mode 100644 Doc/html/folderopen.png create mode 100644 Doc/html/fonctions_8h_source.html create mode 100644 Doc/html/functions.html create mode 100644 Doc/html/functions_func.html create mode 100644 Doc/html/graph_legend.html create mode 100644 Doc/html/graph_legend.md5 create mode 100644 Doc/html/graph_legend.png create mode 100644 Doc/html/hierarchy.html create mode 100644 Doc/html/hierarchy.js create mode 100644 Doc/html/index.html create mode 100644 Doc/html/inherit_graph_0.map create mode 100644 Doc/html/inherit_graph_0.md5 create mode 100644 Doc/html/inherit_graph_0.png create mode 100644 Doc/html/inherit_graph_1.map create mode 100644 Doc/html/inherit_graph_1.md5 create mode 100644 Doc/html/inherit_graph_1.png create mode 100644 Doc/html/inherit_graph_10.map create mode 100644 Doc/html/inherit_graph_10.md5 create mode 100644 Doc/html/inherit_graph_10.png create mode 100644 Doc/html/inherit_graph_11.map create mode 100644 Doc/html/inherit_graph_11.md5 create mode 100644 Doc/html/inherit_graph_11.png create mode 100644 Doc/html/inherit_graph_2.map create mode 100644 Doc/html/inherit_graph_2.md5 create mode 100644 Doc/html/inherit_graph_2.png create mode 100644 Doc/html/inherit_graph_3.map create mode 100644 Doc/html/inherit_graph_3.md5 create mode 100644 Doc/html/inherit_graph_3.png create mode 100644 Doc/html/inherit_graph_4.map create mode 100644 Doc/html/inherit_graph_4.md5 create mode 100644 Doc/html/inherit_graph_4.png create mode 100644 Doc/html/inherit_graph_5.map create mode 100644 Doc/html/inherit_graph_5.md5 create mode 100644 Doc/html/inherit_graph_5.png create mode 100644 Doc/html/inherit_graph_6.map create mode 100644 Doc/html/inherit_graph_6.md5 create mode 100644 Doc/html/inherit_graph_6.png create mode 100644 Doc/html/inherit_graph_7.map create mode 100644 Doc/html/inherit_graph_7.md5 create mode 100644 Doc/html/inherit_graph_7.png create mode 100644 Doc/html/inherit_graph_8.map create mode 100644 Doc/html/inherit_graph_8.md5 create mode 100644 Doc/html/inherit_graph_8.png create mode 100644 Doc/html/inherit_graph_9.map create mode 100644 Doc/html/inherit_graph_9.md5 create mode 100644 Doc/html/inherit_graph_9.png create mode 100644 Doc/html/inherits.html create mode 100644 Doc/html/jquery.js create mode 100644 Doc/html/nav_f.png create mode 100644 Doc/html/nav_g.png create mode 100644 Doc/html/nav_h.png create mode 100644 Doc/html/navtree.css create mode 100644 Doc/html/navtree.js create mode 100644 Doc/html/navtreedata.js create mode 100644 Doc/html/navtreeindex0.js create mode 100644 Doc/html/open.png create mode 100644 Doc/html/resize.js create mode 100644 Doc/html/search/all_0.html create mode 100644 Doc/html/search/all_0.js create mode 100644 Doc/html/search/all_1.html create mode 100644 Doc/html/search/all_1.js create mode 100644 Doc/html/search/all_2.html create mode 100644 Doc/html/search/all_2.js create mode 100644 Doc/html/search/all_3.html create mode 100644 Doc/html/search/all_3.js create mode 100644 Doc/html/search/all_4.html create mode 100644 Doc/html/search/all_4.js create mode 100644 Doc/html/search/all_5.html create mode 100644 Doc/html/search/all_5.js create mode 100644 Doc/html/search/all_6.html create mode 100644 Doc/html/search/all_6.js create mode 100644 Doc/html/search/all_7.html create mode 100644 Doc/html/search/all_7.js create mode 100644 Doc/html/search/all_8.html create mode 100644 Doc/html/search/all_8.js create mode 100644 Doc/html/search/all_9.html create mode 100644 Doc/html/search/all_9.js create mode 100644 Doc/html/search/all_a.html create mode 100644 Doc/html/search/all_a.js create mode 100644 Doc/html/search/all_b.html create mode 100644 Doc/html/search/all_b.js create mode 100644 Doc/html/search/all_c.html create mode 100644 Doc/html/search/all_c.js create mode 100644 Doc/html/search/classes_0.html create mode 100644 Doc/html/search/classes_0.js create mode 100644 Doc/html/search/classes_1.html create mode 100644 Doc/html/search/classes_1.js create mode 100644 Doc/html/search/classes_2.html create mode 100644 Doc/html/search/classes_2.js create mode 100644 Doc/html/search/classes_3.html create mode 100644 Doc/html/search/classes_3.js create mode 100644 Doc/html/search/classes_4.html create mode 100644 Doc/html/search/classes_4.js create mode 100644 Doc/html/search/classes_5.html create mode 100644 Doc/html/search/classes_5.js create mode 100644 Doc/html/search/classes_6.html create mode 100644 Doc/html/search/classes_6.js create mode 100644 Doc/html/search/classes_7.html create mode 100644 Doc/html/search/classes_7.js create mode 100644 Doc/html/search/classes_8.html create mode 100644 Doc/html/search/classes_8.js create mode 100644 Doc/html/search/close.png create mode 100644 Doc/html/search/functions_0.html create mode 100644 Doc/html/search/functions_0.js create mode 100644 Doc/html/search/functions_1.html create mode 100644 Doc/html/search/functions_1.js create mode 100644 Doc/html/search/functions_2.html create mode 100644 Doc/html/search/functions_2.js create mode 100644 Doc/html/search/functions_3.html create mode 100644 Doc/html/search/functions_3.js create mode 100644 Doc/html/search/functions_4.html create mode 100644 Doc/html/search/functions_4.js create mode 100644 Doc/html/search/functions_5.html create mode 100644 Doc/html/search/functions_5.js create mode 100644 Doc/html/search/functions_6.html create mode 100644 Doc/html/search/functions_6.js create mode 100644 Doc/html/search/functions_7.html create mode 100644 Doc/html/search/functions_7.js create mode 100644 Doc/html/search/functions_8.html create mode 100644 Doc/html/search/functions_8.js create mode 100644 Doc/html/search/functions_9.html create mode 100644 Doc/html/search/functions_9.js create mode 100644 Doc/html/search/functions_a.html create mode 100644 Doc/html/search/functions_a.js create mode 100644 Doc/html/search/functions_b.html create mode 100644 Doc/html/search/functions_b.js create mode 100644 Doc/html/search/functions_c.html create mode 100644 Doc/html/search/functions_c.js create mode 100644 Doc/html/search/mag_sel.png create mode 100644 Doc/html/search/nomatches.html create mode 100644 Doc/html/search/search.css create mode 100644 Doc/html/search/search.js create mode 100644 Doc/html/search/search_l.png create mode 100644 Doc/html/search/search_m.png create mode 100644 Doc/html/search/search_r.png create mode 100644 Doc/html/search/searchdata.js create mode 100644 Doc/html/splitbar.png create mode 100644 Doc/html/sync_off.png create mode 100644 Doc/html/sync_on.png create mode 100644 Doc/html/tab_a.png create mode 100644 Doc/html/tab_b.png create mode 100644 Doc/html/tab_h.png create mode 100644 Doc/html/tab_s.png create mode 100644 Doc/html/tabs.css create mode 100644 Doc/html/univmontpellierlogo-1449840251.png create mode 100644 Doc/refman.pdf (limited to 'Doc') diff --git a/Doc/html/_fonction_activation_8h_source.html b/Doc/html/_fonction_activation_8h_source.html new file mode 100644 index 0000000..2d1ec62 --- /dev/null +++ b/Doc/html/_fonction_activation_8h_source.html @@ -0,0 +1,126 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Neurone/FonctionActivation.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
FonctionActivation.h
+
+
+
1 #ifndef _FONCTIONACTIVATION_H_
2 #define _FONCTIONACTIVATION_H_
3 #include<math.h>
9 public:
10  typedef enum {
11  IDENTITY,
12  BINARYSTEP,
13  SIGMOID, // : Hyperparameter k
14  TAN,
15  SIN,
16  /* Rectifier */
17  RELU, // Basic : ramp function
18  LRELU, // Leaky function : 0.01
19  PRELU, // Hyperparameter : Hyperparameter k
20  ELU // Exponential and ramp
21  } EnumFonctionActivation;
22 
23 private:
24  EnumFonctionActivation fonctionActivation;
25 
26 public:
28  FonctionActivation(EnumFonctionActivation fonctionActivation);
29 
30  void setFonctionActivation(EnumFonctionActivation fonctionActivation);
31  double getValeurActivation(double sum, double k = 0) const;
32  double getValeurDerivee(double sum, double k = 0) const;
33 };
34 #endif
double getValeurDerivee(double sum, double k=0) const
Definition: FonctionActivation.cpp:74
+
Definition: FonctionActivation.h:8
+
FonctionActivation()
Definition: FonctionActivation.cpp:8
+
double getValeurActivation(double sum, double k=0) const
Definition: FonctionActivation.cpp:34
+
void setFonctionActivation(EnumFonctionActivation fonctionActivation)
Definition: FonctionActivation.cpp:15
+
+
+ + + + diff --git a/Doc/html/_input_layer_8h_source.html b/Doc/html/_input_layer_8h_source.html new file mode 100644 index 0000000..07696ce --- /dev/null +++ b/Doc/html/_input_layer_8h_source.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Layer/InputLayer.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
InputLayer.h
+
+
+
1 #ifndef _INPUTLAYER_H_
2 #define _INPUTLAYER_H_
3 #include "./Layer.h"
4 
5 class InputLayer : public Layer {
6 public:
7  InputLayer(int,FonctionActivation::EnumFonctionActivation fct);
8  std::vector<double> fire(std::vector<double>, double);
9 };
10 #endif
std::vector< double > fire(std::vector< double >, double)
Definition: InputLayer.cpp:23
+
Definition: Layer.h:8
+
InputLayer(int, FonctionActivation::EnumFonctionActivation fct)
Definition: InputLayer.cpp:7
+
Definition: InputLayer.h:5
+
+
+ + + + diff --git a/Doc/html/_layer_8h_source.html b/Doc/html/_layer_8h_source.html new file mode 100644 index 0000000..7eb64e4 --- /dev/null +++ b/Doc/html/_layer_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Layer/Layer.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Layer.h
+
+
+
1 #ifndef _LAYER_H_
2 #define _LAYER_H_
3 #include"../Neurone/Neurone.h"
4 #include"../Neurone/NeuroneB.h"
5 #include "../Neurone/FonctionActivation.h"
6 #include<vector>
7 
8 class Layer {
9 public:
10  enum TypeLayer {
11  INPUT,
12  OUTPUT,
13  HIDDEN
14  };
15 protected:
16  double k;
17  int nbNeurone;
18  std::vector<Neurone *> membres;
19  std::vector<double> input;
20  std::vector<double> output;
21  TypeLayer type;
22 public:
23  Layer();
24  Layer(TypeLayer,int,int,FonctionActivation::EnumFonctionActivation);
25  Neurone * getNeurone(int index);
26  virtual std::vector<double> fire(std::vector<double>, double);
27  int getNbNeurones();
28  std::vector<double> getInput();
29  std::vector<double> getOutput();
30  void printWeight();
31 };
32  #endif
Layer()
Definition: Layer.cpp:7
+
std::vector< double > getInput()
Definition: Layer.cpp:53
+
virtual std::vector< double > fire(std::vector< double >, double)
Definition: Layer.cpp:67
+
Definition: Layer.h:8
+
void printWeight()
Definition: Layer.cpp:36
+
int getNbNeurones()
Definition: Layer.cpp:46
+
Definition: Neurone.h:9
+
Neurone * getNeurone(int index)
Definition: Layer.cpp:29
+
+
+ + + + diff --git a/Doc/html/_neurone_8h_source.html b/Doc/html/_neurone_8h_source.html new file mode 100644 index 0000000..418bd5b --- /dev/null +++ b/Doc/html/_neurone_8h_source.html @@ -0,0 +1,133 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Neurone/Neurone.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Neurone.h
+
+
+
1 #ifndef _NEURONE_H_
2 #define _NEURONE_H_
3 #include<iostream>
4 #include<math.h>
5 #include<vector>
6 #include<random>
7 #include "FonctionActivation.h"
8 
9 class Neurone {
10 protected:
11  std::vector<double> * w;
12  int n;
13  FonctionActivation fonctionActivation;
14 public:
15  Neurone();
16  Neurone(int taille,FonctionActivation::EnumFonctionActivation fct);
17  Neurone(int taille, std::vector<double> * x,FonctionActivation::EnumFonctionActivation fct);
18  virtual double fw_sum(std::vector<double> x)const;
19  double fw_activate(double sum, double k)const;
20  double derive_activate(double sum, double k)const;
21  virtual double fire(std::vector<double> x, double k) const;
22  virtual void learn(std::vector<double> x,double o,double k, double mu);
23  virtual void printWeight();
24  virtual void aleaWeights();
25  std::vector<double> * getWeight();
26  virtual int getNbPoids();
27 };
28 #endif
std::vector< double > * getWeight()
Definition: Neurone.cpp:122
+
double fw_activate(double sum, double k) const
Definition: Neurone.cpp:65
+
Definition: FonctionActivation.h:8
+
virtual void aleaWeights()
Definition: Neurone.cpp:110
+
virtual void learn(std::vector< double > x, double o, double k, double mu)
Definition: Neurone.cpp:87
+
double derive_activate(double sum, double k) const
Definition: Neurone.cpp:75
+
virtual double fw_sum(std::vector< double > x) const
Definition: Neurone.cpp:50
+
virtual int getNbPoids()
Definition: Neurone.cpp:129
+
Definition: Neurone.h:9
+
virtual double fire(std::vector< double > x, double k) const
Definition: Neurone.cpp:40
+
virtual void printWeight()
Definition: Neurone.cpp:100
+
Neurone()
Definition: Neurone.cpp:7
+
+
+ + + + diff --git a/Doc/html/_neurone_b_8h_source.html b/Doc/html/_neurone_b_8h_source.html new file mode 100644 index 0000000..8270b6e --- /dev/null +++ b/Doc/html/_neurone_b_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Neurone/NeuroneB.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NeuroneB.h
+
+
+
1 #ifndef _NEURONEB_H_
2 #define _NEURONEB_H_
3 #include"./Neurone.h"
4 
5 class NeuroneB : public Neurone {
6 public:
7  NeuroneB(int taille,FonctionActivation::EnumFonctionActivation fct); // Poids et biais random
8  NeuroneB(int taille,std::vector<double> * x,double biais_w);
9  void printWeight();
10  void aleaWeights();
11  void learn(std::vector<double> x,double o,double k, double mu);
12  double fw_sum(std::vector<double> x)const;
13  int getNbPoids();
14 };
15 #endif
16 
void printWeight()
Definition: NeuroneB.cpp:30
+
int getNbPoids()
Definition: NeuroneB.cpp:83
+
Definition: NeuroneB.h:5
+
void learn(std::vector< double > x, double o, double k, double mu)
Definition: NeuroneB.cpp:57
+
Definition: Neurone.h:9
+
NeuroneB(int taille, FonctionActivation::EnumFonctionActivation fct)
Definition: NeuroneB.cpp:20
+
double fw_sum(std::vector< double > x) const
Definition: NeuroneB.cpp:73
+
void aleaWeights()
Definition: NeuroneB.cpp:39
+
+
+ + + + diff --git a/Doc/html/_option_8h_source.html b/Doc/html/_option_8h_source.html new file mode 100644 index 0000000..c5f4f20 --- /dev/null +++ b/Doc/html/_option_8h_source.html @@ -0,0 +1,132 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Option/Option.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Option.h
+
+
+
1 #ifndef _OPTION_H_
2 #define _OPTION_H_
3 #include<string>
4 #include"Type.h"
5 class Option {
6  private :
7  int m_id;
8  std::string m_intitul;
9  std::string m_rac;
10  Type m_type;
11  std::string m_description;
12  public :
13  Option();
14  Option(int id, const std::string &intitul, const std::string &m_rac, const Type::TypeEnum type, const std::string &m_description);
15  int getOptionID() const;
16  Type::TypeEnum getOptionType() const;
17  std::string getOptionInt() const;
18  std::string getOptionRac() const;
19  void setOptionType(Type::TypeEnum t);
20  void setOptionInt(std::string &intitul);
21  void setOptionRac(std::string &rac);
22  void print(std::ostream& os) const;
23 };
24 std::ostream& operator<<(std::ostream& os, Option o);
25 #endif
void setOptionRac(std::string &rac)
Definition: Option.cpp:56
+
void setOptionType(Type::TypeEnum t)
Definition: Option.cpp:46
+
std::string getOptionRac() const
Definition: Option.cpp:40
+
void setOptionInt(std::string &intitul)
Definition: Option.cpp:51
+
Definition: Type.h:6
+
Type::TypeEnum getOptionType() const
Definition: Option.cpp:30
+
int getOptionID() const
Definition: Option.cpp:25
+
void print(std::ostream &os) const
Definition: Option.cpp:63
+
Option()
Definition: Option.cpp:10
+
Definition: Option.h:5
+
std::string getOptionInt() const
Definition: Option.cpp:35
+
+
+ + + + diff --git a/Doc/html/_option_tab_8h_source.html b/Doc/html/_option_tab_8h_source.html new file mode 100644 index 0000000..30f7525 --- /dev/null +++ b/Doc/html/_option_tab_8h_source.html @@ -0,0 +1,130 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Option/OptionTab.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
OptionTab.h
+
+
+
1 #ifndef _OPTION_TAB_H_
2 #define _OPTION_TAB_H_
3 #include"Option.h"
4 #include"Type.h"
5 #include<string>
6 class OptionTab {
7  private:
8  Option m_Tab[10];
9  size_t m_nb_options;
10  public:
11  OptionTab();
12  void addOption(const Option &opt);
13  void printOptions() const;
14  int getOptionID(const std::string &opt) const;
15  Type::TypeEnum getArgument(const std::string &opt) const;
16  std::string getRaccour(const std::string &opt) const;
17  std::string getTypeOption(const std::string &opt) const;
18  std::string getIntitul(const std::string &opt) const;
19 };
20 #endif
OptionTab()
Definition: OptionTab.cpp:10
+
Type::TypeEnum getArgument(const std::string &opt) const
Definition: OptionTab.cpp:56
+
void printOptions() const
Definition: OptionTab.cpp:30
+
int getOptionID(const std::string &opt) const
Definition: OptionTab.cpp:40
+
Definition: OptionTab.h:6
+
void addOption(const Option &opt)
Definition: OptionTab.cpp:16
+
Definition: Option.h:5
+
std::string getRaccour(const std::string &opt) const
Definition: OptionTab.cpp:72
+
std::string getIntitul(const std::string &opt) const
Definition: OptionTab.cpp:88
+
+
+ + + + diff --git a/Doc/html/_reseau_8h_source.html b/Doc/html/_reseau_8h_source.html new file mode 100644 index 0000000..35cd2fa --- /dev/null +++ b/Doc/html/_reseau_8h_source.html @@ -0,0 +1,127 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Reseau/Reseau.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Reseau.h
+
+
+
1 #ifndef _RESEAU_H_
2 #define _RESEAU_H_
3 #include<vector>
4 #include"../Neurone/Neurone.h"
5 #include"../Common/fonctions.h"
6 #include"../Layer/InputLayer.h"
7 
8 class Reseau{
9 private:
10  std::vector<double>input;
11  std::vector<double>output;
12  std::vector<std::vector<std::vector<double> > > dsig;
13  std::vector<std::vector<std::vector<double> > > dact;
14  std::vector<std::vector<std::vector<double> > > derrdact;
15  std::vector<Layer*> reseau; //Vector containing all the layers (input/hide/output)
16  double eta;
17  double k;
18  int nbLayers; //indicating the number of layers you want;
19  public:
20  //Contructor
21  Reseau(int,std::vector<int>,double,double,FonctionActivation::EnumFonctionActivation fct); //A Network is a vector composed of Layers
22 
23 
24  //Methods
25  std::vector<double> fire_all(std::vector<double> input);
26  void learn(std::vector<std::vector<std::vector<double> > > jeuxTest, unsigned int nbPasDescenteGradient);
27  void backPropagation(std::vector<double> erreurs);
28  void printWeight();
29 };
30 #endif
void printWeight()
Definition: Reseau.cpp:64
+
std::vector< double > fire_all(std::vector< double > input)
Definition: Reseau.cpp:51
+
void backPropagation(std::vector< double > erreurs)
Definition: Reseau.cpp:105
+
void learn(std::vector< std::vector< std::vector< double > > > jeuxTest, unsigned int nbPasDescenteGradient)
Definition: Reseau.cpp:76
+
Definition: Reseau.h:8
+
Reseau(int, std::vector< int >, double, double, FonctionActivation::EnumFonctionActivation fct)
Definition: Reseau.cpp:13
+
+
+ + + + diff --git a/Doc/html/_settings_8h_source.html b/Doc/html/_settings_8h_source.html new file mode 100644 index 0000000..44da8c3 --- /dev/null +++ b/Doc/html/_settings_8h_source.html @@ -0,0 +1,126 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Settings/Settings.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Settings.h
+
+
+
1 #ifndef SETTINGS_H
2 #define SETTINGS_H
3 #include<vector>
4 
5 class Settings{
6 private:
7  int nbrHiddenLayers;
8  std::vector<int>* archi;
9  std::vector<double>* differentOutputs = new std::vector<double>;
10 public:
11  Settings(char const * fileName);
12  int getNbrHiddenLayers();
13  std::vector<int>* getArchi();
14  std::vector<double>* getDifferentOutputs();
15 
16 };
17 
18 bool exists(double n,std::vector<double>* tab);
19 
20 #endif
std::vector< int > * getArchi()
Definition: Settings.cpp:80
+
Settings(char const *fileName)
Definition: Settings.cpp:13
+
Definition: Settings.h:5
+
int getNbrHiddenLayers()
Definition: Settings.cpp:72
+
std::vector< double > * getDifferentOutputs()
Definition: Settings.cpp:88
+
+
+ + + + diff --git a/Doc/html/_type_8h_source.html b/Doc/html/_type_8h_source.html new file mode 100644 index 0000000..24c6feb --- /dev/null +++ b/Doc/html/_type_8h_source.html @@ -0,0 +1,126 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Option/Type.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Type.h
+
+
+
1 #ifndef _TYPE_H
2 #define _TYPE_H
3 #include<string>
4 #include<iostream>
5 
6 class Type {
7 public:
8  enum TypeEnum {
9  NONE,
10  INT,
11  FLOAT,
12  STRING
13  };
14  private :
15  Type::TypeEnum m_type;
16  public :
17  Type();
18  Type(Type::TypeEnum type);
19  void print(std::ostream& os) const;
20  void setType(Type::TypeEnum type);
21  Type::TypeEnum getType() const;
22 };
23 std::ostream& operator<<(std::ostream& os, Type t);
24 #endif
Type()
Definition: Type.cpp:8
+
void setType(Type::TypeEnum type)
Definition: Type.cpp:48
+
void print(std::ostream &os) const
Definition: Type.cpp:24
+
Definition: Type.h:6
+
Type::TypeEnum getType() const
Definition: Type.cpp:56
+
+
+ + + + diff --git a/Doc/html/annotated.html b/Doc/html/annotated.html new file mode 100644 index 0000000..a74d728 --- /dev/null +++ b/Doc/html/annotated.html @@ -0,0 +1,142 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Class List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 12]
+ + + + + + + + + + + + + + + +
 NArchi
 CDrawNN
 CLayer
 CNeuralNetwork
 CNeuron
 CFonctionActivation
 CInputLayer
 CLayer
 CNeurone
 CNeuroneB
 COption
 COptionTab
 CReseau
 CSettings
 CType
+
+
+
+ + + + diff --git a/Doc/html/annotated_dup.js b/Doc/html/annotated_dup.js new file mode 100644 index 0000000..8734603 --- /dev/null +++ b/Doc/html/annotated_dup.js @@ -0,0 +1,19 @@ +var annotated_dup = +[ + [ "Archi", null, [ + [ "DrawNN", "class_archi_1_1_draw_n_n.html", "class_archi_1_1_draw_n_n" ], + [ "Layer", "class_archi_1_1_layer.html", "class_archi_1_1_layer" ], + [ "NeuralNetwork", "class_archi_1_1_neural_network.html", "class_archi_1_1_neural_network" ], + [ "Neuron", "class_archi_1_1_neuron.html", "class_archi_1_1_neuron" ] + ] ], + [ "FonctionActivation", "class_fonction_activation.html", "class_fonction_activation" ], + [ "InputLayer", "class_input_layer.html", "class_input_layer" ], + [ "Layer", "class_layer.html", "class_layer" ], + [ "Neurone", "class_neurone.html", "class_neurone" ], + [ "NeuroneB", "class_neurone_b.html", "class_neurone_b" ], + [ "Option", "class_option.html", "class_option" ], + [ "OptionTab", "class_option_tab.html", "class_option_tab" ], + [ "Reseau", "class_reseau.html", "class_reseau" ], + [ "Settings", "class_settings.html", "class_settings" ], + [ "Type", "class_type.html", "class_type" ] +]; \ No newline at end of file diff --git a/Doc/html/arrowdown.png b/Doc/html/arrowdown.png new file mode 100644 index 0000000..0b63f6d Binary files /dev/null and b/Doc/html/arrowdown.png differ diff --git a/Doc/html/arrowright.png b/Doc/html/arrowright.png new file mode 100644 index 0000000..c6ee22f Binary files /dev/null and b/Doc/html/arrowright.png differ diff --git a/Doc/html/bc_s.png b/Doc/html/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/Doc/html/bc_s.png differ diff --git a/Doc/html/bdwn.png b/Doc/html/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/Doc/html/bdwn.png differ diff --git a/Doc/html/class_archi_1_1_draw_n_n-members.html b/Doc/html/class_archi_1_1_draw_n_n-members.html new file mode 100644 index 0000000..a85da15 --- /dev/null +++ b/Doc/html/class_archi_1_1_draw_n_n-members.html @@ -0,0 +1,129 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Archi.DrawNN Member List
+
+
+ +

This is the complete list of members for Archi.DrawNN, including all inherited members.

+ + + + +
__init__(self, neural_network) (defined in Archi.DrawNN)Archi.DrawNN
draw(self) (defined in Archi.DrawNN)Archi.DrawNN
neural_network (defined in Archi.DrawNN)Archi.DrawNN
+
+ + + + diff --git a/Doc/html/class_archi_1_1_draw_n_n.html b/Doc/html/class_archi_1_1_draw_n_n.html new file mode 100644 index 0000000..8e44a2b --- /dev/null +++ b/Doc/html/class_archi_1_1_draw_n_n.html @@ -0,0 +1,147 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Archi.DrawNN Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Archi.DrawNN Class Reference
+
+
+ + + + + + +

+Public Member Functions

+def __init__ (self, neural_network)
 
+def draw (self)
 
+ + + +

+Public Attributes

neural_network
 
+
The documentation for this class was generated from the following file:
    +
  • Archi.py
  • +
+
+
+ + + + diff --git a/Doc/html/class_archi_1_1_draw_n_n.js b/Doc/html/class_archi_1_1_draw_n_n.js new file mode 100644 index 0000000..64287ad --- /dev/null +++ b/Doc/html/class_archi_1_1_draw_n_n.js @@ -0,0 +1,6 @@ +var class_archi_1_1_draw_n_n = +[ + [ "__init__", "class_archi_1_1_draw_n_n.html#aac9beaeb3a15e8c8ab8f2913fc47d303", null ], + [ "draw", "class_archi_1_1_draw_n_n.html#aa7a4b86debbf21803d54854ee3c5f719", null ], + [ "neural_network", "class_archi_1_1_draw_n_n.html#a609ab385f7b1942562340006668a3d0d", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_archi_1_1_layer-members.html b/Doc/html/class_archi_1_1_layer-members.html new file mode 100644 index 0000000..dbda0d1 --- /dev/null +++ b/Doc/html/class_archi_1_1_layer-members.html @@ -0,0 +1,135 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Archi.Layer Member List
+
+
+ +

This is the complete list of members for Archi.Layer, including all inherited members.

+ + + + + + + + + + +
__init__(self, network, number_of_neurons, number_of_neurons_in_widest_layer) (defined in Archi.Layer)Archi.Layer
draw(self, layerType=0) (defined in Archi.Layer)Archi.Layer
horizontal_distance_between_neurons (defined in Archi.Layer)Archi.Layer
neuron_radius (defined in Archi.Layer)Archi.Layer
neurons (defined in Archi.Layer)Archi.Layer
number_of_neurons_in_widest_layer (defined in Archi.Layer)Archi.Layer
previous_layer (defined in Archi.Layer)Archi.Layer
vertical_distance_between_layers (defined in Archi.Layer)Archi.Layer
y (defined in Archi.Layer)Archi.Layer
+
+ + + + diff --git a/Doc/html/class_archi_1_1_layer.html b/Doc/html/class_archi_1_1_layer.html new file mode 100644 index 0000000..31ab4fb --- /dev/null +++ b/Doc/html/class_archi_1_1_layer.html @@ -0,0 +1,165 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Archi.Layer Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Archi.Layer Class Reference
+
+
+ + + + + + +

+Public Member Functions

+def __init__ (self, network, number_of_neurons, number_of_neurons_in_widest_layer)
 
+def draw (self, layerType=0)
 
+ + + + + + + + + + + + + + + +

+Public Attributes

vertical_distance_between_layers
 
horizontal_distance_between_neurons
 
neuron_radius
 
number_of_neurons_in_widest_layer
 
previous_layer
 
y
 
neurons
 
+
The documentation for this class was generated from the following file:
    +
  • Archi.py
  • +
+
+
+ + + + diff --git a/Doc/html/class_archi_1_1_layer.js b/Doc/html/class_archi_1_1_layer.js new file mode 100644 index 0000000..2348239 --- /dev/null +++ b/Doc/html/class_archi_1_1_layer.js @@ -0,0 +1,12 @@ +var class_archi_1_1_layer = +[ + [ "__init__", "class_archi_1_1_layer.html#a3f7e74fdbb4bfc8a0bfd17ec914f187b", null ], + [ "draw", "class_archi_1_1_layer.html#a0d790374e20711f11aabf78d81026641", null ], + [ "horizontal_distance_between_neurons", "class_archi_1_1_layer.html#a49a535ad69d6d35cc627095caad4601c", null ], + [ "neuron_radius", "class_archi_1_1_layer.html#a04128c51cd6602776bd0c730758c365e", null ], + [ "neurons", "class_archi_1_1_layer.html#a0711d42adcebfa2e1406b980813584c1", null ], + [ "number_of_neurons_in_widest_layer", "class_archi_1_1_layer.html#ab9489bd8da77970fcf6b383e0f8ba555", null ], + [ "previous_layer", "class_archi_1_1_layer.html#a4b10f063d5c5b618e660eb9dc6d8fd62", null ], + [ "vertical_distance_between_layers", "class_archi_1_1_layer.html#a6dca694a4f6a5bb327281dff27cab26d", null ], + [ "y", "class_archi_1_1_layer.html#a0bc17defa818ca4ff3a38f28211be193", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_archi_1_1_neural_network-members.html b/Doc/html/class_archi_1_1_neural_network-members.html new file mode 100644 index 0000000..f7a77cb --- /dev/null +++ b/Doc/html/class_archi_1_1_neural_network-members.html @@ -0,0 +1,132 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Archi.NeuralNetwork Member List
+
+
+ +

This is the complete list of members for Archi.NeuralNetwork, including all inherited members.

+ + + + + + + +
__init__(self, number_of_neurons_in_widest_layer) (defined in Archi.NeuralNetwork)Archi.NeuralNetwork
add_layer(self, number_of_neurons) (defined in Archi.NeuralNetwork)Archi.NeuralNetwork
draw(self) (defined in Archi.NeuralNetwork)Archi.NeuralNetwork
layers (defined in Archi.NeuralNetwork)Archi.NeuralNetwork
layertype (defined in Archi.NeuralNetwork)Archi.NeuralNetwork
number_of_neurons_in_widest_layer (defined in Archi.NeuralNetwork)Archi.NeuralNetwork
+
+ + + + diff --git a/Doc/html/class_archi_1_1_neural_network.html b/Doc/html/class_archi_1_1_neural_network.html new file mode 100644 index 0000000..af9ea85 --- /dev/null +++ b/Doc/html/class_archi_1_1_neural_network.html @@ -0,0 +1,156 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Archi.NeuralNetwork Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Archi.NeuralNetwork Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+def __init__ (self, number_of_neurons_in_widest_layer)
 
+def add_layer (self, number_of_neurons)
 
+def draw (self)
 
+ + + + + + + +

+Public Attributes

number_of_neurons_in_widest_layer
 
layers
 
layertype
 
+
The documentation for this class was generated from the following file:
    +
  • Archi.py
  • +
+
+
+ + + + diff --git a/Doc/html/class_archi_1_1_neural_network.js b/Doc/html/class_archi_1_1_neural_network.js new file mode 100644 index 0000000..45cf2ed --- /dev/null +++ b/Doc/html/class_archi_1_1_neural_network.js @@ -0,0 +1,9 @@ +var class_archi_1_1_neural_network = +[ + [ "__init__", "class_archi_1_1_neural_network.html#a620ca092bf41c366034dcf84d10d561a", null ], + [ "add_layer", "class_archi_1_1_neural_network.html#a539f6a4706b9382fdfd352eb7a4c6edc", null ], + [ "draw", "class_archi_1_1_neural_network.html#afb1900868f1bab0592e3f42ffc880a58", null ], + [ "layers", "class_archi_1_1_neural_network.html#a96ee0d114dbc8aee1fb238178d387992", null ], + [ "layertype", "class_archi_1_1_neural_network.html#ab8513d304e7aaa9ebf7ee3e0ff19a9bd", null ], + [ "number_of_neurons_in_widest_layer", "class_archi_1_1_neural_network.html#a9bc44cf7b3b9534ec0600a71f72450f7", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_archi_1_1_neuron-members.html b/Doc/html/class_archi_1_1_neuron-members.html new file mode 100644 index 0000000..b75b723 --- /dev/null +++ b/Doc/html/class_archi_1_1_neuron-members.html @@ -0,0 +1,130 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Archi.Neuron Member List
+
+
+ +

This is the complete list of members for Archi.Neuron, including all inherited members.

+ + + + + +
__init__(self, x, y) (defined in Archi.Neuron)Archi.Neuron
draw(self, neuron_radius) (defined in Archi.Neuron)Archi.Neuron
x (defined in Archi.Neuron)Archi.Neuron
y (defined in Archi.Neuron)Archi.Neuron
+
+ + + + diff --git a/Doc/html/class_archi_1_1_neuron.html b/Doc/html/class_archi_1_1_neuron.html new file mode 100644 index 0000000..3e22d48 --- /dev/null +++ b/Doc/html/class_archi_1_1_neuron.html @@ -0,0 +1,150 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Archi.Neuron Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Archi.Neuron Class Reference
+
+
+ + + + + + +

+Public Member Functions

+def __init__ (self, x, y)
 
+def draw (self, neuron_radius)
 
+ + + + + +

+Public Attributes

x
 
y
 
+
The documentation for this class was generated from the following file:
    +
  • Archi.py
  • +
+
+
+ + + + diff --git a/Doc/html/class_archi_1_1_neuron.js b/Doc/html/class_archi_1_1_neuron.js new file mode 100644 index 0000000..e3b75f5 --- /dev/null +++ b/Doc/html/class_archi_1_1_neuron.js @@ -0,0 +1,7 @@ +var class_archi_1_1_neuron = +[ + [ "__init__", "class_archi_1_1_neuron.html#a1941e9e4aae4e59b31969104c88bace6", null ], + [ "draw", "class_archi_1_1_neuron.html#af724a5728ed5135f977b6eda789e4fe0", null ], + [ "x", "class_archi_1_1_neuron.html#acb742a72e714c2ef506e7f39994b9584", null ], + [ "y", "class_archi_1_1_neuron.html#a6cee8267f681e9a3de73b492a5f7d900", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_fonction_activation-members.html b/Doc/html/class_fonction_activation-members.html new file mode 100644 index 0000000..091eee9 --- /dev/null +++ b/Doc/html/class_fonction_activation-members.html @@ -0,0 +1,141 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
FonctionActivation Member List
+
+
+ +

This is the complete list of members for FonctionActivation, including all inherited members.

+ + + + + + + + + + + + + + + + +
BINARYSTEP enum value (defined in FonctionActivation)FonctionActivation
ELU enum value (defined in FonctionActivation)FonctionActivation
EnumFonctionActivation enum name (defined in FonctionActivation)FonctionActivation
FonctionActivation()FonctionActivation
FonctionActivation(EnumFonctionActivation fonctionActivation)FonctionActivation
getValeurActivation(double sum, double k=0) const FonctionActivation
getValeurDerivee(double sum, double k=0) const FonctionActivation
IDENTITY enum value (defined in FonctionActivation)FonctionActivation
LRELU enum value (defined in FonctionActivation)FonctionActivation
PRELU enum value (defined in FonctionActivation)FonctionActivation
RELU enum value (defined in FonctionActivation)FonctionActivation
setFonctionActivation(EnumFonctionActivation fonctionActivation)FonctionActivation
SIGMOID enum value (defined in FonctionActivation)FonctionActivation
SIN enum value (defined in FonctionActivation)FonctionActivation
TAN enum value (defined in FonctionActivation)FonctionActivation
+
+ + + + diff --git a/Doc/html/class_fonction_activation.html b/Doc/html/class_fonction_activation.html new file mode 100644 index 0000000..7ea1e7c --- /dev/null +++ b/Doc/html/class_fonction_activation.html @@ -0,0 +1,303 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: FonctionActivation Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
FonctionActivation Class Reference
+
+
+ +

#include <FonctionActivation.h>

+ + + + +

+Public Types

enum  EnumFonctionActivation {
+  IDENTITY, +BINARYSTEP, +SIGMOID, +TAN, +
+  SIN, +RELU, +LRELU, +PRELU, +
+  ELU +
+ }
 
+ + + + + + + + + + + +

+Public Member Functions

 FonctionActivation ()
 
 FonctionActivation (EnumFonctionActivation fonctionActivation)
 
void setFonctionActivation (EnumFonctionActivation fonctionActivation)
 
double getValeurActivation (double sum, double k=0) const
 
double getValeurDerivee (double sum, double k=0) const
 
+

Detailed Description

+

L'objectif ce cette classe et d'être appeller pour l'activation et donc changer plus facilement la fonction d'activation pour le test.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
FonctionActivation::FonctionActivation ()
+
+

Constructeur par défauts FonctionActivation

Parameters
+ + +
fonctionActivationFonction activation à utiliser parmis l'enumération
+
+
+ +
+
+ +
+
+ + + + + + + + +
FonctionActivation::FonctionActivation (EnumFonctionActivation fonctionActivation)
+
+

Constructeur FonctionActivation

Parameters
+ + +
fonctionActivationFonction activation à utiliser parmis l'enumération
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
double FonctionActivation::getValeurActivation (double x,
double k = 0 
) const
+
+

getValeurActivation

Parameters
+ + + +
xValeur de la variable
kConstante de changement
+
+
+
Returns
Valeur d'activation
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
double FonctionActivation::getValeurDerivee (double x,
double k = 0 
) const
+
+

getValeurDerive

Parameters
+ + + +
xValeur de la variable
kConstante de changement
+
+
+
Returns
Valeur de la derivée
+ +
+
+ +
+
+ + + + + + + + +
void FonctionActivation::setFonctionActivation (EnumFonctionActivation fonctionActivation)
+
+

FonctionActivation::setFonctionActivation

Parameters
+ + +
fonctionActivationFonction activation à utiliser parmis l'enumération
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_fonction_activation.js b/Doc/html/class_fonction_activation.js new file mode 100644 index 0000000..176cf0c --- /dev/null +++ b/Doc/html/class_fonction_activation.js @@ -0,0 +1,19 @@ +var class_fonction_activation = +[ + [ "EnumFonctionActivation", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6", [ + [ "IDENTITY", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a0ad5d0c952dc87cbf049bc1bad4cc845", null ], + [ "BINARYSTEP", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a7455c7230e80a417fb51e7e27229743a", null ], + [ "SIGMOID", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a11baab68068052ff95b538a1574ba6ed", null ], + [ "TAN", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a43962aca9098edc1fdfc45d313f00418", null ], + [ "SIN", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a68108214058d4b57086380ea28a6a5cd", null ], + [ "RELU", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a39ad24316d125bbaa5e9140a6f9cd9cd", null ], + [ "LRELU", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a6bf37ae2727f59bb10ca0f802f190fc5", null ], + [ "PRELU", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6a1319ad31eb5cac89f9600d02e470d257", null ], + [ "ELU", "class_fonction_activation.html#a4d2ec5811df6feff35d0cd269d2b1ac6af46da3ecdd952663bb8ce3586cf641e9", null ] + ] ], + [ "FonctionActivation", "class_fonction_activation.html#a177013d24531dd8438b1ac95809325e9", null ], + [ "FonctionActivation", "class_fonction_activation.html#a9fec71bcbae25272c04da59bb4995516", null ], + [ "getValeurActivation", "class_fonction_activation.html#a3dde7b01c5b182596d71b859c702cfe5", null ], + [ "getValeurDerivee", "class_fonction_activation.html#a1505e15bf464c536d34c9934b71af8e6", null ], + [ "setFonctionActivation", "class_fonction_activation.html#a49d599d75471b884fa3ecf2c4a1259c6", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_input_layer-members.html b/Doc/html/class_input_layer-members.html new file mode 100644 index 0000000..a8a69ab --- /dev/null +++ b/Doc/html/class_input_layer-members.html @@ -0,0 +1,145 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
InputLayer Member List
+
+
+ +

This is the complete list of members for InputLayer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
fire(std::vector< double >, double)InputLayervirtual
getInput()Layer
getNbNeurones()Layer
getNeurone(int index)Layer
getOutput() (defined in Layer)Layer
HIDDEN enum value (defined in Layer)Layer
INPUT enum value (defined in Layer)Layer
input (defined in Layer)Layerprotected
InputLayer(int, FonctionActivation::EnumFonctionActivation fct)InputLayer
k (defined in Layer)Layerprotected
Layer()Layer
Layer(TypeLayer, int, int, FonctionActivation::EnumFonctionActivation)Layer
membres (defined in Layer)Layerprotected
nbNeurone (defined in Layer)Layerprotected
OUTPUT enum value (defined in Layer)Layer
output (defined in Layer)Layerprotected
printWeight()Layer
type (defined in Layer)Layerprotected
TypeLayer enum name (defined in Layer)Layer
+
+ + + + diff --git a/Doc/html/class_input_layer.html b/Doc/html/class_input_layer.html new file mode 100644 index 0000000..aba3a9b --- /dev/null +++ b/Doc/html/class_input_layer.html @@ -0,0 +1,277 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: InputLayer Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
InputLayer Class Reference
+
+
+
+Inheritance diagram for InputLayer:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for InputLayer:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 InputLayer (int, FonctionActivation::EnumFonctionActivation fct)
 
std::vector< double > fire (std::vector< double >, double)
 
- Public Member Functions inherited from Layer
 Layer ()
 
 Layer (TypeLayer, int, int, FonctionActivation::EnumFonctionActivation)
 
NeuronegetNeurone (int index)
 
int getNbNeurones ()
 
std::vector< double > getInput ()
 
+std::vector< double > getOutput ()
 
void printWeight ()
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Layer
enum  TypeLayer { INPUT, +OUTPUT, +HIDDEN + }
 
- Protected Attributes inherited from Layer
+double k
 
+int nbNeurone
 
+std::vector< Neurone * > membres
 
+std::vector< double > input
 
+std::vector< double > output
 
+TypeLayer type
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
InputLayer::InputLayer (int taille,
FonctionActivation::EnumFonctionActivation fct 
)
+
+

Constructeur par taille InputLayer::InputLayer

Parameters
+ + +
tailleNombre de neurones dans le layer
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::vector< double > InputLayer::fire (std::vector< double > input,
double k 
)
+
+virtual
+
+

Méthode de propagation en avant InputLayer::fire

Parameters
+ + + +
inputVecteur en entrées
kCoefficient de sigmoid
+
+
+
Returns
Valeur d'activation
+ +

Reimplemented from Layer.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_input_layer.js b/Doc/html/class_input_layer.js new file mode 100644 index 0000000..2a6cfb9 --- /dev/null +++ b/Doc/html/class_input_layer.js @@ -0,0 +1,5 @@ +var class_input_layer = +[ + [ "InputLayer", "class_input_layer.html#a29b22da3a39594cb992b8a29684c3cc0", null ], + [ "fire", "class_input_layer.html#a571695e3a371e4093f26f3e6acd9833a", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_input_layer__coll__graph.map b/Doc/html/class_input_layer__coll__graph.map new file mode 100644 index 0000000..7cbcbf6 --- /dev/null +++ b/Doc/html/class_input_layer__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/class_input_layer__coll__graph.md5 b/Doc/html/class_input_layer__coll__graph.md5 new file mode 100644 index 0000000..a0b37b3 --- /dev/null +++ b/Doc/html/class_input_layer__coll__graph.md5 @@ -0,0 +1 @@ +0bc951ceec75f51969e1154714c97b4a \ No newline at end of file diff --git a/Doc/html/class_input_layer__coll__graph.png b/Doc/html/class_input_layer__coll__graph.png new file mode 100644 index 0000000..40ba94c Binary files /dev/null and b/Doc/html/class_input_layer__coll__graph.png differ diff --git a/Doc/html/class_input_layer__inherit__graph.map b/Doc/html/class_input_layer__inherit__graph.map new file mode 100644 index 0000000..7cbcbf6 --- /dev/null +++ b/Doc/html/class_input_layer__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/class_input_layer__inherit__graph.md5 b/Doc/html/class_input_layer__inherit__graph.md5 new file mode 100644 index 0000000..a0b37b3 --- /dev/null +++ b/Doc/html/class_input_layer__inherit__graph.md5 @@ -0,0 +1 @@ +0bc951ceec75f51969e1154714c97b4a \ No newline at end of file diff --git a/Doc/html/class_input_layer__inherit__graph.png b/Doc/html/class_input_layer__inherit__graph.png new file mode 100644 index 0000000..40ba94c Binary files /dev/null and b/Doc/html/class_input_layer__inherit__graph.png differ diff --git a/Doc/html/class_layer-members.html b/Doc/html/class_layer-members.html new file mode 100644 index 0000000..600c251 --- /dev/null +++ b/Doc/html/class_layer-members.html @@ -0,0 +1,144 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Layer Member List
+
+
+ +

This is the complete list of members for Layer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
fire(std::vector< double >, double)Layervirtual
getInput()Layer
getNbNeurones()Layer
getNeurone(int index)Layer
getOutput() (defined in Layer)Layer
HIDDEN enum value (defined in Layer)Layer
input (defined in Layer)Layerprotected
INPUT enum value (defined in Layer)Layer
k (defined in Layer)Layerprotected
Layer()Layer
Layer(TypeLayer, int, int, FonctionActivation::EnumFonctionActivation)Layer
membres (defined in Layer)Layerprotected
nbNeurone (defined in Layer)Layerprotected
OUTPUT enum value (defined in Layer)Layer
output (defined in Layer)Layerprotected
printWeight()Layer
type (defined in Layer)Layerprotected
TypeLayer enum name (defined in Layer)Layer
+
+ + + + diff --git a/Doc/html/class_layer.html b/Doc/html/class_layer.html new file mode 100644 index 0000000..37ad40b --- /dev/null +++ b/Doc/html/class_layer.html @@ -0,0 +1,370 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Layer Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
+Inheritance diagram for Layer:
+
+
Inheritance graph
+ + + +
[legend]
+ + + + +

+Public Types

enum  TypeLayer { INPUT, +OUTPUT, +HIDDEN + }
 
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 Layer ()
 
 Layer (TypeLayer, int, int, FonctionActivation::EnumFonctionActivation)
 
NeuronegetNeurone (int index)
 
virtual std::vector< double > fire (std::vector< double >, double)
 
int getNbNeurones ()
 
std::vector< double > getInput ()
 
+std::vector< double > getOutput ()
 
void printWeight ()
 
+ + + + + + + + + + + + + +

+Protected Attributes

+double k
 
+int nbNeurone
 
+std::vector< Neurone * > membres
 
+std::vector< double > input
 
+std::vector< double > output
 
+TypeLayer type
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
Layer::Layer ()
+
+

Constructeur par défauts Layer::Layer

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Layer::Layer (TypeLayer type,
int nbneur,
int nbinput,
FonctionActivation::EnumFonctionActivation fct 
)
+
+

Constructeur avec arguments Layer::Layer

Parameters
+ + + + +
typeType de layer
nbneurNombre de neurone
nbinputNombre d'entrée par neurone
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::vector< double > Layer::fire (std::vector< double > input,
double k 
)
+
+virtual
+
+

Propagation en avant Layer::fire

Parameters
+ + + +
inputVecteur en entrées
kCoefficient de sigmoid
+
+
+
Returns
Vecteur des valeurs d'activations
+ +

Reimplemented in InputLayer.

+ +
+
+ +
+
+ + + + + + + +
std::vector< double > Layer::getInput ()
+
+

Layer::getInput

Returns
Retourne le vecteur d'entrées
+ +
+
+ +
+
+ + + + + + + +
int Layer::getNbNeurones ()
+
+

Layer::getNbNeurones

Returns
Nombre de neurones
+ +
+
+ +
+
+ + + + + + + + +
Neurone * Layer::getNeurone (int index)
+
+

Layer::getNeurone

Parameters
+ + +
indexindex
+
+
+
Returns
Neurone
+ +
+
+ +
+
+ + + + + + + +
void Layer::printWeight ()
+
+

Affiche les poids Layer::printWeight

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_layer.js b/Doc/html/class_layer.js new file mode 100644 index 0000000..bf7c3f1 --- /dev/null +++ b/Doc/html/class_layer.js @@ -0,0 +1,22 @@ +var class_layer = +[ + [ "TypeLayer", "class_layer.html#a60fc2264388440411ca66bea76f9cadb", [ + [ "INPUT", "class_layer.html#a60fc2264388440411ca66bea76f9cadba53463e51126836fd1e3ead663ce51b03", null ], + [ "OUTPUT", "class_layer.html#a60fc2264388440411ca66bea76f9cadbae8b48805e1372e8d76005b07bdf33638", null ], + [ "HIDDEN", "class_layer.html#a60fc2264388440411ca66bea76f9cadbaf6a68d43fefd77018cf11ac5680b307e", null ] + ] ], + [ "Layer", "class_layer.html#a8f623c7c4737dc29ecc86978d243ac6f", null ], + [ "Layer", "class_layer.html#a6c73fec92babd1c1daa087c9bd75a3da", null ], + [ "fire", "class_layer.html#a47f7a0defe3485a1355249a4db62c8a1", null ], + [ "getInput", "class_layer.html#aacf5f78bee474a8b95f22b71957ae8f4", null ], + [ "getNbNeurones", "class_layer.html#afa5e2d965f52577f5ac9332f91135abd", null ], + [ "getNeurone", "class_layer.html#a1952f73028e06428dba8ce544c8bbaff", null ], + [ "getOutput", "class_layer.html#a8b74c9827aab98a4f82714fdf5fb708e", null ], + [ "printWeight", "class_layer.html#a0d62c7c52893dc81f32e28416f987de1", null ], + [ "input", "class_layer.html#a2c33c8f1a53c938db82447c6c1352f8d", null ], + [ "k", "class_layer.html#aa10919f39bf0be362766c3b423c7f5cb", null ], + [ "membres", "class_layer.html#a79c45a422d89fe27f5ef2290a911c7d6", null ], + [ "nbNeurone", "class_layer.html#aff01f6d5312cbce65641e68c024c73cd", null ], + [ "output", "class_layer.html#ab1edbcde46aaeca20fb55af6b4fcaed0", null ], + [ "type", "class_layer.html#ad6caafb111ec7a5ead08e4e694d10f41", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_layer__inherit__graph.map b/Doc/html/class_layer__inherit__graph.map new file mode 100644 index 0000000..cc29b55 --- /dev/null +++ b/Doc/html/class_layer__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/class_layer__inherit__graph.md5 b/Doc/html/class_layer__inherit__graph.md5 new file mode 100644 index 0000000..8543ca6 --- /dev/null +++ b/Doc/html/class_layer__inherit__graph.md5 @@ -0,0 +1 @@ +e0fcaad06ff61c54088b07b7096c502e \ No newline at end of file diff --git a/Doc/html/class_layer__inherit__graph.png b/Doc/html/class_layer__inherit__graph.png new file mode 100644 index 0000000..8f0554c Binary files /dev/null and b/Doc/html/class_layer__inherit__graph.png differ diff --git a/Doc/html/class_neurone-members.html b/Doc/html/class_neurone-members.html new file mode 100644 index 0000000..e563066 --- /dev/null +++ b/Doc/html/class_neurone-members.html @@ -0,0 +1,141 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Neurone Member List
+
+
+ +

This is the complete list of members for Neurone, including all inherited members.

+ + + + + + + + + + + + + + + + +
aleaWeights()Neuronevirtual
derive_activate(double sum, double k) const Neurone
fire(std::vector< double > x, double k) const Neuronevirtual
fonctionActivation (defined in Neurone)Neuroneprotected
fw_activate(double sum, double k) const Neurone
fw_sum(std::vector< double > x) const Neuronevirtual
getNbPoids()Neuronevirtual
getWeight()Neurone
learn(std::vector< double > x, double o, double k, double mu)Neuronevirtual
n (defined in Neurone)Neuroneprotected
Neurone()Neurone
Neurone(int taille, FonctionActivation::EnumFonctionActivation fct)Neurone
Neurone(int taille, std::vector< double > *x, FonctionActivation::EnumFonctionActivation fct)Neurone
printWeight()Neuronevirtual
w (defined in Neurone)Neuroneprotected
+
+ + + + diff --git a/Doc/html/class_neurone.html b/Doc/html/class_neurone.html new file mode 100644 index 0000000..32a1361 --- /dev/null +++ b/Doc/html/class_neurone.html @@ -0,0 +1,572 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Neurone Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
+Inheritance diagram for Neurone:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for Neurone:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Neurone ()
 
 Neurone (int taille, FonctionActivation::EnumFonctionActivation fct)
 
 Neurone (int taille, std::vector< double > *x, FonctionActivation::EnumFonctionActivation fct)
 
virtual double fw_sum (std::vector< double > x) const
 
double fw_activate (double sum, double k) const
 
double derive_activate (double sum, double k) const
 
virtual double fire (std::vector< double > x, double k) const
 
virtual void learn (std::vector< double > x, double o, double k, double mu)
 
virtual void printWeight ()
 
virtual void aleaWeights ()
 
std::vector< double > * getWeight ()
 
virtual int getNbPoids ()
 
+ + + + + + + +

+Protected Attributes

+std::vector< double > * w
 
+int n
 
+FonctionActivation fonctionActivation
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
Neurone::Neurone ()
+
+

Constructeur par defauts Neurone::Neurone

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Neurone::Neurone (int n,
FonctionActivation::EnumFonctionActivation fct 
)
+
+

Constructeur par nombre d'entrées Neurone::Neurone

Parameters
+ + + +
nNombre d'entrées
nFonction d'Activation
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Neurone::Neurone (int n,
std::vector< double > * x,
FonctionActivation::EnumFonctionActivation fct 
)
+
+

Constructeur par arguments Neurone::Neurone

Parameters
+ + + +
tailleNombre d'entrées
xVecteur de poids
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void Neurone::aleaWeights ()
+
+virtual
+
+

Méthode de génération de poids aléatoire selon une loi normale centrée réduite Neurone::aleaWeights

+ +

Reimplemented in NeuroneB.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
double Neurone::derive_activate (double sum,
double k 
) const
+
+

Méthode de dérivation Neurone::derive_activate

Parameters
+ + + +
sumValeur de la somme du vecteur (cf Neurone::fw_sum)
kValeur du coefficient de sigmoid k
+
+
+
Returns
Valeur de dérivation
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
double Neurone::fire (std::vector< double > in,
double k 
) const
+
+virtual
+
+

Méthode de propagation en avant Neurone::fire

Parameters
+ + + +
inVecteur d'entrées
kCoefficient de sigmoid k
+
+
+
Returns
Valeur d'activation
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
double Neurone::fw_activate (double sum,
double k 
) const
+
+

Méthode d'activation Neurone::fw_activate

Parameters
+ + + +
sumValeur de la somme du vecteur (cf Neurone::fw_sum)
kValeur du biais
+
+
+
Returns
Valeur d'activation
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
double Neurone::fw_sum (std::vector< double > x) const
+
+virtual
+
+

Méthode de somme des valeurs du vecteur Neurone::fw_sum

Parameters
+ + +
xVecteur
+
+
+
Returns
Somme
+ +

Reimplemented in NeuroneB.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int Neurone::getNbPoids ()
+
+virtual
+
+

Neurone::getNbPoids

Returns
Nombre de poids
+ +

Reimplemented in NeuroneB.

+ +
+
+ +
+
+ + + + + + + +
std::vector< double > * Neurone::getWeight ()
+
+

Neurone::getWeight

Returns
Vecteur de poids
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Neurone::learn (std::vector< double > x,
double o,
double k,
double mu 
)
+
+virtual
+
+

Méthode d'apprentissage (cf Neurone::fw_sum, cf Neurone::fw_activate, cf Neurone::derive_activate) Neurone::learn

Parameters
+ + + + + +
xVecteur de poids
oValeur attendue
kValeur de l'hyperparamètre
muTaux d'apprentissage | Learning rate
+
+
+ +

Reimplemented in NeuroneB.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void Neurone::printWeight ()
+
+virtual
+
+

Affichage des poids Neurone::printWeight

+ +

Reimplemented in NeuroneB.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_neurone.js b/Doc/html/class_neurone.js new file mode 100644 index 0000000..f7120e1 --- /dev/null +++ b/Doc/html/class_neurone.js @@ -0,0 +1,18 @@ +var class_neurone = +[ + [ "Neurone", "class_neurone.html#aaf4eaa15b62d4767ae4f523eb8b13b4a", null ], + [ "Neurone", "class_neurone.html#a3a392864ec0bf3ddc3a227c1233d2d15", null ], + [ "Neurone", "class_neurone.html#a867075d177154c04f0616ba7d165ab5e", null ], + [ "aleaWeights", "class_neurone.html#a2afac406368d1b2dbeb407c2da5ec3e4", null ], + [ "derive_activate", "class_neurone.html#a86ae71dc89e5ee954e28f97dc3832d1a", null ], + [ "fire", "class_neurone.html#a9ec6e62bf458c8fcf201e135d6ecdfab", null ], + [ "fw_activate", "class_neurone.html#aec9263293bad3fce3702e66462fde1fb", null ], + [ "fw_sum", "class_neurone.html#aabf9f1260f6ee90497b1edd96d698152", null ], + [ "getNbPoids", "class_neurone.html#a276f60498de090878d0b2e8e05f4acc0", null ], + [ "getWeight", "class_neurone.html#ad35958a875fba519d8ccc4984302c376", null ], + [ "learn", "class_neurone.html#ad649e6c655e70db090cfdc5ad4670e34", null ], + [ "printWeight", "class_neurone.html#a21cca59967aa7a5cde3580d131d02526", null ], + [ "fonctionActivation", "class_neurone.html#aa6ba92d879763af5f50536362b8e00de", null ], + [ "n", "class_neurone.html#a2a6a3fcb4d1a6f38914641b006bb156d", null ], + [ "w", "class_neurone.html#a7a030ab5a110af5b645d7ca5218ca359", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_neurone__coll__graph.map b/Doc/html/class_neurone__coll__graph.map new file mode 100644 index 0000000..736ddcf --- /dev/null +++ b/Doc/html/class_neurone__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/class_neurone__coll__graph.md5 b/Doc/html/class_neurone__coll__graph.md5 new file mode 100644 index 0000000..75a2549 --- /dev/null +++ b/Doc/html/class_neurone__coll__graph.md5 @@ -0,0 +1 @@ +dc4e18bbfd7977a8e5ed3235c3769886 \ No newline at end of file diff --git a/Doc/html/class_neurone__coll__graph.png b/Doc/html/class_neurone__coll__graph.png new file mode 100644 index 0000000..4b02246 Binary files /dev/null and b/Doc/html/class_neurone__coll__graph.png differ diff --git a/Doc/html/class_neurone__inherit__graph.map b/Doc/html/class_neurone__inherit__graph.map new file mode 100644 index 0000000..caaa56c --- /dev/null +++ b/Doc/html/class_neurone__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/class_neurone__inherit__graph.md5 b/Doc/html/class_neurone__inherit__graph.md5 new file mode 100644 index 0000000..063c011 --- /dev/null +++ b/Doc/html/class_neurone__inherit__graph.md5 @@ -0,0 +1 @@ +d0622561879f5c4d299fcc6d9457e84e \ No newline at end of file diff --git a/Doc/html/class_neurone__inherit__graph.png b/Doc/html/class_neurone__inherit__graph.png new file mode 100644 index 0000000..699153c Binary files /dev/null and b/Doc/html/class_neurone__inherit__graph.png differ diff --git a/Doc/html/class_neurone_b-members.html b/Doc/html/class_neurone_b-members.html new file mode 100644 index 0000000..ab0cbec --- /dev/null +++ b/Doc/html/class_neurone_b-members.html @@ -0,0 +1,143 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NeuroneB Member List
+
+
+ +

This is the complete list of members for NeuroneB, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
aleaWeights()NeuroneBvirtual
derive_activate(double sum, double k) const Neurone
fire(std::vector< double > x, double k) const Neuronevirtual
fonctionActivation (defined in Neurone)Neuroneprotected
fw_activate(double sum, double k) const Neurone
fw_sum(std::vector< double > x) const NeuroneBvirtual
getNbPoids()NeuroneBvirtual
getWeight()Neurone
learn(std::vector< double > x, double o, double k, double mu)NeuroneBvirtual
n (defined in Neurone)Neuroneprotected
Neurone()Neurone
Neurone(int taille, FonctionActivation::EnumFonctionActivation fct)Neurone
Neurone(int taille, std::vector< double > *x, FonctionActivation::EnumFonctionActivation fct)Neurone
NeuroneB(int taille, FonctionActivation::EnumFonctionActivation fct)NeuroneB
NeuroneB(int taille, std::vector< double > *x, double biais_w)NeuroneB
printWeight()NeuroneBvirtual
w (defined in Neurone)Neuroneprotected
+
+ + + + diff --git a/Doc/html/class_neurone_b.html b/Doc/html/class_neurone_b.html new file mode 100644 index 0000000..1e20165 --- /dev/null +++ b/Doc/html/class_neurone_b.html @@ -0,0 +1,436 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: NeuroneB Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NeuroneB Class Reference
+
+
+
+Inheritance diagram for NeuroneB:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for NeuroneB:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 NeuroneB (int taille, FonctionActivation::EnumFonctionActivation fct)
 
 NeuroneB (int taille, std::vector< double > *x, double biais_w)
 
void printWeight ()
 
void aleaWeights ()
 
void learn (std::vector< double > x, double o, double k, double mu)
 
double fw_sum (std::vector< double > x) const
 
int getNbPoids ()
 
- Public Member Functions inherited from Neurone
 Neurone ()
 
 Neurone (int taille, FonctionActivation::EnumFonctionActivation fct)
 
 Neurone (int taille, std::vector< double > *x, FonctionActivation::EnumFonctionActivation fct)
 
double fw_activate (double sum, double k) const
 
double derive_activate (double sum, double k) const
 
virtual double fire (std::vector< double > x, double k) const
 
std::vector< double > * getWeight ()
 
+ + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Neurone
+std::vector< double > * w
 
+int n
 
+FonctionActivation fonctionActivation
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
NeuroneB::NeuroneB (int taille,
FonctionActivation::EnumFonctionActivation fct 
)
+
+

Constructeur du Neurone avec biais NeuroneB::NeuroneB

Parameters
+ + +
tailleTaille du neurone
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
NeuroneB::NeuroneB (int taille,
std::vector< double > * x,
double biais_w 
)
+
+

Constructeur du Neurone avec biais NeuroneB::NeuroneB

Parameters
+ + + + +
tailleTaille du neurone
xVecteur de poids
biais_wValeur du biais
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void NeuroneB::aleaWeights ()
+
+virtual
+
+

Génération aléatoire des poids NeuroneB::aleaWeights

+ +

Reimplemented from Neurone.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
double NeuroneB::fw_sum (std::vector< double > x) const
+
+virtual
+
+

Méthode de somme du vecteur de poids NeuroneB::fw_sum

Parameters
+ + +
xVecteur de poids
+
+
+
Returns
Somme des poids
+ +

Reimplemented from Neurone.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int NeuroneB::getNbPoids ()
+
+virtual
+
+

NeuroneB::getNbPoids

Returns
Nombre de poids
+ +

Reimplemented from Neurone.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NeuroneB::learn (std::vector< double > x,
double o,
double k,
double mu 
)
+
+virtual
+
+

Méthode d'apprentissage (cf Neurone::fw_sum, cf Neurone::fw_activate, cf Neurone::derive_activate) Neurone::learn

Parameters
+ + + + + +
xVecteur de poids
oValeur attendue
kValeur du biais
muTaux d'apprentissage | Learning rate
+
+
+ +

Reimplemented from Neurone.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void NeuroneB::printWeight ()
+
+virtual
+
+

Affichage des poids NeuroneB::printWeight

+ +

Reimplemented from Neurone.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_neurone_b.js b/Doc/html/class_neurone_b.js new file mode 100644 index 0000000..6796ae7 --- /dev/null +++ b/Doc/html/class_neurone_b.js @@ -0,0 +1,10 @@ +var class_neurone_b = +[ + [ "NeuroneB", "class_neurone_b.html#a774b4e8c1beced8c79e6b36084cf404e", null ], + [ "NeuroneB", "class_neurone_b.html#a7cac63050f7c559bea4c6d082ecca7b1", null ], + [ "aleaWeights", "class_neurone_b.html#af00d23b3078f5118329dc4d53c1a77a6", null ], + [ "fw_sum", "class_neurone_b.html#ae4f210b6b5881a739c3d6aafdc498fe2", null ], + [ "getNbPoids", "class_neurone_b.html#ad406a05993ed1a7eba6dfbc0f8908716", null ], + [ "learn", "class_neurone_b.html#a863968dd758150552330f8cdd33fe717", null ], + [ "printWeight", "class_neurone_b.html#addc614b9370d832cbb67ef080f277528", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_neurone_b__coll__graph.map b/Doc/html/class_neurone_b__coll__graph.map new file mode 100644 index 0000000..bd5fd12 --- /dev/null +++ b/Doc/html/class_neurone_b__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/Doc/html/class_neurone_b__coll__graph.md5 b/Doc/html/class_neurone_b__coll__graph.md5 new file mode 100644 index 0000000..f42338e --- /dev/null +++ b/Doc/html/class_neurone_b__coll__graph.md5 @@ -0,0 +1 @@ +a1082f45a3acd3a774dba1a5e71a67e8 \ No newline at end of file diff --git a/Doc/html/class_neurone_b__coll__graph.png b/Doc/html/class_neurone_b__coll__graph.png new file mode 100644 index 0000000..886376a Binary files /dev/null and b/Doc/html/class_neurone_b__coll__graph.png differ diff --git a/Doc/html/class_neurone_b__inherit__graph.map b/Doc/html/class_neurone_b__inherit__graph.map new file mode 100644 index 0000000..4571172 --- /dev/null +++ b/Doc/html/class_neurone_b__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/class_neurone_b__inherit__graph.md5 b/Doc/html/class_neurone_b__inherit__graph.md5 new file mode 100644 index 0000000..2cae30b --- /dev/null +++ b/Doc/html/class_neurone_b__inherit__graph.md5 @@ -0,0 +1 @@ +daaf4c5c26a5d5ca8bb9604832152d30 \ No newline at end of file diff --git a/Doc/html/class_neurone_b__inherit__graph.png b/Doc/html/class_neurone_b__inherit__graph.png new file mode 100644 index 0000000..927804e Binary files /dev/null and b/Doc/html/class_neurone_b__inherit__graph.png differ diff --git a/Doc/html/class_option-members.html b/Doc/html/class_option-members.html new file mode 100644 index 0000000..f2645ec --- /dev/null +++ b/Doc/html/class_option-members.html @@ -0,0 +1,136 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Option Member List
+
+
+ +

This is the complete list of members for Option, including all inherited members.

+ + + + + + + + + + + +
getOptionID() const Option
getOptionInt() const Option
getOptionRac() const Option
getOptionType() const Option
Option()Option
Option(int id, const std::string &intitul, const std::string &m_rac, const Type::TypeEnum type, const std::string &m_description) (defined in Option)Option
print(std::ostream &os) const Option
setOptionInt(std::string &intitul)Option
setOptionRac(std::string &rac)Option
setOptionType(Type::TypeEnum t)Option
+
+ + + + diff --git a/Doc/html/class_option.html b/Doc/html/class_option.html new file mode 100644 index 0000000..647a282 --- /dev/null +++ b/Doc/html/class_option.html @@ -0,0 +1,326 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Option Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Option Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Option ()
 
Option (int id, const std::string &intitul, const std::string &m_rac, const Type::TypeEnum type, const std::string &m_description)
 
int getOptionID () const
 
Type::TypeEnum getOptionType () const
 
std::string getOptionInt () const
 
std::string getOptionRac () const
 
void setOptionType (Type::TypeEnum t)
 
void setOptionInt (std::string &intitul)
 
void setOptionRac (std::string &rac)
 
void print (std::ostream &os) const
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
Option::Option ()
+
+

Constructeur d'option vide Option::Option

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
int Option::getOptionID () const
+
+

Option::GetOptionId

Returns
ID de l'option
+ +
+
+ +
+
+ + + + + + + +
string Option::getOptionInt () const
+
+

Option::GetOptionInt

Returns
Intitulé de l'option
+ +
+
+ +
+
+ + + + + + + +
string Option::getOptionRac () const
+
+

Option::GetOptionRac

Returns
Raccourci de l'option
+ +
+
+ +
+
+ + + + + + + +
Type::TypeEnum Option::getOptionType () const
+
+

Option::GetOptionType

Returns
Type d'option
+ +
+
+ +
+
+ + + + + + + + +
void Option::print (std::ostream & os) const
+
+

Méthode d'affichage en complément de << print

Parameters
+ + +
osFlux
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Option::setOptionInt (std::string & intitul)
+
+

Option::SetOptionInt

Parameters
+ + +
intitulNouveau Intitulé
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Option::setOptionRac (std::string & rac)
+
+

Option::SetOptionRac

Parameters
+ + +
racNouveau Raccourci
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Option::setOptionType (Type::TypeEnum t)
+
+

Option::SetOptionType

Parameters
+ + +
tNouveau type d'option
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_option.js b/Doc/html/class_option.js new file mode 100644 index 0000000..b2fcbe3 --- /dev/null +++ b/Doc/html/class_option.js @@ -0,0 +1,13 @@ +var class_option = +[ + [ "Option", "class_option.html#af517613005312013c576eb9099a50464", null ], + [ "Option", "class_option.html#a9bdc40bb1ec52626839528662d833fa7", null ], + [ "getOptionID", "class_option.html#a27a99cccc32cd28cf87decadd3821013", null ], + [ "getOptionInt", "class_option.html#a071b24098adb995112018aa96f665826", null ], + [ "getOptionRac", "class_option.html#a7101b594be73889c7b2b8f4c59056def", null ], + [ "getOptionType", "class_option.html#a2a5b217ff2545658a408fdc0a524acc7", null ], + [ "print", "class_option.html#acc61a81e1a5f3e37d610c1d24b7e741e", null ], + [ "setOptionInt", "class_option.html#a53a6e4e96cb0e3ca490f677f395fa7b0", null ], + [ "setOptionRac", "class_option.html#a85290e384c7163852c0cf17953a345c1", null ], + [ "setOptionType", "class_option.html#a681b93a160de378ff1e45746c080811a", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_option_tab-members.html b/Doc/html/class_option_tab-members.html new file mode 100644 index 0000000..3328dfd --- /dev/null +++ b/Doc/html/class_option_tab-members.html @@ -0,0 +1,134 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
OptionTab Member List
+
+
+ +

This is the complete list of members for OptionTab, including all inherited members.

+ + + + + + + + + +
addOption(const Option &opt)OptionTab
getArgument(const std::string &opt) const OptionTab
getIntitul(const std::string &opt) const OptionTab
getOptionID(const std::string &opt) const OptionTab
getRaccour(const std::string &opt) const OptionTab
getTypeOption(const std::string &opt) const (defined in OptionTab)OptionTab
OptionTab()OptionTab
printOptions() const OptionTab
+
+ + + + diff --git a/Doc/html/class_option_tab.html b/Doc/html/class_option_tab.html new file mode 100644 index 0000000..92a85df --- /dev/null +++ b/Doc/html/class_option_tab.html @@ -0,0 +1,300 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: OptionTab Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
OptionTab Class Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 OptionTab ()
 
void addOption (const Option &opt)
 
void printOptions () const
 
int getOptionID (const std::string &opt) const
 
Type::TypeEnum getArgument (const std::string &opt) const
 
std::string getRaccour (const std::string &opt) const
 
+std::string getTypeOption (const std::string &opt) const
 
std::string getIntitul (const std::string &opt) const
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
OptionTab::OptionTab ()
+
+

Constructeur par défauts OptionTab::OptionTab

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
void OptionTab::addOption (const Optionopt)
+
+

Ajoute une option OptionTab::AddOption

Parameters
+ + +
opt[description]
+
+
+ +
+
+ +
+
+ + + + + + + + +
Type::TypeEnum OptionTab::getArgument (const std::string & opt) const
+
+

OptionTab::GetArgument

Parameters
+ + +
optNom de l'option
+
+
+
Returns
Argument de cette option
+ +
+
+ +
+
+ + + + + + + + +
std::string OptionTab::getIntitul (const std::string & opt) const
+
+

OptionTab::getIntitul

Parameters
+ + +
optNom de l'option
+
+
+
Returns
Intitulé de cette option
+ +
+
+ +
+
+ + + + + + + + +
int OptionTab::getOptionID (const std::string & opt) const
+
+

OptionTab::GetOptionID

Parameters
+ + +
optNom de l'option
+
+
+
Returns
ID de cette option
+ +
+
+ +
+
+ + + + + + + + +
std::string OptionTab::getRaccour (const std::string & opt) const
+
+

OptionTab::getRaccour

Parameters
+ + +
optNom de l'option
+
+
+
Returns
Raccourci de cette option
+ +
+
+ +
+
+ + + + + + + +
void OptionTab::printOptions () const
+
+

Affiche les options OptionTab::PrintOptions

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_option_tab.js b/Doc/html/class_option_tab.js new file mode 100644 index 0000000..64facef --- /dev/null +++ b/Doc/html/class_option_tab.js @@ -0,0 +1,11 @@ +var class_option_tab = +[ + [ "OptionTab", "class_option_tab.html#a841c3c1199bfb54f8d824eba78c51be8", null ], + [ "addOption", "class_option_tab.html#a31b672027b075713cd89bdcdc05b3d34", null ], + [ "getArgument", "class_option_tab.html#ad66df30eb8d8a03f7c8697a77f9303d8", null ], + [ "getIntitul", "class_option_tab.html#acfc151c8ba1d8bddb7744ce8ae59cd8f", null ], + [ "getOptionID", "class_option_tab.html#a8ce61fa7f0c8aaab08dcc0d70abeb9b3", null ], + [ "getRaccour", "class_option_tab.html#a6b22f45d47a04ba2287516bc061f2a14", null ], + [ "getTypeOption", "class_option_tab.html#ac1bb51fea039484f9566e2bba53afdbd", null ], + [ "printOptions", "class_option_tab.html#a0f55a3dc1c41e04f50fc827c18e86531", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_reseau-members.html b/Doc/html/class_reseau-members.html new file mode 100644 index 0000000..7f432ea --- /dev/null +++ b/Doc/html/class_reseau-members.html @@ -0,0 +1,131 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Reseau Member List
+
+
+ +

This is the complete list of members for Reseau, including all inherited members.

+ + + + + + +
backPropagation(std::vector< double > erreurs)Reseau
fire_all(std::vector< double > input)Reseau
learn(std::vector< std::vector< std::vector< double > > > jeuxTest, unsigned int nbPasDescenteGradient)Reseau
printWeight()Reseau
Reseau(int, std::vector< int >, double, double, FonctionActivation::EnumFonctionActivation fct)Reseau
+
+ + + + diff --git a/Doc/html/class_reseau.html b/Doc/html/class_reseau.html new file mode 100644 index 0000000..147d8a7 --- /dev/null +++ b/Doc/html/class_reseau.html @@ -0,0 +1,295 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Reseau Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Reseau Class Reference
+
+
+ + + + + + + + + + + + +

+Public Member Functions

 Reseau (int, std::vector< int >, double, double, FonctionActivation::EnumFonctionActivation fct)
 
std::vector< double > fire_all (std::vector< double > input)
 
void learn (std::vector< std::vector< std::vector< double > > > jeuxTest, unsigned int nbPasDescenteGradient)
 
void backPropagation (std::vector< double > erreurs)
 
void printWeight ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Reseau::Reseau (int nbLayers,
std::vector< int > layerInformation,
double k,
double eta,
FonctionActivation::EnumFonctionActivation fct 
)
+
+

Constructeur Reseau::Reseau

Parameters
+ + + + + +
nbLayersNombre de couche
layerInformationVecteur descriptif de chaque layer
kconstante k dont depends la sigmoide
etacoefficient d'evolution
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
void Reseau::backPropagation (std::vector< double > erreurs)
+
+

Méthode de propagation en arriére Reseau::backPropagation

Parameters
+ + + + +
outputSortie
kValeur du coefficient
etaValeur d'eta
+
+
+ +
+
+ +
+
+ + + + + + + + +
std::vector< double > Reseau::fire_all (std::vector< double > input)
+
+

Fire général Reseau::fire_all

Parameters
+ + +
inputVecteur d'entrée
+
+
+
Returns
Valeur d'activation
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void Reseau::learn (std::vector< std::vector< std::vector< double > > > jeuxTest,
unsigned int nbPasDescenteGradient 
)
+
+

Méthode d'apprentissage Reseau::learn

Parameters
+ + +
jeuxTestVecteur de vecteur de vecteur : décrivant en jeuxTest[i][0] le vecteur d'entrée et en jeuxTest[i][1] la sortie attendue
+
+
+ +
+
+ +
+
+ + + + + + + +
void Reseau::printWeight ()
+
+

Affichage des poids Reseau::printWeight

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_reseau.js b/Doc/html/class_reseau.js new file mode 100644 index 0000000..40354eb --- /dev/null +++ b/Doc/html/class_reseau.js @@ -0,0 +1,8 @@ +var class_reseau = +[ + [ "Reseau", "class_reseau.html#a3650e257fb82e9923e63af3c4223b56f", null ], + [ "backPropagation", "class_reseau.html#add03acfaaac274f12e2e608a8b53d36d", null ], + [ "fire_all", "class_reseau.html#af594c3933e77f1e5a08596cc268e8412", null ], + [ "learn", "class_reseau.html#aca52e20e0cc9ec52120d3e018f42cbeb", null ], + [ "printWeight", "class_reseau.html#a363cec507253f0b196cbfd0c2e6687e7", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_settings-members.html b/Doc/html/class_settings-members.html new file mode 100644 index 0000000..30b53cd --- /dev/null +++ b/Doc/html/class_settings-members.html @@ -0,0 +1,130 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Settings Member List
+
+
+ +

This is the complete list of members for Settings, including all inherited members.

+ + + + + +
getArchi()Settings
getDifferentOutputs()Settings
getNbrHiddenLayers()Settings
Settings(char const *fileName)Settings
+
+ + + + diff --git a/Doc/html/class_settings.html b/Doc/html/class_settings.html new file mode 100644 index 0000000..54a91ce --- /dev/null +++ b/Doc/html/class_settings.html @@ -0,0 +1,218 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Settings Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Settings Class Reference
+
+
+ + + + + + + + + + +

+Public Member Functions

 Settings (char const *fileName)
 
int getNbrHiddenLayers ()
 
std::vector< int > * getArchi ()
 
std::vector< double > * getDifferentOutputs ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Settings::Settings (char const * fileName)
+
+

Constructeur settings::settings

Parameters
+ + +
fileNameNom du fichier
+
+
+

Counter

+

Parser

+

strinsplit à partir du caractère ','

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
std::vector< int > * Settings::getArchi ()
+
+

settings::getArchi

Returns
Architecture
+ +
+
+ +
+
+ + + + + + + +
std::vector< double > * Settings::getDifferentOutputs ()
+
+

settings::getDifferentOutputs

Returns
DifferentOutputs
+ +
+
+ +
+
+ + + + + + + +
int Settings::getNbrHiddenLayers ()
+
+

settings::getNbrHiddenLayers

Returns
Nombre de Layers "caché"
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/Doc/html/class_settings.js b/Doc/html/class_settings.js new file mode 100644 index 0000000..6261555 --- /dev/null +++ b/Doc/html/class_settings.js @@ -0,0 +1,7 @@ +var class_settings = +[ + [ "Settings", "class_settings.html#a88880062bc619ad3395aff8fb78e9f53", null ], + [ "getArchi", "class_settings.html#ad5ecbf5f2672f3ddc9c5809402cf24bf", null ], + [ "getDifferentOutputs", "class_settings.html#a79aff561ecb30eea8900a322223b20d0", null ], + [ "getNbrHiddenLayers", "class_settings.html#a8ab695b0b4c99e48c30a89f49d3f3a27", null ] +]; \ No newline at end of file diff --git a/Doc/html/class_type-members.html b/Doc/html/class_type-members.html new file mode 100644 index 0000000..921b279 --- /dev/null +++ b/Doc/html/class_type-members.html @@ -0,0 +1,136 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Type Member List
+
+
+ +

This is the complete list of members for Type, including all inherited members.

+ + + + + + + + + + + +
FLOAT enum value (defined in Type)Type
getType() const Type
INT enum value (defined in Type)Type
NONE enum value (defined in Type)Type
print(std::ostream &os) const Type
setType(Type::TypeEnum type)Type
STRING enum value (defined in Type)Type
Type()Type
Type(Type::TypeEnum type)Type
TypeEnum enum name (defined in Type)Type
+
+ + + + diff --git a/Doc/html/class_type.html b/Doc/html/class_type.html new file mode 100644 index 0000000..9967ece --- /dev/null +++ b/Doc/html/class_type.html @@ -0,0 +1,255 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Type Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Type Class Reference
+
+
+ + + + +

+Public Types

enum  TypeEnum { NONE, +INT, +FLOAT, +STRING + }
 
+ + + + + + + + + + + +

+Public Member Functions

 Type ()
 
 Type (Type::TypeEnum type)
 
void print (std::ostream &os) const
 
void setType (Type::TypeEnum type)
 
Type::TypeEnum getType () const
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
Type::Type ()
+
+

Constructeur par défaut Type::Type

+ +
+
+ +
+
+ + + + + + + + +
Type::Type (Type::TypeEnum type)
+
+

Constructeur avec arguments Type::Type

Parameters
+ + +
typeNom du type
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
Type::TypeEnum Type::getType () const
+
+

Type::getType

Returns
Type
+ +
+
+ +
+
+ + + + + + + + +
void Type::print (std::ostream & os) const
+
+

Affiche dans le flux une chaine de caractére décrivant le type Type::print

Parameters
+ + +
osFlux
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Type::setType (Type::TypeEnum type)
+
+

Type::setType

Parameters
+ + +
typeNouveau type
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • Option/Type.h
  • +
  • Option/Type.cpp
  • +
+
+
+ + + + diff --git a/Doc/html/class_type.js b/Doc/html/class_type.js new file mode 100644 index 0000000..6e1bf1e --- /dev/null +++ b/Doc/html/class_type.js @@ -0,0 +1,14 @@ +var class_type = +[ + [ "TypeEnum", "class_type.html#a45f2e24bda7049666c4448de149d0bb6", [ + [ "NONE", "class_type.html#a45f2e24bda7049666c4448de149d0bb6a6b12c78eda7a170eb5f1362e53c1e509", null ], + [ "INT", "class_type.html#a45f2e24bda7049666c4448de149d0bb6a29532428084590b7ef6c26bff2dc7f30", null ], + [ "FLOAT", "class_type.html#a45f2e24bda7049666c4448de149d0bb6a764a38bc25423e54e20366887325b2eb", null ], + [ "STRING", "class_type.html#a45f2e24bda7049666c4448de149d0bb6a642bd656aff85013cb8bcfad70a5312d", null ] + ] ], + [ "Type", "class_type.html#a78339313d36891f18427c431ea84e306", null ], + [ "Type", "class_type.html#adc638a12e2680db385bb09ba0d9ba79a", null ], + [ "getType", "class_type.html#a89d972623ba6043f703de50f5ee3ccb8", null ], + [ "print", "class_type.html#a4a7dd44f7bac9ee0da318f5fa77813c2", null ], + [ "setType", "class_type.html#ad84d1cd51366ec3c4f66e674430e9869", null ] +]; \ No newline at end of file diff --git a/Doc/html/classes.html b/Doc/html/classes.html new file mode 100644 index 0000000..38ca53d --- /dev/null +++ b/Doc/html/classes.html @@ -0,0 +1,146 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Class Index + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
D | F | I | L | N | O | R | S | T
+ + + + + + + + + + + +
  D  
+
  L  
+
Neuron (Archi)   
  R  
+
Neurone   
DrawNN (Archi)   Layer (Archi)   NeuroneB   Reseau   
  F  
+
Layer   
  O  
+
  S  
+
  N  
+
FonctionActivation   Option   Settings   
  I  
+
NeuralNetwork (Archi)   OptionTab   
  T  
+
InputLayer   Type   
+
D | F | I | L | N | O | R | S | T
+
+
+ + + + diff --git a/Doc/html/closed.png b/Doc/html/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/Doc/html/closed.png differ diff --git a/Doc/html/dir_0e7a2bf207642fde32bb2644c27b5ffb.html b/Doc/html/dir_0e7a2bf207642fde32bb2644c27b5ffb.html new file mode 100644 index 0000000..3f478a3 --- /dev/null +++ b/Doc/html/dir_0e7a2bf207642fde32bb2644c27b5ffb.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: javascript Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
javascript Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/Doc/html/dir_1047144a739eb486842d9616b4b86f5e.html b/Doc/html/dir_1047144a739eb486842d9616b4b86f5e.html new file mode 100644 index 0000000..fde606f --- /dev/null +++ b/Doc/html/dir_1047144a739eb486842d9616b4b86f5e.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Reseau Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Reseau Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/Doc/html/dir_1047144a739eb486842d9616b4b86f5e.js b/Doc/html/dir_1047144a739eb486842d9616b4b86f5e.js new file mode 100644 index 0000000..8de27d8 --- /dev/null +++ b/Doc/html/dir_1047144a739eb486842d9616b4b86f5e.js @@ -0,0 +1,4 @@ +var dir_1047144a739eb486842d9616b4b86f5e = +[ + [ "Reseau.h", "_reseau_8h_source.html", null ] +]; \ No newline at end of file diff --git a/Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.html b/Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.html new file mode 100644 index 0000000..c5db230 --- /dev/null +++ b/Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Option Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Option Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.js b/Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.js new file mode 100644 index 0000000..cac28c2 --- /dev/null +++ b/Doc/html/dir_1ba9223d2ece18a41e71e38035d89bac.js @@ -0,0 +1,6 @@ +var dir_1ba9223d2ece18a41e71e38035d89bac = +[ + [ "Option.h", "_option_8h_source.html", null ], + [ "OptionTab.h", "_option_tab_8h_source.html", null ], + [ "Type.h", "_type_8h_source.html", null ] +]; \ No newline at end of file diff --git a/Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.html b/Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.html new file mode 100644 index 0000000..7cd83ee --- /dev/null +++ b/Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Neurone Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Neurone Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.js b/Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.js new file mode 100644 index 0000000..f02dcdc --- /dev/null +++ b/Doc/html/dir_46a3cf39f47ee0e00fbc52542f8a646a.js @@ -0,0 +1,6 @@ +var dir_46a3cf39f47ee0e00fbc52542f8a646a = +[ + [ "FonctionActivation.h", "_fonction_activation_8h_source.html", null ], + [ "Neurone.h", "_neurone_8h_source.html", null ], + [ "NeuroneB.h", "_neurone_b_8h_source.html", null ] +]; \ No newline at end of file diff --git a/Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.html b/Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.html new file mode 100644 index 0000000..5f943ca --- /dev/null +++ b/Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Common Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Common Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.js b/Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.js new file mode 100644 index 0000000..d98aeef --- /dev/null +++ b/Doc/html/dir_4ab6b4cc6a7edbff49100e9123df213f.js @@ -0,0 +1,4 @@ +var dir_4ab6b4cc6a7edbff49100e9123df213f = +[ + [ "fonctions.h", "fonctions_8h_source.html", null ] +]; \ No newline at end of file diff --git a/Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.html b/Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.html new file mode 100644 index 0000000..081073e --- /dev/null +++ b/Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Settings Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Settings Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.js b/Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.js new file mode 100644 index 0000000..c3bf597 --- /dev/null +++ b/Doc/html/dir_8ae0dd75af039a94f4269584fb8eef13.js @@ -0,0 +1,4 @@ +var dir_8ae0dd75af039a94f4269584fb8eef13 = +[ + [ "Settings.h", "_settings_8h_source.html", null ] +]; \ No newline at end of file diff --git a/Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.html b/Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.html new file mode 100644 index 0000000..c2f0d1c --- /dev/null +++ b/Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.html @@ -0,0 +1,125 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Layer Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Layer Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.js b/Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.js new file mode 100644 index 0000000..4270068 --- /dev/null +++ b/Doc/html/dir_a924a7c36f568fb55f0189eb05b4fa5a.js @@ -0,0 +1,5 @@ +var dir_a924a7c36f568fb55f0189eb05b4fa5a = +[ + [ "InputLayer.h", "_input_layer_8h_source.html", null ], + [ "Layer.h", "_layer_8h_source.html", null ] +]; \ No newline at end of file diff --git a/Doc/html/doc.png b/Doc/html/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/Doc/html/doc.png differ diff --git a/Doc/html/doxygen.css b/Doc/html/doxygen.css new file mode 100644 index 0000000..1425ec5 --- /dev/null +++ b/Doc/html/doxygen.css @@ -0,0 +1,1475 @@ +/* The standard CSS for doxygen 1.8.11 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/Doc/html/doxygen.png b/Doc/html/doxygen.png new file mode 100644 index 0000000..3ff17d8 Binary files /dev/null and b/Doc/html/doxygen.png differ diff --git a/Doc/html/dynsections.js b/Doc/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/Doc/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: File List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 12]
+ + + + + + + + + + + + + + + + + +
  Common
 fonctions.h
  Layer
 InputLayer.h
 Layer.h
  Neurone
 FonctionActivation.h
 Neurone.h
 NeuroneB.h
  Option
 Option.h
 OptionTab.h
 Type.h
  Reseau
 Reseau.h
  Settings
 Settings.h
+
+
+
+ + + + diff --git a/Doc/html/files.js b/Doc/html/files.js new file mode 100644 index 0000000..3f8a19d --- /dev/null +++ b/Doc/html/files.js @@ -0,0 +1,9 @@ +var files = +[ + [ "Common", "dir_4ab6b4cc6a7edbff49100e9123df213f.html", "dir_4ab6b4cc6a7edbff49100e9123df213f" ], + [ "Layer", "dir_a924a7c36f568fb55f0189eb05b4fa5a.html", "dir_a924a7c36f568fb55f0189eb05b4fa5a" ], + [ "Neurone", "dir_46a3cf39f47ee0e00fbc52542f8a646a.html", "dir_46a3cf39f47ee0e00fbc52542f8a646a" ], + [ "Option", "dir_1ba9223d2ece18a41e71e38035d89bac.html", "dir_1ba9223d2ece18a41e71e38035d89bac" ], + [ "Reseau", "dir_1047144a739eb486842d9616b4b86f5e.html", "dir_1047144a739eb486842d9616b4b86f5e" ], + [ "Settings", "dir_8ae0dd75af039a94f4269584fb8eef13.html", "dir_8ae0dd75af039a94f4269584fb8eef13" ] +]; \ No newline at end of file diff --git a/Doc/html/folderclosed.png b/Doc/html/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/Doc/html/folderclosed.png differ diff --git a/Doc/html/folderopen.png b/Doc/html/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/Doc/html/folderopen.png differ diff --git a/Doc/html/fonctions_8h_source.html b/Doc/html/fonctions_8h_source.html new file mode 100644 index 0000000..907ceb4 --- /dev/null +++ b/Doc/html/fonctions_8h_source.html @@ -0,0 +1,121 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Common/fonctions.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
fonctions.h
+
+
+
1 #ifndef FONCTIONS_H
2 #define FONCTIONS_H
3 #include "../Neurone/FonctionActivation.h"
4 #include<vector>
5 #include<unistd.h>
6 #include<string>
7 
8 void printVec (std::vector<double> vec);
9 void printVec (std::vector<int> vec);
10 void printVec (std::vector<std::vector<double> > vec);
11 std::vector< std::vector <double> > getInput(char const * fileName);
12 std::vector <double> extractResult(std::vector< std::vector <double> > * input);
13 void swapVec (std::vector<std::vector<double> > * vec,std::vector <double> * result);
14 unsigned int int_to_int(unsigned k);
15 std::vector<std::vector<double > > generateInput (int n, bool estet);
16 void printVec (std::vector<std::vector<std::vector<double> > > vec);
17 void swapVec (std::vector<std::vector<double> > * input);
18 std::vector < std::vector <std::vector <double> > > getInputUltime(char const * fileName,float pourcentage);
19 unsigned int findIndMax(std::vector<double> vec);
20 void displayArchi(std::vector<int> info);
21 void startLauncher(std::string file, bool arch,int ep,double eta,unsigned int gradiant,FonctionActivation::EnumFonctionActivation fct, float auto_off);
22 #endif
+
+ + + + diff --git a/Doc/html/functions.html b/Doc/html/functions.html new file mode 100644 index 0000000..94ddcbf --- /dev/null +++ b/Doc/html/functions.html @@ -0,0 +1,341 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+ + +

- b -

    +
  • backPropagation() +: Reseau +
  • +
+ + +

- d -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- l -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

    +
  • Type() +: Type +
  • +
+
+
+ + + + diff --git a/Doc/html/functions_func.html b/Doc/html/functions_func.html new file mode 100644 index 0000000..a2b2238 --- /dev/null +++ b/Doc/html/functions_func.html @@ -0,0 +1,341 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

    +
  • backPropagation() +: Reseau +
  • +
+ + +

- d -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- l -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

    +
  • Type() +: Type +
  • +
+
+
+ + + + diff --git a/Doc/html/graph_legend.html b/Doc/html/graph_legend.html new file mode 100644 index 0000000..cccb335 --- /dev/null +++ b/Doc/html/graph_legend.html @@ -0,0 +1,144 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Graph Legend + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

1 /*! Invisible class because of truncation */
2 class Invisible { };
3 
4 /*! Truncated class, inheritance relation is hidden */
5 class Truncated : public Invisible { };
6 
7 /* Class not documented with doxygen comments */
8 class Undocumented { };
9 
10 /*! Class that is inherited using public inheritance */
11 class PublicBase : public Truncated { };
12 
13 /*! A template class */
14 template<class T> class Templ { };
15 
16 /*! Class that is inherited using protected inheritance */
17 class ProtectedBase { };
18 
19 /*! Class that is inherited using private inheritance */
20 class PrivateBase { };
21 
22 /*! Class that is used by the Inherited class */
23 class Used { };
24 
25 /*! Super class that inherits a number of other classes */
26 class Inherited : public PublicBase,
27  protected ProtectedBase,
28  private PrivateBase,
29  public Undocumented,
30  public Templ<int>
31 {
32  private:
33  Used *m_usedClass;
34 };

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+
+ + + + diff --git a/Doc/html/graph_legend.md5 b/Doc/html/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/Doc/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/Doc/html/graph_legend.png b/Doc/html/graph_legend.png new file mode 100644 index 0000000..37f264e Binary files /dev/null and b/Doc/html/graph_legend.png differ diff --git a/Doc/html/hierarchy.html b/Doc/html/hierarchy.html new file mode 100644 index 0000000..f6f9dde --- /dev/null +++ b/Doc/html/hierarchy.html @@ -0,0 +1,143 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12]
+ + + + + + + + + + + + + + +
 CArchi.DrawNN
 CFonctionActivation
 CArchi.Layer
 CLayer
 CInputLayer
 CArchi.NeuralNetwork
 CArchi.Neuron
 CNeurone
 CNeuroneB
 COption
 COptionTab
 CReseau
 CSettings
 CType
+
+
+
+ + + + diff --git a/Doc/html/hierarchy.js b/Doc/html/hierarchy.js new file mode 100644 index 0000000..f1ef7f9 --- /dev/null +++ b/Doc/html/hierarchy.js @@ -0,0 +1,19 @@ +var hierarchy = +[ + [ "Archi.DrawNN", "class_archi_1_1_draw_n_n.html", null ], + [ "FonctionActivation", "class_fonction_activation.html", null ], + [ "Archi.Layer", "class_archi_1_1_layer.html", null ], + [ "Layer", "class_layer.html", [ + [ "InputLayer", "class_input_layer.html", null ] + ] ], + [ "Archi.NeuralNetwork", "class_archi_1_1_neural_network.html", null ], + [ "Archi.Neuron", "class_archi_1_1_neuron.html", null ], + [ "Neurone", "class_neurone.html", [ + [ "NeuroneB", "class_neurone_b.html", null ] + ] ], + [ "Option", "class_option.html", null ], + [ "OptionTab", "class_option_tab.html", null ], + [ "Reseau", "class_reseau.html", null ], + [ "Settings", "class_settings.html", null ], + [ "Type", "class_type.html", null ] +]; \ No newline at end of file diff --git a/Doc/html/index.html b/Doc/html/index.html new file mode 100644 index 0000000..40f6d3e --- /dev/null +++ b/Doc/html/index.html @@ -0,0 +1,115 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Main Page + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal Documentation
+
+
+
+
+ + + + diff --git a/Doc/html/inherit_graph_0.map b/Doc/html/inherit_graph_0.map new file mode 100644 index 0000000..f0aafc1 --- /dev/null +++ b/Doc/html/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_0.md5 b/Doc/html/inherit_graph_0.md5 new file mode 100644 index 0000000..e9ed196 --- /dev/null +++ b/Doc/html/inherit_graph_0.md5 @@ -0,0 +1 @@ +88494cd19142df730574577bf3f410f9 \ No newline at end of file diff --git a/Doc/html/inherit_graph_0.png b/Doc/html/inherit_graph_0.png new file mode 100644 index 0000000..8326381 Binary files /dev/null and b/Doc/html/inherit_graph_0.png differ diff --git a/Doc/html/inherit_graph_1.map b/Doc/html/inherit_graph_1.map new file mode 100644 index 0000000..86ffdbd --- /dev/null +++ b/Doc/html/inherit_graph_1.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_1.md5 b/Doc/html/inherit_graph_1.md5 new file mode 100644 index 0000000..fbac7a2 --- /dev/null +++ b/Doc/html/inherit_graph_1.md5 @@ -0,0 +1 @@ +32c7c27747341e19e2970b8efb87c1e7 \ No newline at end of file diff --git a/Doc/html/inherit_graph_1.png b/Doc/html/inherit_graph_1.png new file mode 100644 index 0000000..49a5e58 Binary files /dev/null and b/Doc/html/inherit_graph_1.png differ diff --git a/Doc/html/inherit_graph_10.map b/Doc/html/inherit_graph_10.map new file mode 100644 index 0000000..6876f2a --- /dev/null +++ b/Doc/html/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_10.md5 b/Doc/html/inherit_graph_10.md5 new file mode 100644 index 0000000..b49414b --- /dev/null +++ b/Doc/html/inherit_graph_10.md5 @@ -0,0 +1 @@ +ac98d95c0d7311ae27d74b0ec67ded24 \ No newline at end of file diff --git a/Doc/html/inherit_graph_10.png b/Doc/html/inherit_graph_10.png new file mode 100644 index 0000000..47f48f4 Binary files /dev/null and b/Doc/html/inherit_graph_10.png differ diff --git a/Doc/html/inherit_graph_11.map b/Doc/html/inherit_graph_11.map new file mode 100644 index 0000000..668559a --- /dev/null +++ b/Doc/html/inherit_graph_11.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_11.md5 b/Doc/html/inherit_graph_11.md5 new file mode 100644 index 0000000..85078e8 --- /dev/null +++ b/Doc/html/inherit_graph_11.md5 @@ -0,0 +1 @@ +340f5cc1d3d6b79b9d39901db18de447 \ No newline at end of file diff --git a/Doc/html/inherit_graph_11.png b/Doc/html/inherit_graph_11.png new file mode 100644 index 0000000..532a8df Binary files /dev/null and b/Doc/html/inherit_graph_11.png differ diff --git a/Doc/html/inherit_graph_2.map b/Doc/html/inherit_graph_2.map new file mode 100644 index 0000000..9d4026b --- /dev/null +++ b/Doc/html/inherit_graph_2.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_2.md5 b/Doc/html/inherit_graph_2.md5 new file mode 100644 index 0000000..6dcd784 --- /dev/null +++ b/Doc/html/inherit_graph_2.md5 @@ -0,0 +1 @@ +9a7c012000fb32b383250bddd222b8e2 \ No newline at end of file diff --git a/Doc/html/inherit_graph_2.png b/Doc/html/inherit_graph_2.png new file mode 100644 index 0000000..ead86ba Binary files /dev/null and b/Doc/html/inherit_graph_2.png differ diff --git a/Doc/html/inherit_graph_3.map b/Doc/html/inherit_graph_3.map new file mode 100644 index 0000000..8d37411 --- /dev/null +++ b/Doc/html/inherit_graph_3.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_3.md5 b/Doc/html/inherit_graph_3.md5 new file mode 100644 index 0000000..6d5a107 --- /dev/null +++ b/Doc/html/inherit_graph_3.md5 @@ -0,0 +1 @@ +e4839bd038a009b1a46b8fa61a51dc4a \ No newline at end of file diff --git a/Doc/html/inherit_graph_3.png b/Doc/html/inherit_graph_3.png new file mode 100644 index 0000000..c2f07c7 Binary files /dev/null and b/Doc/html/inherit_graph_3.png differ diff --git a/Doc/html/inherit_graph_4.map b/Doc/html/inherit_graph_4.map new file mode 100644 index 0000000..f1f88cb --- /dev/null +++ b/Doc/html/inherit_graph_4.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_4.md5 b/Doc/html/inherit_graph_4.md5 new file mode 100644 index 0000000..f328b44 --- /dev/null +++ b/Doc/html/inherit_graph_4.md5 @@ -0,0 +1 @@ +bfd1e28d426ee9ef916f55395837214a \ No newline at end of file diff --git a/Doc/html/inherit_graph_4.png b/Doc/html/inherit_graph_4.png new file mode 100644 index 0000000..4cf8c96 Binary files /dev/null and b/Doc/html/inherit_graph_4.png differ diff --git a/Doc/html/inherit_graph_5.map b/Doc/html/inherit_graph_5.map new file mode 100644 index 0000000..683e8d6 --- /dev/null +++ b/Doc/html/inherit_graph_5.map @@ -0,0 +1,4 @@ + + + + diff --git a/Doc/html/inherit_graph_5.md5 b/Doc/html/inherit_graph_5.md5 new file mode 100644 index 0000000..9008564 --- /dev/null +++ b/Doc/html/inherit_graph_5.md5 @@ -0,0 +1 @@ +0659a2304614f6a52f56cd2c57425031 \ No newline at end of file diff --git a/Doc/html/inherit_graph_5.png b/Doc/html/inherit_graph_5.png new file mode 100644 index 0000000..b647c1c Binary files /dev/null and b/Doc/html/inherit_graph_5.png differ diff --git a/Doc/html/inherit_graph_6.map b/Doc/html/inherit_graph_6.map new file mode 100644 index 0000000..551fdee --- /dev/null +++ b/Doc/html/inherit_graph_6.map @@ -0,0 +1,4 @@ + + + + diff --git a/Doc/html/inherit_graph_6.md5 b/Doc/html/inherit_graph_6.md5 new file mode 100644 index 0000000..20f9f86 --- /dev/null +++ b/Doc/html/inherit_graph_6.md5 @@ -0,0 +1 @@ +218ffc3799414ec46ac9b5edf61a7f62 \ No newline at end of file diff --git a/Doc/html/inherit_graph_6.png b/Doc/html/inherit_graph_6.png new file mode 100644 index 0000000..71181cc Binary files /dev/null and b/Doc/html/inherit_graph_6.png differ diff --git a/Doc/html/inherit_graph_7.map b/Doc/html/inherit_graph_7.map new file mode 100644 index 0000000..3384dfb --- /dev/null +++ b/Doc/html/inherit_graph_7.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_7.md5 b/Doc/html/inherit_graph_7.md5 new file mode 100644 index 0000000..3b92653 --- /dev/null +++ b/Doc/html/inherit_graph_7.md5 @@ -0,0 +1 @@ +f11b43a00c7970b44aee182edb733672 \ No newline at end of file diff --git a/Doc/html/inherit_graph_7.png b/Doc/html/inherit_graph_7.png new file mode 100644 index 0000000..9d1ac1b Binary files /dev/null and b/Doc/html/inherit_graph_7.png differ diff --git a/Doc/html/inherit_graph_8.map b/Doc/html/inherit_graph_8.map new file mode 100644 index 0000000..bcfa71a --- /dev/null +++ b/Doc/html/inherit_graph_8.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_8.md5 b/Doc/html/inherit_graph_8.md5 new file mode 100644 index 0000000..7d62705 --- /dev/null +++ b/Doc/html/inherit_graph_8.md5 @@ -0,0 +1 @@ +2d8f93574e0a113d9652fd6cdea71bbe \ No newline at end of file diff --git a/Doc/html/inherit_graph_8.png b/Doc/html/inherit_graph_8.png new file mode 100644 index 0000000..2c08e2b Binary files /dev/null and b/Doc/html/inherit_graph_8.png differ diff --git a/Doc/html/inherit_graph_9.map b/Doc/html/inherit_graph_9.map new file mode 100644 index 0000000..9c44735 --- /dev/null +++ b/Doc/html/inherit_graph_9.map @@ -0,0 +1,3 @@ + + + diff --git a/Doc/html/inherit_graph_9.md5 b/Doc/html/inherit_graph_9.md5 new file mode 100644 index 0000000..d2462da --- /dev/null +++ b/Doc/html/inherit_graph_9.md5 @@ -0,0 +1 @@ +181c902b5f5351bf578f632cf969c5aa \ No newline at end of file diff --git a/Doc/html/inherit_graph_9.png b/Doc/html/inherit_graph_9.png new file mode 100644 index 0000000..1f9350e Binary files /dev/null and b/Doc/html/inherit_graph_9.png differ diff --git a/Doc/html/inherits.html b/Doc/html/inherits.html new file mode 100644 index 0000000..a3ad524 --- /dev/null +++ b/Doc/html/inherits.html @@ -0,0 +1,189 @@ + + + + + + +Implémentation de l'algorithme de rétropagation sur un réseau neuronal: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Implémentation de l'algorithme de rétropagation sur un réseau neuronal +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + +
+ + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+
+ + + + diff --git a/Doc/html/jquery.js b/Doc/html/jquery.js new file mode 100644 index 0000000..d52a1c7 --- /dev/null +++ b/Doc/html/jquery.js @@ -0,0 +1,68 @@ +/* + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/* + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/* + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/* + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/* + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/* + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('