fasttext 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (510) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +3 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +251 -0
  5. data/ext/fasttext/ext.cpp +291 -0
  6. data/ext/fasttext/extconf.rb +15 -0
  7. data/lib/fasttext.rb +41 -0
  8. data/lib/fasttext/classifier.rb +92 -0
  9. data/lib/fasttext/ext.bundle +0 -0
  10. data/lib/fasttext/model.rb +60 -0
  11. data/lib/fasttext/vectorizer.rb +58 -0
  12. data/lib/fasttext/version.rb +3 -0
  13. data/vendor/fastText/CMakeLists.txt +68 -0
  14. data/vendor/fastText/CODE_OF_CONDUCT.md +2 -0
  15. data/vendor/fastText/CONTRIBUTING.md +32 -0
  16. data/vendor/fastText/LICENSE +21 -0
  17. data/vendor/fastText/MANIFEST.in +5 -0
  18. data/vendor/fastText/Makefile +63 -0
  19. data/vendor/fastText/README.md +339 -0
  20. data/vendor/fastText/alignment/README.md +53 -0
  21. data/vendor/fastText/alignment/align.py +145 -0
  22. data/vendor/fastText/alignment/eval.py +60 -0
  23. data/vendor/fastText/alignment/example.sh +51 -0
  24. data/vendor/fastText/alignment/unsup_align.py +109 -0
  25. data/vendor/fastText/alignment/utils.py +154 -0
  26. data/vendor/fastText/classification-example.sh +41 -0
  27. data/vendor/fastText/classification-results.sh +94 -0
  28. data/vendor/fastText/crawl/README.md +26 -0
  29. data/vendor/fastText/crawl/dedup.cc +51 -0
  30. data/vendor/fastText/crawl/download_crawl.sh +57 -0
  31. data/vendor/fastText/crawl/filter_dedup.sh +13 -0
  32. data/vendor/fastText/crawl/filter_utf8.cc +105 -0
  33. data/vendor/fastText/crawl/process_wet_file.sh +30 -0
  34. data/vendor/fastText/docs/aligned-vectors.md +64 -0
  35. data/vendor/fastText/docs/api.md +6 -0
  36. data/vendor/fastText/docs/cheatsheet.md +66 -0
  37. data/vendor/fastText/docs/crawl-vectors.md +125 -0
  38. data/vendor/fastText/docs/dataset.md +6 -0
  39. data/vendor/fastText/docs/english-vectors.md +53 -0
  40. data/vendor/fastText/docs/faqs.md +63 -0
  41. data/vendor/fastText/docs/language-identification.md +47 -0
  42. data/vendor/fastText/docs/options.md +50 -0
  43. data/vendor/fastText/docs/pretrained-vectors.md +142 -0
  44. data/vendor/fastText/docs/python-module.md +314 -0
  45. data/vendor/fastText/docs/references.md +41 -0
  46. data/vendor/fastText/docs/supervised-models.md +54 -0
  47. data/vendor/fastText/docs/supervised-tutorial.md +349 -0
  48. data/vendor/fastText/docs/support.md +58 -0
  49. data/vendor/fastText/docs/unsupervised-tutorials.md +309 -0
  50. data/vendor/fastText/eval.py +95 -0
  51. data/vendor/fastText/get-wikimedia.sh +79 -0
  52. data/vendor/fastText/python/README.md +322 -0
  53. data/vendor/fastText/python/README.rst +406 -0
  54. data/vendor/fastText/python/benchmarks/README.rst +3 -0
  55. data/vendor/fastText/python/benchmarks/get_word_vector.py +49 -0
  56. data/vendor/fastText/python/doc/examples/FastTextEmbeddingBag.py +81 -0
  57. data/vendor/fastText/python/doc/examples/bin_to_vec.py +41 -0
  58. data/vendor/fastText/python/doc/examples/compute_accuracy.py +163 -0
  59. data/vendor/fastText/python/doc/examples/get_vocab.py +48 -0
  60. data/vendor/fastText/python/doc/examples/train_supervised.py +42 -0
  61. data/vendor/fastText/python/doc/examples/train_unsupervised.py +56 -0
  62. data/vendor/fastText/python/fasttext_module/fasttext/FastText.py +468 -0
  63. data/vendor/fastText/python/fasttext_module/fasttext/__init__.py +22 -0
  64. data/vendor/fastText/python/fasttext_module/fasttext/pybind/fasttext_pybind.cc +388 -0
  65. data/vendor/fastText/python/fasttext_module/fasttext/tests/__init__.py +14 -0
  66. data/vendor/fastText/python/fasttext_module/fasttext/tests/test_configurations.py +239 -0
  67. data/vendor/fastText/python/fasttext_module/fasttext/tests/test_script.py +629 -0
  68. data/vendor/fastText/python/fasttext_module/fasttext/util/__init__.py +13 -0
  69. data/vendor/fastText/python/fasttext_module/fasttext/util/util.py +60 -0
  70. data/vendor/fastText/quantization-example.sh +40 -0
  71. data/vendor/fastText/runtests.py +60 -0
  72. data/vendor/fastText/scripts/kbcompletion/README.md +19 -0
  73. data/vendor/fastText/scripts/kbcompletion/data.sh +69 -0
  74. data/vendor/fastText/scripts/kbcompletion/eval.cpp +108 -0
  75. data/vendor/fastText/scripts/kbcompletion/fb15k.sh +49 -0
  76. data/vendor/fastText/scripts/kbcompletion/fb15k237.sh +45 -0
  77. data/vendor/fastText/scripts/kbcompletion/svo.sh +38 -0
  78. data/vendor/fastText/scripts/kbcompletion/wn18.sh +49 -0
  79. data/vendor/fastText/scripts/quantization/quantization-results.sh +43 -0
  80. data/vendor/fastText/setup.cfg +2 -0
  81. data/vendor/fastText/setup.py +203 -0
  82. data/vendor/fastText/src/args.cc +320 -0
  83. data/vendor/fastText/src/args.h +68 -0
  84. data/vendor/fastText/src/densematrix.cc +155 -0
  85. data/vendor/fastText/src/densematrix.h +75 -0
  86. data/vendor/fastText/src/dictionary.cc +540 -0
  87. data/vendor/fastText/src/dictionary.h +111 -0
  88. data/vendor/fastText/src/fasttext.cc +821 -0
  89. data/vendor/fastText/src/fasttext.h +191 -0
  90. data/vendor/fastText/src/loss.cc +346 -0
  91. data/vendor/fastText/src/loss.h +163 -0
  92. data/vendor/fastText/src/main.cc +435 -0
  93. data/vendor/fastText/src/matrix.cc +25 -0
  94. data/vendor/fastText/src/matrix.h +44 -0
  95. data/vendor/fastText/src/meter.cc +68 -0
  96. data/vendor/fastText/src/meter.h +69 -0
  97. data/vendor/fastText/src/model.cc +98 -0
  98. data/vendor/fastText/src/model.h +79 -0
  99. data/vendor/fastText/src/productquantizer.cc +251 -0
  100. data/vendor/fastText/src/productquantizer.h +63 -0
  101. data/vendor/fastText/src/quantmatrix.cc +117 -0
  102. data/vendor/fastText/src/quantmatrix.h +60 -0
  103. data/vendor/fastText/src/real.h +15 -0
  104. data/vendor/fastText/src/utils.cc +28 -0
  105. data/vendor/fastText/src/utils.h +43 -0
  106. data/vendor/fastText/src/vector.cc +97 -0
  107. data/vendor/fastText/src/vector.h +61 -0
  108. data/vendor/fastText/tests/fetch_test_data.sh +202 -0
  109. data/vendor/fastText/website/README.md +6 -0
  110. data/vendor/fastText/website/blog/2016-08-18-blog-post.md +42 -0
  111. data/vendor/fastText/website/blog/2017-05-02-blog-post.md +60 -0
  112. data/vendor/fastText/website/blog/2017-10-02-blog-post.md +90 -0
  113. data/vendor/fastText/website/blog/2019-06-25-blog-post.md +168 -0
  114. data/vendor/fastText/website/core/Footer.js +127 -0
  115. data/vendor/fastText/website/package.json +12 -0
  116. data/vendor/fastText/website/pages/en/index.js +286 -0
  117. data/vendor/fastText/website/sidebars.json +18 -0
  118. data/vendor/fastText/website/siteConfig.js +102 -0
  119. data/vendor/fastText/website/static/docs/en/html/annotated.html +115 -0
  120. data/vendor/fastText/website/static/docs/en/html/annotated_dup.js +4 -0
  121. data/vendor/fastText/website/static/docs/en/html/args_8cc.html +113 -0
  122. data/vendor/fastText/website/static/docs/en/html/args_8h.html +134 -0
  123. data/vendor/fastText/website/static/docs/en/html/args_8h.js +14 -0
  124. data/vendor/fastText/website/static/docs/en/html/args_8h_source.html +139 -0
  125. data/vendor/fastText/website/static/docs/en/html/bc_s.png +0 -0
  126. data/vendor/fastText/website/static/docs/en/html/bdwn.png +0 -0
  127. data/vendor/fastText/website/static/docs/en/html/classes.html +121 -0
  128. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Args-members.html +140 -0
  129. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Args.html +753 -0
  130. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Args.js +40 -0
  131. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Dictionary-members.html +148 -0
  132. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Dictionary.html +1266 -0
  133. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Dictionary.js +43 -0
  134. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1FastText-members.html +145 -0
  135. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1FastText.html +1149 -0
  136. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1FastText.js +45 -0
  137. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Matrix-members.html +123 -0
  138. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Matrix.html +610 -0
  139. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Matrix.js +23 -0
  140. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Model-members.html +150 -0
  141. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Model.html +1400 -0
  142. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Model.js +48 -0
  143. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1ProductQuantizer-members.html +131 -0
  144. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1ProductQuantizer.html +950 -0
  145. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1ProductQuantizer.js +31 -0
  146. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1QMatrix-members.html +122 -0
  147. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1QMatrix.html +565 -0
  148. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1QMatrix.js +22 -0
  149. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Vector-members.html +121 -0
  150. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Vector.html +542 -0
  151. data/vendor/fastText/website/static/docs/en/html/classfasttext_1_1Vector.js +21 -0
  152. data/vendor/fastText/website/static/docs/en/html/closed.png +0 -0
  153. data/vendor/fastText/website/static/docs/en/html/dictionary_8cc.html +116 -0
  154. data/vendor/fastText/website/static/docs/en/html/dictionary_8h.html +142 -0
  155. data/vendor/fastText/website/static/docs/en/html/dictionary_8h.js +10 -0
  156. data/vendor/fastText/website/static/docs/en/html/dictionary_8h_source.html +127 -0
  157. data/vendor/fastText/website/static/docs/en/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +145 -0
  158. data/vendor/fastText/website/static/docs/en/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js +29 -0
  159. data/vendor/fastText/website/static/docs/en/html/doc.png +0 -0
  160. data/vendor/fastText/website/static/docs/en/html/doxygen.css +1596 -0
  161. data/vendor/fastText/website/static/docs/en/html/doxygen.png +0 -0
  162. data/vendor/fastText/website/static/docs/en/html/dynsections.js +97 -0
  163. data/vendor/fastText/website/static/docs/en/html/fasttext_8cc.html +119 -0
  164. data/vendor/fastText/website/static/docs/en/html/fasttext_8h.html +168 -0
  165. data/vendor/fastText/website/static/docs/en/html/fasttext_8h.js +6 -0
  166. data/vendor/fastText/website/static/docs/en/html/fasttext_8h_source.html +155 -0
  167. data/vendor/fastText/website/static/docs/en/html/favicon.png +0 -0
  168. data/vendor/fastText/website/static/docs/en/html/files.html +125 -0
  169. data/vendor/fastText/website/static/docs/en/html/files.js +4 -0
  170. data/vendor/fastText/website/static/docs/en/html/folderclosed.png +0 -0
  171. data/vendor/fastText/website/static/docs/en/html/folderopen.png +0 -0
  172. data/vendor/fastText/website/static/docs/en/html/functions.html +139 -0
  173. data/vendor/fastText/website/static/docs/en/html/functions_0x7e.html +112 -0
  174. data/vendor/fastText/website/static/docs/en/html/functions_b.html +115 -0
  175. data/vendor/fastText/website/static/docs/en/html/functions_c.html +143 -0
  176. data/vendor/fastText/website/static/docs/en/html/functions_d.html +135 -0
  177. data/vendor/fastText/website/static/docs/en/html/functions_dup.js +27 -0
  178. data/vendor/fastText/website/static/docs/en/html/functions_e.html +115 -0
  179. data/vendor/fastText/website/static/docs/en/html/functions_f.html +112 -0
  180. data/vendor/fastText/website/static/docs/en/html/functions_func.html +563 -0
  181. data/vendor/fastText/website/static/docs/en/html/functions_g.html +145 -0
  182. data/vendor/fastText/website/static/docs/en/html/functions_h.html +112 -0
  183. data/vendor/fastText/website/static/docs/en/html/functions_i.html +121 -0
  184. data/vendor/fastText/website/static/docs/en/html/functions_k.html +106 -0
  185. data/vendor/fastText/website/static/docs/en/html/functions_l.html +140 -0
  186. data/vendor/fastText/website/static/docs/en/html/functions_m.html +153 -0
  187. data/vendor/fastText/website/static/docs/en/html/functions_n.html +164 -0
  188. data/vendor/fastText/website/static/docs/en/html/functions_o.html +116 -0
  189. data/vendor/fastText/website/static/docs/en/html/functions_p.html +161 -0
  190. data/vendor/fastText/website/static/docs/en/html/functions_q.html +135 -0
  191. data/vendor/fastText/website/static/docs/en/html/functions_r.html +116 -0
  192. data/vendor/fastText/website/static/docs/en/html/functions_s.html +159 -0
  193. data/vendor/fastText/website/static/docs/en/html/functions_t.html +138 -0
  194. data/vendor/fastText/website/static/docs/en/html/functions_u.html +106 -0
  195. data/vendor/fastText/website/static/docs/en/html/functions_v.html +106 -0
  196. data/vendor/fastText/website/static/docs/en/html/functions_vars.html +486 -0
  197. data/vendor/fastText/website/static/docs/en/html/functions_w.html +124 -0
  198. data/vendor/fastText/website/static/docs/en/html/functions_z.html +104 -0
  199. data/vendor/fastText/website/static/docs/en/html/globals.html +170 -0
  200. data/vendor/fastText/website/static/docs/en/html/globals_defs.html +113 -0
  201. data/vendor/fastText/website/static/docs/en/html/globals_func.html +155 -0
  202. data/vendor/fastText/website/static/docs/en/html/index.html +100 -0
  203. data/vendor/fastText/website/static/docs/en/html/jquery.js +87 -0
  204. data/vendor/fastText/website/static/docs/en/html/main_8cc.html +582 -0
  205. data/vendor/fastText/website/static/docs/en/html/main_8cc.js +22 -0
  206. data/vendor/fastText/website/static/docs/en/html/matrix_8cc.html +114 -0
  207. data/vendor/fastText/website/static/docs/en/html/matrix_8h.html +121 -0
  208. data/vendor/fastText/website/static/docs/en/html/matrix_8h_source.html +123 -0
  209. data/vendor/fastText/website/static/docs/en/html/menu.js +26 -0
  210. data/vendor/fastText/website/static/docs/en/html/menudata.js +90 -0
  211. data/vendor/fastText/website/static/docs/en/html/model_8cc.html +113 -0
  212. data/vendor/fastText/website/static/docs/en/html/model_8h.html +183 -0
  213. data/vendor/fastText/website/static/docs/en/html/model_8h.js +8 -0
  214. data/vendor/fastText/website/static/docs/en/html/model_8h_source.html +139 -0
  215. data/vendor/fastText/website/static/docs/en/html/namespacefasttext.html +343 -0
  216. data/vendor/fastText/website/static/docs/en/html/namespacefasttext.js +13 -0
  217. data/vendor/fastText/website/static/docs/en/html/namespacefasttext_1_1utils.html +158 -0
  218. data/vendor/fastText/website/static/docs/en/html/namespacemembers.html +125 -0
  219. data/vendor/fastText/website/static/docs/en/html/namespacemembers_enum.html +107 -0
  220. data/vendor/fastText/website/static/docs/en/html/namespacemembers_func.html +110 -0
  221. data/vendor/fastText/website/static/docs/en/html/namespacemembers_type.html +104 -0
  222. data/vendor/fastText/website/static/docs/en/html/namespaces.html +106 -0
  223. data/vendor/fastText/website/static/docs/en/html/namespaces.js +4 -0
  224. data/vendor/fastText/website/static/docs/en/html/nav_f.png +0 -0
  225. data/vendor/fastText/website/static/docs/en/html/nav_g.png +0 -0
  226. data/vendor/fastText/website/static/docs/en/html/nav_h.png +0 -0
  227. data/vendor/fastText/website/static/docs/en/html/navtree.css +146 -0
  228. data/vendor/fastText/website/static/docs/en/html/navtree.js +517 -0
  229. data/vendor/fastText/website/static/docs/en/html/navtreedata.js +40 -0
  230. data/vendor/fastText/website/static/docs/en/html/navtreeindex0.js +253 -0
  231. data/vendor/fastText/website/static/docs/en/html/navtreeindex1.js +139 -0
  232. data/vendor/fastText/website/static/docs/en/html/open.png +0 -0
  233. data/vendor/fastText/website/static/docs/en/html/productquantizer_8cc.html +118 -0
  234. data/vendor/fastText/website/static/docs/en/html/productquantizer_8cc.js +4 -0
  235. data/vendor/fastText/website/static/docs/en/html/productquantizer_8h.html +124 -0
  236. data/vendor/fastText/website/static/docs/en/html/productquantizer_8h_source.html +133 -0
  237. data/vendor/fastText/website/static/docs/en/html/qmatrix_8cc.html +112 -0
  238. data/vendor/fastText/website/static/docs/en/html/qmatrix_8h.html +126 -0
  239. data/vendor/fastText/website/static/docs/en/html/qmatrix_8h_source.html +128 -0
  240. data/vendor/fastText/website/static/docs/en/html/real_8h.html +117 -0
  241. data/vendor/fastText/website/static/docs/en/html/real_8h.js +4 -0
  242. data/vendor/fastText/website/static/docs/en/html/real_8h_source.html +103 -0
  243. data/vendor/fastText/website/static/docs/en/html/resize.js +114 -0
  244. data/vendor/fastText/website/static/docs/en/html/search/all_0.html +26 -0
  245. data/vendor/fastText/website/static/docs/en/html/search/all_0.js +17 -0
  246. data/vendor/fastText/website/static/docs/en/html/search/all_1.html +26 -0
  247. data/vendor/fastText/website/static/docs/en/html/search/all_1.js +8 -0
  248. data/vendor/fastText/website/static/docs/en/html/search/all_10.html +26 -0
  249. data/vendor/fastText/website/static/docs/en/html/search/all_10.js +10 -0
  250. data/vendor/fastText/website/static/docs/en/html/search/all_11.html +26 -0
  251. data/vendor/fastText/website/static/docs/en/html/search/all_11.js +25 -0
  252. data/vendor/fastText/website/static/docs/en/html/search/all_12.html +26 -0
  253. data/vendor/fastText/website/static/docs/en/html/search/all_12.js +15 -0
  254. data/vendor/fastText/website/static/docs/en/html/search/all_13.html +26 -0
  255. data/vendor/fastText/website/static/docs/en/html/search/all_13.js +7 -0
  256. data/vendor/fastText/website/static/docs/en/html/search/all_14.html +26 -0
  257. data/vendor/fastText/website/static/docs/en/html/search/all_14.js +7 -0
  258. data/vendor/fastText/website/static/docs/en/html/search/all_15.html +26 -0
  259. data/vendor/fastText/website/static/docs/en/html/search/all_15.js +11 -0
  260. data/vendor/fastText/website/static/docs/en/html/search/all_16.html +26 -0
  261. data/vendor/fastText/website/static/docs/en/html/search/all_16.js +4 -0
  262. data/vendor/fastText/website/static/docs/en/html/search/all_17.html +26 -0
  263. data/vendor/fastText/website/static/docs/en/html/search/all_17.js +7 -0
  264. data/vendor/fastText/website/static/docs/en/html/search/all_2.html +26 -0
  265. data/vendor/fastText/website/static/docs/en/html/search/all_2.js +17 -0
  266. data/vendor/fastText/website/static/docs/en/html/search/all_3.html +26 -0
  267. data/vendor/fastText/website/static/docs/en/html/search/all_3.js +17 -0
  268. data/vendor/fastText/website/static/docs/en/html/search/all_4.html +26 -0
  269. data/vendor/fastText/website/static/docs/en/html/search/all_4.js +10 -0
  270. data/vendor/fastText/website/static/docs/en/html/search/all_5.html +26 -0
  271. data/vendor/fastText/website/static/docs/en/html/search/all_5.js +12 -0
  272. data/vendor/fastText/website/static/docs/en/html/search/all_6.html +26 -0
  273. data/vendor/fastText/website/static/docs/en/html/search/all_6.js +18 -0
  274. data/vendor/fastText/website/static/docs/en/html/search/all_7.html +26 -0
  275. data/vendor/fastText/website/static/docs/en/html/search/all_7.js +8 -0
  276. data/vendor/fastText/website/static/docs/en/html/search/all_8.html +26 -0
  277. data/vendor/fastText/website/static/docs/en/html/search/all_8.js +11 -0
  278. data/vendor/fastText/website/static/docs/en/html/search/all_9.html +26 -0
  279. data/vendor/fastText/website/static/docs/en/html/search/all_9.js +5 -0
  280. data/vendor/fastText/website/static/docs/en/html/search/all_a.html +26 -0
  281. data/vendor/fastText/website/static/docs/en/html/search/all_a.js +17 -0
  282. data/vendor/fastText/website/static/docs/en/html/search/all_b.html +26 -0
  283. data/vendor/fastText/website/static/docs/en/html/search/all_b.js +27 -0
  284. data/vendor/fastText/website/static/docs/en/html/search/all_c.html +26 -0
  285. data/vendor/fastText/website/static/docs/en/html/search/all_c.js +26 -0
  286. data/vendor/fastText/website/static/docs/en/html/search/all_d.html +26 -0
  287. data/vendor/fastText/website/static/docs/en/html/search/all_d.js +9 -0
  288. data/vendor/fastText/website/static/docs/en/html/search/all_e.html +26 -0
  289. data/vendor/fastText/website/static/docs/en/html/search/all_e.js +35 -0
  290. data/vendor/fastText/website/static/docs/en/html/search/all_f.html +26 -0
  291. data/vendor/fastText/website/static/docs/en/html/search/all_f.js +16 -0
  292. data/vendor/fastText/website/static/docs/en/html/search/classes_0.html +26 -0
  293. data/vendor/fastText/website/static/docs/en/html/search/classes_0.js +4 -0
  294. data/vendor/fastText/website/static/docs/en/html/search/classes_1.html +26 -0
  295. data/vendor/fastText/website/static/docs/en/html/search/classes_1.js +4 -0
  296. data/vendor/fastText/website/static/docs/en/html/search/classes_2.html +26 -0
  297. data/vendor/fastText/website/static/docs/en/html/search/classes_2.js +4 -0
  298. data/vendor/fastText/website/static/docs/en/html/search/classes_3.html +26 -0
  299. data/vendor/fastText/website/static/docs/en/html/search/classes_3.js +4 -0
  300. data/vendor/fastText/website/static/docs/en/html/search/classes_4.html +26 -0
  301. data/vendor/fastText/website/static/docs/en/html/search/classes_4.js +5 -0
  302. data/vendor/fastText/website/static/docs/en/html/search/classes_5.html +26 -0
  303. data/vendor/fastText/website/static/docs/en/html/search/classes_5.js +4 -0
  304. data/vendor/fastText/website/static/docs/en/html/search/classes_6.html +26 -0
  305. data/vendor/fastText/website/static/docs/en/html/search/classes_6.js +4 -0
  306. data/vendor/fastText/website/static/docs/en/html/search/classes_7.html +26 -0
  307. data/vendor/fastText/website/static/docs/en/html/search/classes_7.js +4 -0
  308. data/vendor/fastText/website/static/docs/en/html/search/classes_8.html +26 -0
  309. data/vendor/fastText/website/static/docs/en/html/search/classes_8.js +4 -0
  310. data/vendor/fastText/website/static/docs/en/html/search/close.png +0 -0
  311. data/vendor/fastText/website/static/docs/en/html/search/defines_0.html +26 -0
  312. data/vendor/fastText/website/static/docs/en/html/search/defines_0.js +5 -0
  313. data/vendor/fastText/website/static/docs/en/html/search/defines_1.html +26 -0
  314. data/vendor/fastText/website/static/docs/en/html/search/defines_1.js +4 -0
  315. data/vendor/fastText/website/static/docs/en/html/search/defines_2.html +26 -0
  316. data/vendor/fastText/website/static/docs/en/html/search/defines_2.js +4 -0
  317. data/vendor/fastText/website/static/docs/en/html/search/defines_3.html +26 -0
  318. data/vendor/fastText/website/static/docs/en/html/search/defines_3.js +4 -0
  319. data/vendor/fastText/website/static/docs/en/html/search/enums_0.html +26 -0
  320. data/vendor/fastText/website/static/docs/en/html/search/enums_0.js +4 -0
  321. data/vendor/fastText/website/static/docs/en/html/search/enums_1.html +26 -0
  322. data/vendor/fastText/website/static/docs/en/html/search/enums_1.js +4 -0
  323. data/vendor/fastText/website/static/docs/en/html/search/enums_2.html +26 -0
  324. data/vendor/fastText/website/static/docs/en/html/search/enums_2.js +4 -0
  325. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_0.html +26 -0
  326. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_0.js +4 -0
  327. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_1.html +26 -0
  328. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_1.js +4 -0
  329. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_2.html +26 -0
  330. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_2.js +4 -0
  331. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_3.html +26 -0
  332. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_3.js +4 -0
  333. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_4.html +26 -0
  334. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_4.js +6 -0
  335. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_5.html +26 -0
  336. data/vendor/fastText/website/static/docs/en/html/search/enumvalues_5.js +4 -0
  337. data/vendor/fastText/website/static/docs/en/html/search/files_0.html +26 -0
  338. data/vendor/fastText/website/static/docs/en/html/search/files_0.js +5 -0
  339. data/vendor/fastText/website/static/docs/en/html/search/files_1.html +26 -0
  340. data/vendor/fastText/website/static/docs/en/html/search/files_1.js +5 -0
  341. data/vendor/fastText/website/static/docs/en/html/search/files_2.html +26 -0
  342. data/vendor/fastText/website/static/docs/en/html/search/files_2.js +5 -0
  343. data/vendor/fastText/website/static/docs/en/html/search/files_3.html +26 -0
  344. data/vendor/fastText/website/static/docs/en/html/search/files_3.js +8 -0
  345. data/vendor/fastText/website/static/docs/en/html/search/files_4.html +26 -0
  346. data/vendor/fastText/website/static/docs/en/html/search/files_4.js +5 -0
  347. data/vendor/fastText/website/static/docs/en/html/search/files_5.html +26 -0
  348. data/vendor/fastText/website/static/docs/en/html/search/files_5.js +5 -0
  349. data/vendor/fastText/website/static/docs/en/html/search/files_6.html +26 -0
  350. data/vendor/fastText/website/static/docs/en/html/search/files_6.js +4 -0
  351. data/vendor/fastText/website/static/docs/en/html/search/files_7.html +26 -0
  352. data/vendor/fastText/website/static/docs/en/html/search/files_7.js +5 -0
  353. data/vendor/fastText/website/static/docs/en/html/search/files_8.html +26 -0
  354. data/vendor/fastText/website/static/docs/en/html/search/files_8.js +5 -0
  355. data/vendor/fastText/website/static/docs/en/html/search/functions_0.html +26 -0
  356. data/vendor/fastText/website/static/docs/en/html/search/functions_0.js +14 -0
  357. data/vendor/fastText/website/static/docs/en/html/search/functions_1.html +26 -0
  358. data/vendor/fastText/website/static/docs/en/html/search/functions_1.js +5 -0
  359. data/vendor/fastText/website/static/docs/en/html/search/functions_10.html +26 -0
  360. data/vendor/fastText/website/static/docs/en/html/search/functions_10.js +5 -0
  361. data/vendor/fastText/website/static/docs/en/html/search/functions_11.html +26 -0
  362. data/vendor/fastText/website/static/docs/en/html/search/functions_11.js +18 -0
  363. data/vendor/fastText/website/static/docs/en/html/search/functions_12.html +26 -0
  364. data/vendor/fastText/website/static/docs/en/html/search/functions_12.js +8 -0
  365. data/vendor/fastText/website/static/docs/en/html/search/functions_13.html +26 -0
  366. data/vendor/fastText/website/static/docs/en/html/search/functions_13.js +5 -0
  367. data/vendor/fastText/website/static/docs/en/html/search/functions_14.html +26 -0
  368. data/vendor/fastText/website/static/docs/en/html/search/functions_14.js +4 -0
  369. data/vendor/fastText/website/static/docs/en/html/search/functions_15.html +26 -0
  370. data/vendor/fastText/website/static/docs/en/html/search/functions_15.js +4 -0
  371. data/vendor/fastText/website/static/docs/en/html/search/functions_16.html +26 -0
  372. data/vendor/fastText/website/static/docs/en/html/search/functions_16.js +4 -0
  373. data/vendor/fastText/website/static/docs/en/html/search/functions_17.html +26 -0
  374. data/vendor/fastText/website/static/docs/en/html/search/functions_17.js +7 -0
  375. data/vendor/fastText/website/static/docs/en/html/search/functions_2.html +26 -0
  376. data/vendor/fastText/website/static/docs/en/html/search/functions_2.js +11 -0
  377. data/vendor/fastText/website/static/docs/en/html/search/functions_3.html +26 -0
  378. data/vendor/fastText/website/static/docs/en/html/search/functions_3.js +9 -0
  379. data/vendor/fastText/website/static/docs/en/html/search/functions_4.html +26 -0
  380. data/vendor/fastText/website/static/docs/en/html/search/functions_4.js +4 -0
  381. data/vendor/fastText/website/static/docs/en/html/search/functions_5.html +26 -0
  382. data/vendor/fastText/website/static/docs/en/html/search/functions_5.js +7 -0
  383. data/vendor/fastText/website/static/docs/en/html/search/functions_6.html +26 -0
  384. data/vendor/fastText/website/static/docs/en/html/search/functions_6.js +17 -0
  385. data/vendor/fastText/website/static/docs/en/html/search/functions_7.html +26 -0
  386. data/vendor/fastText/website/static/docs/en/html/search/functions_7.js +5 -0
  387. data/vendor/fastText/website/static/docs/en/html/search/functions_8.html +26 -0
  388. data/vendor/fastText/website/static/docs/en/html/search/functions_8.js +8 -0
  389. data/vendor/fastText/website/static/docs/en/html/search/functions_9.html +26 -0
  390. data/vendor/fastText/website/static/docs/en/html/search/functions_9.js +4 -0
  391. data/vendor/fastText/website/static/docs/en/html/search/functions_a.html +26 -0
  392. data/vendor/fastText/website/static/docs/en/html/search/functions_a.js +8 -0
  393. data/vendor/fastText/website/static/docs/en/html/search/functions_b.html +26 -0
  394. data/vendor/fastText/website/static/docs/en/html/search/functions_b.js +10 -0
  395. data/vendor/fastText/website/static/docs/en/html/search/functions_c.html +26 -0
  396. data/vendor/fastText/website/static/docs/en/html/search/functions_c.js +10 -0
  397. data/vendor/fastText/website/static/docs/en/html/search/functions_d.html +26 -0
  398. data/vendor/fastText/website/static/docs/en/html/search/functions_d.js +6 -0
  399. data/vendor/fastText/website/static/docs/en/html/search/functions_e.html +26 -0
  400. data/vendor/fastText/website/static/docs/en/html/search/functions_e.js +26 -0
  401. data/vendor/fastText/website/static/docs/en/html/search/functions_f.html +26 -0
  402. data/vendor/fastText/website/static/docs/en/html/search/functions_f.js +6 -0
  403. data/vendor/fastText/website/static/docs/en/html/search/mag_sel.png +0 -0
  404. data/vendor/fastText/website/static/docs/en/html/search/namespaces_0.html +26 -0
  405. data/vendor/fastText/website/static/docs/en/html/search/namespaces_0.js +5 -0
  406. data/vendor/fastText/website/static/docs/en/html/search/nomatches.html +12 -0
  407. data/vendor/fastText/website/static/docs/en/html/search/search.css +271 -0
  408. data/vendor/fastText/website/static/docs/en/html/search/search.js +791 -0
  409. data/vendor/fastText/website/static/docs/en/html/search/search_l.png +0 -0
  410. data/vendor/fastText/website/static/docs/en/html/search/search_m.png +0 -0
  411. data/vendor/fastText/website/static/docs/en/html/search/search_r.png +0 -0
  412. data/vendor/fastText/website/static/docs/en/html/search/searchdata.js +42 -0
  413. data/vendor/fastText/website/static/docs/en/html/search/typedefs_0.html +26 -0
  414. data/vendor/fastText/website/static/docs/en/html/search/typedefs_0.js +4 -0
  415. data/vendor/fastText/website/static/docs/en/html/search/typedefs_1.html +26 -0
  416. data/vendor/fastText/website/static/docs/en/html/search/typedefs_1.js +4 -0
  417. data/vendor/fastText/website/static/docs/en/html/search/variables_0.html +26 -0
  418. data/vendor/fastText/website/static/docs/en/html/search/variables_0.js +4 -0
  419. data/vendor/fastText/website/static/docs/en/html/search/variables_1.html +26 -0
  420. data/vendor/fastText/website/static/docs/en/html/search/variables_1.js +6 -0
  421. data/vendor/fastText/website/static/docs/en/html/search/variables_10.html +26 -0
  422. data/vendor/fastText/website/static/docs/en/html/search/variables_10.js +8 -0
  423. data/vendor/fastText/website/static/docs/en/html/search/variables_11.html +26 -0
  424. data/vendor/fastText/website/static/docs/en/html/search/variables_11.js +11 -0
  425. data/vendor/fastText/website/static/docs/en/html/search/variables_12.html +26 -0
  426. data/vendor/fastText/website/static/docs/en/html/search/variables_12.js +4 -0
  427. data/vendor/fastText/website/static/docs/en/html/search/variables_13.html +26 -0
  428. data/vendor/fastText/website/static/docs/en/html/search/variables_13.js +10 -0
  429. data/vendor/fastText/website/static/docs/en/html/search/variables_2.html +26 -0
  430. data/vendor/fastText/website/static/docs/en/html/search/variables_2.js +9 -0
  431. data/vendor/fastText/website/static/docs/en/html/search/variables_3.html +26 -0
  432. data/vendor/fastText/website/static/docs/en/html/search/variables_3.js +9 -0
  433. data/vendor/fastText/website/static/docs/en/html/search/variables_4.html +26 -0
  434. data/vendor/fastText/website/static/docs/en/html/search/variables_4.js +7 -0
  435. data/vendor/fastText/website/static/docs/en/html/search/variables_5.html +26 -0
  436. data/vendor/fastText/website/static/docs/en/html/search/variables_5.js +4 -0
  437. data/vendor/fastText/website/static/docs/en/html/search/variables_6.html +26 -0
  438. data/vendor/fastText/website/static/docs/en/html/search/variables_6.js +5 -0
  439. data/vendor/fastText/website/static/docs/en/html/search/variables_7.html +26 -0
  440. data/vendor/fastText/website/static/docs/en/html/search/variables_7.js +5 -0
  441. data/vendor/fastText/website/static/docs/en/html/search/variables_8.html +26 -0
  442. data/vendor/fastText/website/static/docs/en/html/search/variables_8.js +4 -0
  443. data/vendor/fastText/website/static/docs/en/html/search/variables_9.html +26 -0
  444. data/vendor/fastText/website/static/docs/en/html/search/variables_9.js +10 -0
  445. data/vendor/fastText/website/static/docs/en/html/search/variables_a.html +26 -0
  446. data/vendor/fastText/website/static/docs/en/html/search/variables_a.js +14 -0
  447. data/vendor/fastText/website/static/docs/en/html/search/variables_b.html +26 -0
  448. data/vendor/fastText/website/static/docs/en/html/search/variables_b.js +17 -0
  449. data/vendor/fastText/website/static/docs/en/html/search/variables_c.html +26 -0
  450. data/vendor/fastText/website/static/docs/en/html/search/variables_c.js +6 -0
  451. data/vendor/fastText/website/static/docs/en/html/search/variables_d.html +26 -0
  452. data/vendor/fastText/website/static/docs/en/html/search/variables_d.js +10 -0
  453. data/vendor/fastText/website/static/docs/en/html/search/variables_e.html +26 -0
  454. data/vendor/fastText/website/static/docs/en/html/search/variables_e.js +11 -0
  455. data/vendor/fastText/website/static/docs/en/html/search/variables_f.html +26 -0
  456. data/vendor/fastText/website/static/docs/en/html/search/variables_f.js +6 -0
  457. data/vendor/fastText/website/static/docs/en/html/splitbar.png +0 -0
  458. data/vendor/fastText/website/static/docs/en/html/structfasttext_1_1Node-members.html +108 -0
  459. data/vendor/fastText/website/static/docs/en/html/structfasttext_1_1Node.html +194 -0
  460. data/vendor/fastText/website/static/docs/en/html/structfasttext_1_1Node.js +8 -0
  461. data/vendor/fastText/website/static/docs/en/html/structfasttext_1_1entry-members.html +107 -0
  462. data/vendor/fastText/website/static/docs/en/html/structfasttext_1_1entry.html +178 -0
  463. data/vendor/fastText/website/static/docs/en/html/structfasttext_1_1entry.js +7 -0
  464. data/vendor/fastText/website/static/docs/en/html/sync_off.png +0 -0
  465. data/vendor/fastText/website/static/docs/en/html/sync_on.png +0 -0
  466. data/vendor/fastText/website/static/docs/en/html/tab_a.png +0 -0
  467. data/vendor/fastText/website/static/docs/en/html/tab_b.png +0 -0
  468. data/vendor/fastText/website/static/docs/en/html/tab_h.png +0 -0
  469. data/vendor/fastText/website/static/docs/en/html/tab_s.png +0 -0
  470. data/vendor/fastText/website/static/docs/en/html/tabs.css +1 -0
  471. data/vendor/fastText/website/static/docs/en/html/utils_8cc.html +121 -0
  472. data/vendor/fastText/website/static/docs/en/html/utils_8cc.js +5 -0
  473. data/vendor/fastText/website/static/docs/en/html/utils_8h.html +122 -0
  474. data/vendor/fastText/website/static/docs/en/html/utils_8h.js +5 -0
  475. data/vendor/fastText/website/static/docs/en/html/utils_8h_source.html +104 -0
  476. data/vendor/fastText/website/static/docs/en/html/vector_8cc.html +121 -0
  477. data/vendor/fastText/website/static/docs/en/html/vector_8cc.js +4 -0
  478. data/vendor/fastText/website/static/docs/en/html/vector_8h.html +126 -0
  479. data/vendor/fastText/website/static/docs/en/html/vector_8h.js +5 -0
  480. data/vendor/fastText/website/static/docs/en/html/vector_8h_source.html +120 -0
  481. data/vendor/fastText/website/static/fasttext.css +48 -0
  482. data/vendor/fastText/website/static/img/authors/armand_joulin.jpg +0 -0
  483. data/vendor/fastText/website/static/img/authors/christian_puhrsch.png +0 -0
  484. data/vendor/fastText/website/static/img/authors/edouard_grave.jpeg +0 -0
  485. data/vendor/fastText/website/static/img/authors/piotr_bojanowski.jpg +0 -0
  486. data/vendor/fastText/website/static/img/authors/tomas_mikolov.jpg +0 -0
  487. data/vendor/fastText/website/static/img/blog/2016-08-18-blog-post-img1.png +0 -0
  488. data/vendor/fastText/website/static/img/blog/2016-08-18-blog-post-img2.png +0 -0
  489. data/vendor/fastText/website/static/img/blog/2017-05-02-blog-post-img1.jpg +0 -0
  490. data/vendor/fastText/website/static/img/blog/2017-05-02-blog-post-img2.jpg +0 -0
  491. data/vendor/fastText/website/static/img/blog/2017-10-02-blog-post-img1.png +0 -0
  492. data/vendor/fastText/website/static/img/cbo_vs_skipgram.png +0 -0
  493. data/vendor/fastText/website/static/img/fasttext-icon-api.png +0 -0
  494. data/vendor/fastText/website/static/img/fasttext-icon-bg-web.png +0 -0
  495. data/vendor/fastText/website/static/img/fasttext-icon-color-square.png +0 -0
  496. data/vendor/fastText/website/static/img/fasttext-icon-color-web.png +0 -0
  497. data/vendor/fastText/website/static/img/fasttext-icon-faq.png +0 -0
  498. data/vendor/fastText/website/static/img/fasttext-icon-tutorial.png +0 -0
  499. data/vendor/fastText/website/static/img/fasttext-icon-white-web.png +0 -0
  500. data/vendor/fastText/website/static/img/fasttext-logo-color-web.png +0 -0
  501. data/vendor/fastText/website/static/img/fasttext-logo-white-web.png +0 -0
  502. data/vendor/fastText/website/static/img/logo-color.png +0 -0
  503. data/vendor/fastText/website/static/img/model-black.png +0 -0
  504. data/vendor/fastText/website/static/img/model-blue.png +0 -0
  505. data/vendor/fastText/website/static/img/model-red.png +0 -0
  506. data/vendor/fastText/website/static/img/ogimage.png +0 -0
  507. data/vendor/fastText/website/static/img/oss_logo.png +0 -0
  508. data/vendor/fastText/wikifil.pl +57 -0
  509. data/vendor/fastText/word-vector-example.sh +39 -0
  510. metadata +621 -0
@@ -0,0 +1,791 @@
1
+ function convertToId(search)
2
+ {
3
+ var result = '';
4
+ for (i=0;i<search.length;i++)
5
+ {
6
+ var c = search.charAt(i);
7
+ var cn = c.charCodeAt(0);
8
+ if (c.match(/[a-z0-9\u0080-\uFFFF]/))
9
+ {
10
+ result+=c;
11
+ }
12
+ else if (cn<16)
13
+ {
14
+ result+="_0"+cn.toString(16);
15
+ }
16
+ else
17
+ {
18
+ result+="_"+cn.toString(16);
19
+ }
20
+ }
21
+ return result;
22
+ }
23
+
24
+ function getXPos(item)
25
+ {
26
+ var x = 0;
27
+ if (item.offsetWidth)
28
+ {
29
+ while (item && item!=document.body)
30
+ {
31
+ x += item.offsetLeft;
32
+ item = item.offsetParent;
33
+ }
34
+ }
35
+ return x;
36
+ }
37
+
38
+ function getYPos(item)
39
+ {
40
+ var y = 0;
41
+ if (item.offsetWidth)
42
+ {
43
+ while (item && item!=document.body)
44
+ {
45
+ y += item.offsetTop;
46
+ item = item.offsetParent;
47
+ }
48
+ }
49
+ return y;
50
+ }
51
+
52
+ /* A class handling everything associated with the search panel.
53
+
54
+ Parameters:
55
+ name - The name of the global variable that will be
56
+ storing this instance. Is needed to be able to set timeouts.
57
+ resultPath - path to use for external files
58
+ */
59
+ function SearchBox(name, resultsPath, inFrame, label)
60
+ {
61
+ if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
62
+
63
+ // ---------- Instance variables
64
+ this.name = name;
65
+ this.resultsPath = resultsPath;
66
+ this.keyTimeout = 0;
67
+ this.keyTimeoutLength = 500;
68
+ this.closeSelectionTimeout = 300;
69
+ this.lastSearchValue = "";
70
+ this.lastResultsPage = "";
71
+ this.hideTimeout = 0;
72
+ this.searchIndex = 0;
73
+ this.searchActive = false;
74
+ this.insideFrame = inFrame;
75
+ this.searchLabel = label;
76
+
77
+ // ----------- DOM Elements
78
+
79
+ this.DOMSearchField = function()
80
+ { return document.getElementById("MSearchField"); }
81
+
82
+ this.DOMSearchSelect = function()
83
+ { return document.getElementById("MSearchSelect"); }
84
+
85
+ this.DOMSearchSelectWindow = function()
86
+ { return document.getElementById("MSearchSelectWindow"); }
87
+
88
+ this.DOMPopupSearchResults = function()
89
+ { return document.getElementById("MSearchResults"); }
90
+
91
+ this.DOMPopupSearchResultsWindow = function()
92
+ { return document.getElementById("MSearchResultsWindow"); }
93
+
94
+ this.DOMSearchClose = function()
95
+ { return document.getElementById("MSearchClose"); }
96
+
97
+ this.DOMSearchBox = function()
98
+ { return document.getElementById("MSearchBox"); }
99
+
100
+ // ------------ Event Handlers
101
+
102
+ // Called when focus is added or removed from the search field.
103
+ this.OnSearchFieldFocus = function(isActive)
104
+ {
105
+ this.Activate(isActive);
106
+ }
107
+
108
+ this.OnSearchSelectShow = function()
109
+ {
110
+ var searchSelectWindow = this.DOMSearchSelectWindow();
111
+ var searchField = this.DOMSearchSelect();
112
+
113
+ if (this.insideFrame)
114
+ {
115
+ var left = getXPos(searchField);
116
+ var top = getYPos(searchField);
117
+ left += searchField.offsetWidth + 6;
118
+ top += searchField.offsetHeight;
119
+
120
+ // show search selection popup
121
+ searchSelectWindow.style.display='block';
122
+ left -= searchSelectWindow.offsetWidth;
123
+ searchSelectWindow.style.left = left + 'px';
124
+ searchSelectWindow.style.top = top + 'px';
125
+ }
126
+ else
127
+ {
128
+ var left = getXPos(searchField);
129
+ var top = getYPos(searchField);
130
+ top += searchField.offsetHeight;
131
+
132
+ // show search selection popup
133
+ searchSelectWindow.style.display='block';
134
+ searchSelectWindow.style.left = left + 'px';
135
+ searchSelectWindow.style.top = top + 'px';
136
+ }
137
+
138
+ // stop selection hide timer
139
+ if (this.hideTimeout)
140
+ {
141
+ clearTimeout(this.hideTimeout);
142
+ this.hideTimeout=0;
143
+ }
144
+ return false; // to avoid "image drag" default event
145
+ }
146
+
147
+ this.OnSearchSelectHide = function()
148
+ {
149
+ this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
150
+ this.closeSelectionTimeout);
151
+ }
152
+
153
+ // Called when the content of the search field is changed.
154
+ this.OnSearchFieldChange = function(evt)
155
+ {
156
+ if (this.keyTimeout) // kill running timer
157
+ {
158
+ clearTimeout(this.keyTimeout);
159
+ this.keyTimeout = 0;
160
+ }
161
+
162
+ var e = (evt) ? evt : window.event; // for IE
163
+ if (e.keyCode==40 || e.keyCode==13)
164
+ {
165
+ if (e.shiftKey==1)
166
+ {
167
+ this.OnSearchSelectShow();
168
+ var win=this.DOMSearchSelectWindow();
169
+ for (i=0;i<win.childNodes.length;i++)
170
+ {
171
+ var child = win.childNodes[i]; // get span within a
172
+ if (child.className=='SelectItem')
173
+ {
174
+ child.focus();
175
+ return;
176
+ }
177
+ }
178
+ return;
179
+ }
180
+ else if (window.frames.MSearchResults.searchResults)
181
+ {
182
+ var elem = window.frames.MSearchResults.searchResults.NavNext(0);
183
+ if (elem) elem.focus();
184
+ }
185
+ }
186
+ else if (e.keyCode==27) // Escape out of the search field
187
+ {
188
+ this.DOMSearchField().blur();
189
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
190
+ this.DOMSearchClose().style.display = 'none';
191
+ this.lastSearchValue = '';
192
+ this.Activate(false);
193
+ return;
194
+ }
195
+
196
+ // strip whitespaces
197
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
198
+
199
+ if (searchValue != this.lastSearchValue) // search value has changed
200
+ {
201
+ if (searchValue != "") // non-empty search
202
+ {
203
+ // set timer for search update
204
+ this.keyTimeout = setTimeout(this.name + '.Search()',
205
+ this.keyTimeoutLength);
206
+ }
207
+ else // empty search field
208
+ {
209
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
210
+ this.DOMSearchClose().style.display = 'none';
211
+ this.lastSearchValue = '';
212
+ }
213
+ }
214
+ }
215
+
216
+ this.SelectItemCount = function(id)
217
+ {
218
+ var count=0;
219
+ var win=this.DOMSearchSelectWindow();
220
+ for (i=0;i<win.childNodes.length;i++)
221
+ {
222
+ var child = win.childNodes[i]; // get span within a
223
+ if (child.className=='SelectItem')
224
+ {
225
+ count++;
226
+ }
227
+ }
228
+ return count;
229
+ }
230
+
231
+ this.SelectItemSet = function(id)
232
+ {
233
+ var i,j=0;
234
+ var win=this.DOMSearchSelectWindow();
235
+ for (i=0;i<win.childNodes.length;i++)
236
+ {
237
+ var child = win.childNodes[i]; // get span within a
238
+ if (child.className=='SelectItem')
239
+ {
240
+ var node = child.firstChild;
241
+ if (j==id)
242
+ {
243
+ node.innerHTML='&#8226;';
244
+ }
245
+ else
246
+ {
247
+ node.innerHTML='&#160;';
248
+ }
249
+ j++;
250
+ }
251
+ }
252
+ }
253
+
254
+ // Called when an search filter selection is made.
255
+ // set item with index id as the active item
256
+ this.OnSelectItem = function(id)
257
+ {
258
+ this.searchIndex = id;
259
+ this.SelectItemSet(id);
260
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
261
+ if (searchValue!="" && this.searchActive) // something was found -> do a search
262
+ {
263
+ this.Search();
264
+ }
265
+ }
266
+
267
+ this.OnSearchSelectKey = function(evt)
268
+ {
269
+ var e = (evt) ? evt : window.event; // for IE
270
+ if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
271
+ {
272
+ this.searchIndex++;
273
+ this.OnSelectItem(this.searchIndex);
274
+ }
275
+ else if (e.keyCode==38 && this.searchIndex>0) // Up
276
+ {
277
+ this.searchIndex--;
278
+ this.OnSelectItem(this.searchIndex);
279
+ }
280
+ else if (e.keyCode==13 || e.keyCode==27)
281
+ {
282
+ this.OnSelectItem(this.searchIndex);
283
+ this.CloseSelectionWindow();
284
+ this.DOMSearchField().focus();
285
+ }
286
+ return false;
287
+ }
288
+
289
+ // --------- Actions
290
+
291
+ // Closes the results window.
292
+ this.CloseResultsWindow = function()
293
+ {
294
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
295
+ this.DOMSearchClose().style.display = 'none';
296
+ this.Activate(false);
297
+ }
298
+
299
+ this.CloseSelectionWindow = function()
300
+ {
301
+ this.DOMSearchSelectWindow().style.display = 'none';
302
+ }
303
+
304
+ // Performs a search.
305
+ this.Search = function()
306
+ {
307
+ this.keyTimeout = 0;
308
+
309
+ // strip leading whitespace
310
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
311
+
312
+ var code = searchValue.toLowerCase().charCodeAt(0);
313
+ var idxChar = searchValue.substr(0, 1).toLowerCase();
314
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
315
+ {
316
+ idxChar = searchValue.substr(0, 2);
317
+ }
318
+
319
+ var resultsPage;
320
+ var resultsPageWithSearch;
321
+ var hasResultsPage;
322
+
323
+ var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
324
+ if (idx!=-1)
325
+ {
326
+ var hexCode=idx.toString(16);
327
+ resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
328
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
329
+ hasResultsPage = true;
330
+ }
331
+ else // nothing available for this search term
332
+ {
333
+ resultsPage = this.resultsPath + '/nomatches.html';
334
+ resultsPageWithSearch = resultsPage;
335
+ hasResultsPage = false;
336
+ }
337
+
338
+ window.frames.MSearchResults.location = resultsPageWithSearch;
339
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
340
+
341
+ if (domPopupSearchResultsWindow.style.display!='block')
342
+ {
343
+ var domSearchBox = this.DOMSearchBox();
344
+ this.DOMSearchClose().style.display = 'inline';
345
+ if (this.insideFrame)
346
+ {
347
+ var domPopupSearchResults = this.DOMPopupSearchResults();
348
+ domPopupSearchResultsWindow.style.position = 'relative';
349
+ domPopupSearchResultsWindow.style.display = 'block';
350
+ var width = document.body.clientWidth - 8; // the -8 is for IE :-(
351
+ domPopupSearchResultsWindow.style.width = width + 'px';
352
+ domPopupSearchResults.style.width = width + 'px';
353
+ }
354
+ else
355
+ {
356
+ var domPopupSearchResults = this.DOMPopupSearchResults();
357
+ var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
358
+ var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
359
+ domPopupSearchResultsWindow.style.display = 'block';
360
+ left -= domPopupSearchResults.offsetWidth;
361
+ domPopupSearchResultsWindow.style.top = top + 'px';
362
+ domPopupSearchResultsWindow.style.left = left + 'px';
363
+ }
364
+ }
365
+
366
+ this.lastSearchValue = searchValue;
367
+ this.lastResultsPage = resultsPage;
368
+ }
369
+
370
+ // -------- Activation Functions
371
+
372
+ // Activates or deactivates the search panel, resetting things to
373
+ // their default values if necessary.
374
+ this.Activate = function(isActive)
375
+ {
376
+ if (isActive || // open it
377
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
378
+ )
379
+ {
380
+ this.DOMSearchBox().className = 'MSearchBoxActive';
381
+
382
+ var searchField = this.DOMSearchField();
383
+
384
+ if (searchField.value == this.searchLabel) // clear "Search" term upon entry
385
+ {
386
+ searchField.value = '';
387
+ this.searchActive = true;
388
+ }
389
+ }
390
+ else if (!isActive) // directly remove the panel
391
+ {
392
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
393
+ this.DOMSearchField().value = this.searchLabel;
394
+ this.searchActive = false;
395
+ this.lastSearchValue = ''
396
+ this.lastResultsPage = '';
397
+ }
398
+ }
399
+ }
400
+
401
+ // -----------------------------------------------------------------------
402
+
403
+ // The class that handles everything on the search results page.
404
+ function SearchResults(name)
405
+ {
406
+ // The number of matches from the last run of <Search()>.
407
+ this.lastMatchCount = 0;
408
+ this.lastKey = 0;
409
+ this.repeatOn = false;
410
+
411
+ // Toggles the visibility of the passed element ID.
412
+ this.FindChildElement = function(id)
413
+ {
414
+ var parentElement = document.getElementById(id);
415
+ var element = parentElement.firstChild;
416
+
417
+ while (element && element!=parentElement)
418
+ {
419
+ if (element.nodeName == 'DIV' && element.className == 'SRChildren')
420
+ {
421
+ return element;
422
+ }
423
+
424
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
425
+ {
426
+ element = element.firstChild;
427
+ }
428
+ else if (element.nextSibling)
429
+ {
430
+ element = element.nextSibling;
431
+ }
432
+ else
433
+ {
434
+ do
435
+ {
436
+ element = element.parentNode;
437
+ }
438
+ while (element && element!=parentElement && !element.nextSibling);
439
+
440
+ if (element && element!=parentElement)
441
+ {
442
+ element = element.nextSibling;
443
+ }
444
+ }
445
+ }
446
+ }
447
+
448
+ this.Toggle = function(id)
449
+ {
450
+ var element = this.FindChildElement(id);
451
+ if (element)
452
+ {
453
+ if (element.style.display == 'block')
454
+ {
455
+ element.style.display = 'none';
456
+ }
457
+ else
458
+ {
459
+ element.style.display = 'block';
460
+ }
461
+ }
462
+ }
463
+
464
+ // Searches for the passed string. If there is no parameter,
465
+ // it takes it from the URL query.
466
+ //
467
+ // Always returns true, since other documents may try to call it
468
+ // and that may or may not be possible.
469
+ this.Search = function(search)
470
+ {
471
+ if (!search) // get search word from URL
472
+ {
473
+ search = window.location.search;
474
+ search = search.substring(1); // Remove the leading '?'
475
+ search = unescape(search);
476
+ }
477
+
478
+ search = search.replace(/^ +/, ""); // strip leading spaces
479
+ search = search.replace(/ +$/, ""); // strip trailing spaces
480
+ search = search.toLowerCase();
481
+ search = convertToId(search);
482
+
483
+ var resultRows = document.getElementsByTagName("div");
484
+ var matches = 0;
485
+
486
+ var i = 0;
487
+ while (i < resultRows.length)
488
+ {
489
+ var row = resultRows.item(i);
490
+ if (row.className == "SRResult")
491
+ {
492
+ var rowMatchName = row.id.toLowerCase();
493
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
494
+
495
+ if (search.length<=rowMatchName.length &&
496
+ rowMatchName.substr(0, search.length)==search)
497
+ {
498
+ row.style.display = 'block';
499
+ matches++;
500
+ }
501
+ else
502
+ {
503
+ row.style.display = 'none';
504
+ }
505
+ }
506
+ i++;
507
+ }
508
+ document.getElementById("Searching").style.display='none';
509
+ if (matches == 0) // no results
510
+ {
511
+ document.getElementById("NoMatches").style.display='block';
512
+ }
513
+ else // at least one result
514
+ {
515
+ document.getElementById("NoMatches").style.display='none';
516
+ }
517
+ this.lastMatchCount = matches;
518
+ return true;
519
+ }
520
+
521
+ // return the first item with index index or higher that is visible
522
+ this.NavNext = function(index)
523
+ {
524
+ var focusItem;
525
+ while (1)
526
+ {
527
+ var focusName = 'Item'+index;
528
+ focusItem = document.getElementById(focusName);
529
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
530
+ {
531
+ break;
532
+ }
533
+ else if (!focusItem) // last element
534
+ {
535
+ break;
536
+ }
537
+ focusItem=null;
538
+ index++;
539
+ }
540
+ return focusItem;
541
+ }
542
+
543
+ this.NavPrev = function(index)
544
+ {
545
+ var focusItem;
546
+ while (1)
547
+ {
548
+ var focusName = 'Item'+index;
549
+ focusItem = document.getElementById(focusName);
550
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
551
+ {
552
+ break;
553
+ }
554
+ else if (!focusItem) // last element
555
+ {
556
+ break;
557
+ }
558
+ focusItem=null;
559
+ index--;
560
+ }
561
+ return focusItem;
562
+ }
563
+
564
+ this.ProcessKeys = function(e)
565
+ {
566
+ if (e.type == "keydown")
567
+ {
568
+ this.repeatOn = false;
569
+ this.lastKey = e.keyCode;
570
+ }
571
+ else if (e.type == "keypress")
572
+ {
573
+ if (!this.repeatOn)
574
+ {
575
+ if (this.lastKey) this.repeatOn = true;
576
+ return false; // ignore first keypress after keydown
577
+ }
578
+ }
579
+ else if (e.type == "keyup")
580
+ {
581
+ this.lastKey = 0;
582
+ this.repeatOn = false;
583
+ }
584
+ return this.lastKey!=0;
585
+ }
586
+
587
+ this.Nav = function(evt,itemIndex)
588
+ {
589
+ var e = (evt) ? evt : window.event; // for IE
590
+ if (e.keyCode==13) return true;
591
+ if (!this.ProcessKeys(e)) return false;
592
+
593
+ if (this.lastKey==38) // Up
594
+ {
595
+ var newIndex = itemIndex-1;
596
+ var focusItem = this.NavPrev(newIndex);
597
+ if (focusItem)
598
+ {
599
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
600
+ if (child && child.style.display == 'block') // children visible
601
+ {
602
+ var n=0;
603
+ var tmpElem;
604
+ while (1) // search for last child
605
+ {
606
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
607
+ if (tmpElem)
608
+ {
609
+ focusItem = tmpElem;
610
+ }
611
+ else // found it!
612
+ {
613
+ break;
614
+ }
615
+ n++;
616
+ }
617
+ }
618
+ }
619
+ if (focusItem)
620
+ {
621
+ focusItem.focus();
622
+ }
623
+ else // return focus to search field
624
+ {
625
+ parent.document.getElementById("MSearchField").focus();
626
+ }
627
+ }
628
+ else if (this.lastKey==40) // Down
629
+ {
630
+ var newIndex = itemIndex+1;
631
+ var focusItem;
632
+ var item = document.getElementById('Item'+itemIndex);
633
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
634
+ if (elem && elem.style.display == 'block') // children visible
635
+ {
636
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
637
+ }
638
+ if (!focusItem) focusItem = this.NavNext(newIndex);
639
+ if (focusItem) focusItem.focus();
640
+ }
641
+ else if (this.lastKey==39) // Right
642
+ {
643
+ var item = document.getElementById('Item'+itemIndex);
644
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
645
+ if (elem) elem.style.display = 'block';
646
+ }
647
+ else if (this.lastKey==37) // Left
648
+ {
649
+ var item = document.getElementById('Item'+itemIndex);
650
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
651
+ if (elem) elem.style.display = 'none';
652
+ }
653
+ else if (this.lastKey==27) // Escape
654
+ {
655
+ parent.searchBox.CloseResultsWindow();
656
+ parent.document.getElementById("MSearchField").focus();
657
+ }
658
+ else if (this.lastKey==13) // Enter
659
+ {
660
+ return true;
661
+ }
662
+ return false;
663
+ }
664
+
665
+ this.NavChild = function(evt,itemIndex,childIndex)
666
+ {
667
+ var e = (evt) ? evt : window.event; // for IE
668
+ if (e.keyCode==13) return true;
669
+ if (!this.ProcessKeys(e)) return false;
670
+
671
+ if (this.lastKey==38) // Up
672
+ {
673
+ if (childIndex>0)
674
+ {
675
+ var newIndex = childIndex-1;
676
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
677
+ }
678
+ else // already at first child, jump to parent
679
+ {
680
+ document.getElementById('Item'+itemIndex).focus();
681
+ }
682
+ }
683
+ else if (this.lastKey==40) // Down
684
+ {
685
+ var newIndex = childIndex+1;
686
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
687
+ if (!elem) // last child, jump to parent next parent
688
+ {
689
+ elem = this.NavNext(itemIndex+1);
690
+ }
691
+ if (elem)
692
+ {
693
+ elem.focus();
694
+ }
695
+ }
696
+ else if (this.lastKey==27) // Escape
697
+ {
698
+ parent.searchBox.CloseResultsWindow();
699
+ parent.document.getElementById("MSearchField").focus();
700
+ }
701
+ else if (this.lastKey==13) // Enter
702
+ {
703
+ return true;
704
+ }
705
+ return false;
706
+ }
707
+ }
708
+
709
+ function setKeyActions(elem,action)
710
+ {
711
+ elem.setAttribute('onkeydown',action);
712
+ elem.setAttribute('onkeypress',action);
713
+ elem.setAttribute('onkeyup',action);
714
+ }
715
+
716
+ function setClassAttr(elem,attr)
717
+ {
718
+ elem.setAttribute('class',attr);
719
+ elem.setAttribute('className',attr);
720
+ }
721
+
722
+ function createResults()
723
+ {
724
+ var results = document.getElementById("SRResults");
725
+ for (var e=0; e<searchData.length; e++)
726
+ {
727
+ var id = searchData[e][0];
728
+ var srResult = document.createElement('div');
729
+ srResult.setAttribute('id','SR_'+id);
730
+ setClassAttr(srResult,'SRResult');
731
+ var srEntry = document.createElement('div');
732
+ setClassAttr(srEntry,'SREntry');
733
+ var srLink = document.createElement('a');
734
+ srLink.setAttribute('id','Item'+e);
735
+ setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
736
+ setClassAttr(srLink,'SRSymbol');
737
+ srLink.innerHTML = searchData[e][1][0];
738
+ srEntry.appendChild(srLink);
739
+ if (searchData[e][1].length==2) // single result
740
+ {
741
+ srLink.setAttribute('href',searchData[e][1][1][0]);
742
+ if (searchData[e][1][1][1])
743
+ {
744
+ srLink.setAttribute('target','_parent');
745
+ }
746
+ var srScope = document.createElement('span');
747
+ setClassAttr(srScope,'SRScope');
748
+ srScope.innerHTML = searchData[e][1][1][2];
749
+ srEntry.appendChild(srScope);
750
+ }
751
+ else // multiple results
752
+ {
753
+ srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
754
+ var srChildren = document.createElement('div');
755
+ setClassAttr(srChildren,'SRChildren');
756
+ for (var c=0; c<searchData[e][1].length-1; c++)
757
+ {
758
+ var srChild = document.createElement('a');
759
+ srChild.setAttribute('id','Item'+e+'_c'+c);
760
+ setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
761
+ setClassAttr(srChild,'SRScope');
762
+ srChild.setAttribute('href',searchData[e][1][c+1][0]);
763
+ if (searchData[e][1][c+1][1])
764
+ {
765
+ srChild.setAttribute('target','_parent');
766
+ }
767
+ srChild.innerHTML = searchData[e][1][c+1][2];
768
+ srChildren.appendChild(srChild);
769
+ }
770
+ srEntry.appendChild(srChildren);
771
+ }
772
+ srResult.appendChild(srEntry);
773
+ results.appendChild(srResult);
774
+ }
775
+ }
776
+
777
+ function init_search()
778
+ {
779
+ var results = document.getElementById("MSearchSelectWindow");
780
+ for (var key in indexSectionLabels)
781
+ {
782
+ var link = document.createElement('a');
783
+ link.setAttribute('class','SelectItem');
784
+ link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
785
+ link.href='javascript:void(0)';
786
+ link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
787
+ results.appendChild(link);
788
+ }
789
+ searchBox.OnSelectItem(0);
790
+ }
791
+