webruby 0.2.7 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1537) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webruby/environment.rb +24 -8
  3. data/lib/webruby/rake/files.rake +6 -22
  4. data/lib/webruby/rake/general.rake +1 -1
  5. data/lib/webruby/rake/mruby.rake +1 -0
  6. data/lib/webruby/utility.rb +14 -0
  7. data/modules/mruby/AUTHORS +14 -0
  8. data/modules/mruby/CONTRIBUTING.md +7 -4
  9. data/modules/mruby/INSTALL +28 -11
  10. data/modules/mruby/MITL +13 -13
  11. data/modules/mruby/Makefile +4 -5
  12. data/modules/mruby/README.md +54 -49
  13. data/modules/mruby/Rakefile +36 -6
  14. data/modules/mruby/benchmark/ao-render.rb +1 -2
  15. data/modules/mruby/benchmark/bm_app_lc_fizzbuzz.rb +52 -0
  16. data/modules/mruby/benchmark/fib39.rb +0 -0
  17. data/modules/mruby/bintest/mrbc.rb +12 -0
  18. data/modules/mruby/build_config.rb +32 -2
  19. data/modules/mruby/doc/api/README.md +30 -0
  20. data/modules/mruby/doc/api/mruby.h.md +69 -0
  21. data/modules/mruby/doc/compile/README.md +208 -99
  22. data/modules/mruby/doc/debugger/README.md +370 -0
  23. data/modules/mruby/doc/language/Core.md +1590 -0
  24. data/modules/mruby/doc/language/README.md +9 -0
  25. data/modules/mruby/doc/language/generator.rb +15 -0
  26. data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_analyze.rb +231 -0
  27. data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_docu.rb +118 -0
  28. data/modules/mruby/doc/language/mrbdoc/mrbdoc.rb +38 -0
  29. data/modules/mruby/doc/mrbconf/README.md +160 -0
  30. data/modules/mruby/doc/mrbgems/README.md +136 -66
  31. data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/mrbgem.rake +1 -1
  32. data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +1 -1
  33. data/modules/mruby/examples/mrbgems/c_extension_example/mrbgem.rake +1 -1
  34. data/modules/mruby/examples/mrbgems/c_extension_example/src/example.c +1 -1
  35. data/modules/mruby/examples/mrbgems/ruby_extension_example/mrbgem.rake +1 -1
  36. data/modules/mruby/examples/targets/{ArduinoDue.rb → build_config_ArduinoDue.rb} +32 -6
  37. data/modules/mruby/examples/targets/build_config_IntelGalileo.rb +106 -0
  38. data/modules/mruby/examples/targets/{chipKitMax32.rb → build_config_chipKITMax32.rb} +26 -7
  39. data/modules/mruby/include/mrbconf.h +25 -1
  40. data/modules/mruby/include/mruby/array.h +32 -22
  41. data/modules/mruby/include/mruby/boxing_nan.h +94 -0
  42. data/modules/mruby/include/mruby/boxing_no.h +49 -0
  43. data/modules/mruby/include/mruby/boxing_word.h +119 -0
  44. data/modules/mruby/include/mruby/class.h +15 -13
  45. data/modules/mruby/include/mruby/compile.h +43 -36
  46. data/modules/mruby/include/mruby/data.h +13 -5
  47. data/modules/mruby/include/mruby/debug.h +9 -9
  48. data/modules/mruby/include/mruby/dump.h +32 -23
  49. data/modules/mruby/include/mruby/error.h +36 -0
  50. data/modules/mruby/include/mruby/gc.h +11 -6
  51. data/modules/mruby/include/mruby/hash.h +12 -12
  52. data/modules/mruby/include/mruby/irep.h +9 -3
  53. data/modules/mruby/include/mruby/khash.h +58 -41
  54. data/modules/mruby/include/mruby/numeric.h +38 -4
  55. data/modules/mruby/include/mruby/object.h +55 -0
  56. data/modules/mruby/include/mruby/opcode.h +160 -0
  57. data/modules/mruby/include/mruby/proc.h +19 -5
  58. data/modules/mruby/include/mruby/range.h +4 -3
  59. data/modules/mruby/include/mruby/re.h +20 -0
  60. data/modules/mruby/include/mruby/string.h +86 -47
  61. data/modules/mruby/include/mruby/value.h +100 -374
  62. data/modules/mruby/include/mruby/variable.h +34 -32
  63. data/modules/mruby/include/mruby/version.h +40 -0
  64. data/modules/mruby/include/mruby.h +211 -139
  65. data/modules/mruby/minirake +16 -9
  66. data/modules/mruby/mrbgems/default.gembox +12 -0
  67. data/modules/mruby/mrbgems/full-core.gembox +3 -3
  68. data/modules/mruby/mrbgems/mruby-array-ext/mrbgem.rake +1 -0
  69. data/modules/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +488 -8
  70. data/modules/mruby/mrbgems/mruby-array-ext/src/array.c +57 -31
  71. data/modules/mruby/mrbgems/mruby-array-ext/test/array.rb +231 -45
  72. data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +286 -0
  73. data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +701 -0
  74. data/modules/mruby/mrbgems/mruby-bin-debugger/mrbgem.rake +9 -0
  75. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +516 -0
  76. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.h +26 -0
  77. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +235 -0
  78. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.h +14 -0
  79. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +78 -0
  80. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +13 -0
  81. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +428 -0
  82. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +501 -0
  83. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +58 -0
  84. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +54 -0
  85. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +746 -0
  86. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +163 -0
  87. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +16 -0
  88. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdberror.h +20 -0
  89. data/modules/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +12 -0
  90. data/modules/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +14 -1
  91. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +154 -72
  92. data/modules/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +46 -0
  93. data/modules/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -0
  94. data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +37 -28
  95. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +30 -0
  96. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config +16 -0
  97. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config.bat +30 -0
  98. data/modules/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +73 -0
  99. data/modules/mruby/mrbgems/mruby-bin-strip/mrbgem.rake +6 -0
  100. data/modules/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +155 -0
  101. data/modules/mruby/mrbgems/mruby-enum-ext/mrbgem.rake +1 -0
  102. data/modules/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +555 -21
  103. data/modules/mruby/mrbgems/mruby-enum-ext/test/enum.rb +119 -0
  104. data/modules/mruby/mrbgems/mruby-enum-lazy/mrbgem.rake +7 -0
  105. data/modules/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +150 -0
  106. data/modules/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +47 -0
  107. data/modules/mruby/mrbgems/mruby-enumerator/mrbgem.rake +7 -0
  108. data/modules/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +636 -0
  109. data/modules/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +537 -0
  110. data/modules/mruby/mrbgems/mruby-eval/mrbgem.rake +1 -0
  111. data/modules/mruby/mrbgems/mruby-eval/src/eval.c +243 -4
  112. data/modules/mruby/mrbgems/mruby-eval/test/eval.rb +80 -0
  113. data/modules/mruby/mrbgems/mruby-exit/mrbgem.rake +1 -0
  114. data/modules/mruby/mrbgems/mruby-exit/src/mruby-exit.c +1 -1
  115. data/modules/mruby/mrbgems/mruby-fiber/mrbgem.rake +1 -0
  116. data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +157 -51
  117. data/modules/mruby/mrbgems/mruby-fiber/test/fiber.rb +179 -35
  118. data/modules/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +3 -0
  119. data/modules/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +241 -1
  120. data/modules/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +11 -19
  121. data/modules/mruby/mrbgems/mruby-hash-ext/test/hash.rb +138 -1
  122. data/modules/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +5 -0
  123. data/modules/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +183 -0
  124. data/modules/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +53 -0
  125. data/modules/mruby/mrbgems/mruby-math/mrbgem.rake +1 -0
  126. data/modules/mruby/mrbgems/mruby-math/src/math.c +107 -14
  127. data/modules/mruby/mrbgems/mruby-math/test/math.rb +16 -0
  128. data/modules/mruby/mrbgems/mruby-numeric-ext/mrbgem.rake +1 -0
  129. data/modules/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +5 -0
  130. data/modules/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +9 -1
  131. data/modules/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -0
  132. data/modules/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +19 -0
  133. data/modules/mruby/mrbgems/mruby-object-ext/src/object.c +5 -8
  134. data/modules/mruby/mrbgems/mruby-object-ext/test/object.rb +16 -0
  135. data/modules/mruby/mrbgems/mruby-objectspace/mrbgem.rake +1 -0
  136. data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +121 -53
  137. data/modules/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +27 -4
  138. data/modules/mruby/mrbgems/mruby-print/mrbgem.rake +1 -0
  139. data/modules/mruby/mrbgems/mruby-print/src/print.c +3 -5
  140. data/modules/mruby/mrbgems/mruby-proc-ext/mrbgem.rake +1 -0
  141. data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +89 -19
  142. data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.c +56 -0
  143. data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.rb +47 -0
  144. data/modules/mruby/mrbgems/mruby-random/mrbgem.rake +1 -0
  145. data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.c +30 -25
  146. data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.h +6 -3
  147. data/modules/mruby/mrbgems/mruby-random/src/random.c +157 -137
  148. data/modules/mruby/mrbgems/mruby-random/src/random.h +3 -3
  149. data/modules/mruby/mrbgems/mruby-random/test/random.rb +9 -9
  150. data/modules/mruby/mrbgems/mruby-range-ext/mrbgem.rake +1 -0
  151. data/modules/mruby/mrbgems/mruby-range-ext/src/range.c +57 -3
  152. data/modules/mruby/mrbgems/mruby-range-ext/test/range.rb +9 -0
  153. data/modules/mruby/mrbgems/mruby-sprintf/mrbgem.rake +1 -0
  154. data/modules/mruby/mrbgems/mruby-sprintf/mrblib/string.rb +9 -0
  155. data/modules/mruby/mrbgems/mruby-sprintf/src/sprintf.c +29 -23
  156. data/modules/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +7 -2
  157. data/modules/mruby/mrbgems/mruby-string-ext/mrbgem.rake +1 -0
  158. data/modules/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +250 -11
  159. data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +220 -5
  160. data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +326 -4
  161. data/modules/mruby/mrbgems/mruby-string-utf8/mrbgem.rake +2 -0
  162. data/modules/mruby/mrbgems/mruby-string-utf8/src/string.c +486 -52
  163. data/modules/mruby/mrbgems/mruby-string-utf8/test/string.rb +97 -14
  164. data/modules/mruby/mrbgems/mruby-struct/mrbgem.rake +1 -0
  165. data/modules/mruby/mrbgems/mruby-struct/mrblib/struct.rb +31 -0
  166. data/modules/mruby/mrbgems/mruby-struct/src/struct.c +178 -196
  167. data/modules/mruby/mrbgems/mruby-struct/test/struct.rb +115 -61
  168. data/modules/mruby/mrbgems/mruby-symbol-ext/mrbgem.rake +1 -0
  169. data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +22 -17
  170. data/modules/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +20 -11
  171. data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +14 -0
  172. data/modules/mruby/mrbgems/mruby-time/mrbgem.rake +1 -0
  173. data/modules/mruby/mrbgems/mruby-time/mrblib/time.rb +9 -0
  174. data/modules/mruby/mrbgems/mruby-time/src/time.c +98 -37
  175. data/modules/mruby/mrbgems/mruby-time/test/time.rb +152 -148
  176. data/modules/mruby/mrbgems/mruby-toplevel-ext/mrbgem.rake +1 -0
  177. data/modules/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +1 -1
  178. data/modules/mruby/mrblib/array.rb +110 -4
  179. data/modules/mruby/mrblib/class.rb +1 -22
  180. data/modules/mruby/mrblib/compar.rb +10 -30
  181. data/modules/mruby/mrblib/enum.rb +64 -52
  182. data/modules/mruby/mrblib/error.rb +9 -4
  183. data/modules/mruby/mrblib/hash.rb +164 -23
  184. data/modules/mruby/mrblib/kernel.rb +26 -22
  185. data/modules/mruby/mrblib/mrblib.rake +4 -4
  186. data/modules/mruby/mrblib/numeric.rb +22 -9
  187. data/modules/mruby/mrblib/range.rb +24 -2
  188. data/modules/mruby/mrblib/string.rb +15 -3
  189. data/modules/mruby/src/array.c +279 -339
  190. data/modules/mruby/src/backtrace.c +68 -16
  191. data/modules/mruby/src/class.c +539 -379
  192. data/modules/mruby/src/codegen.c +424 -207
  193. data/modules/mruby/src/compar.c +1 -1
  194. data/modules/mruby/src/crc.c +7 -6
  195. data/modules/mruby/src/debug.c +37 -36
  196. data/modules/mruby/src/dump.c +463 -213
  197. data/modules/mruby/src/enum.c +1 -1
  198. data/modules/mruby/src/error.c +91 -92
  199. data/modules/mruby/src/error.h +3 -19
  200. data/modules/mruby/src/etc.c +85 -82
  201. data/modules/mruby/src/gc.c +134 -108
  202. data/modules/mruby/src/hash.c +161 -565
  203. data/modules/mruby/src/init.c +2 -13
  204. data/modules/mruby/src/kernel.c +217 -251
  205. data/modules/mruby/src/load.c +280 -283
  206. data/modules/mruby/src/mrb_throw.h +41 -0
  207. data/modules/mruby/src/mruby_core.rake +57 -7
  208. data/modules/mruby/src/node.h +104 -104
  209. data/modules/mruby/src/numeric.c +221 -208
  210. data/modules/mruby/src/object.c +41 -42
  211. data/modules/mruby/src/opcode.h +2 -160
  212. data/modules/mruby/src/parse.y +3430 -3223
  213. data/modules/mruby/src/pool.c +13 -9
  214. data/modules/mruby/src/print.c +20 -17
  215. data/modules/mruby/src/proc.c +77 -21
  216. data/modules/mruby/src/range.c +55 -45
  217. data/modules/mruby/src/state.c +95 -31
  218. data/modules/mruby/src/string.c +462 -468
  219. data/modules/mruby/src/symbol.c +95 -85
  220. data/modules/mruby/src/variable.c +104 -74
  221. data/modules/mruby/src/version.c +13 -0
  222. data/modules/mruby/src/vm.c +528 -296
  223. data/modules/mruby/tasks/libmruby.rake +9 -5
  224. data/modules/mruby/tasks/mrbgem_spec.rake +130 -26
  225. data/modules/mruby/tasks/mrbgems.rake +21 -11
  226. data/modules/mruby/tasks/mrbgems_test.rake +46 -40
  227. data/modules/mruby/tasks/mruby_build.rake +54 -12
  228. data/modules/mruby/tasks/mruby_build_commands.rake +34 -5
  229. data/modules/mruby/tasks/mruby_build_gem.rake +25 -3
  230. data/modules/mruby/tasks/ruby_ext.rake +11 -2
  231. data/modules/mruby/tasks/toolchains/clang.rake +2 -1
  232. data/modules/mruby/tasks/toolchains/gcc.rake +26 -3
  233. data/modules/mruby/tasks/toolchains/visualcpp.rake +17 -8
  234. data/modules/mruby/test/assert.rb +30 -8
  235. data/modules/mruby/test/bintest.rb +10 -0
  236. data/modules/mruby/test/driver.c +74 -24
  237. data/modules/mruby/test/init_mrbtest.c +21 -2
  238. data/modules/mruby/test/mrbtest.rake +27 -5
  239. data/modules/mruby/test/t/argumenterror.rb +0 -5
  240. data/modules/mruby/test/t/array.rb +23 -7
  241. data/modules/mruby/test/t/bs_block.rb +32 -0
  242. data/modules/mruby/test/t/class.rb +29 -5
  243. data/modules/mruby/test/t/comparable.rb +20 -12
  244. data/modules/mruby/test/t/enumerable.rb +33 -7
  245. data/modules/mruby/test/t/exception.rb +63 -38
  246. data/modules/mruby/test/t/false.rb +2 -4
  247. data/modules/mruby/test/t/float.rb +39 -4
  248. data/modules/mruby/test/t/hash.rb +40 -6
  249. data/modules/mruby/test/t/indexerror.rb +0 -4
  250. data/modules/mruby/test/t/integer.rb +41 -5
  251. data/modules/mruby/test/t/kernel.rb +90 -3
  252. data/modules/mruby/test/t/localjumperror.rb +4 -4
  253. data/modules/mruby/test/t/methods.rb +1 -1
  254. data/modules/mruby/test/t/module.rb +43 -13
  255. data/modules/mruby/test/t/nameerror.rb +0 -4
  256. data/modules/mruby/test/t/nil.rb +5 -0
  257. data/modules/mruby/test/t/nomethoderror.rb +11 -2
  258. data/modules/mruby/test/t/numeric.rb +18 -4
  259. data/modules/mruby/test/t/proc.rb +59 -6
  260. data/modules/mruby/test/t/range.rb +15 -5
  261. data/modules/mruby/test/t/rangeerror.rb +0 -4
  262. data/modules/mruby/test/t/standarderror.rb +0 -4
  263. data/modules/mruby/test/t/string.rb +56 -12
  264. data/modules/mruby/test/t/superclass.rb +46 -0
  265. data/modules/mruby/test/t/symbol.rb +0 -4
  266. data/modules/mruby/test/t/syntax.rb +134 -1
  267. data/modules/mruby/test/t/true.rb +2 -4
  268. data/modules/mruby/test/t/typeerror.rb +0 -5
  269. data/modules/mruby/test/t/unicode.rb +35 -0
  270. data/modules/mruby/tools/mrbc/mrbc.c +9 -12
  271. data/modules/mruby/travis_config.rb +22 -2
  272. metadata +98 -1299
  273. data/modules/emscripten/AUTHORS +0 -117
  274. data/modules/emscripten/CONTRIBUTING.markdown +0 -5
  275. data/modules/emscripten/ChangeLog +0 -468
  276. data/modules/emscripten/LICENSE +0 -94
  277. data/modules/emscripten/README.markdown +0 -14
  278. data/modules/emscripten/cmake/Modules/FindOpenAL.cmake +0 -26
  279. data/modules/emscripten/cmake/Platform/Emscripten.cmake +0 -228
  280. data/modules/emscripten/em++ +0 -12
  281. data/modules/emscripten/em++.bat +0 -2
  282. data/modules/emscripten/em-config +0 -24
  283. data/modules/emscripten/em-config.bat +0 -2
  284. data/modules/emscripten/emar +0 -24
  285. data/modules/emscripten/emar.bat +0 -2
  286. data/modules/emscripten/emcc +0 -2069
  287. data/modules/emscripten/emcc.bat +0 -2
  288. data/modules/emscripten/emcc.py +0 -5
  289. data/modules/emscripten/emconfigure +0 -27
  290. data/modules/emscripten/emconfigure.bat +0 -2
  291. data/modules/emscripten/emlink.py +0 -33
  292. data/modules/emscripten/emmake +0 -29
  293. data/modules/emscripten/emmake.bat +0 -2
  294. data/modules/emscripten/emranlib +0 -9
  295. data/modules/emscripten/emranlib.bat +0 -2
  296. data/modules/emscripten/emrun +0 -1087
  297. data/modules/emscripten/emrun.bat +0 -2
  298. data/modules/emscripten/emscons +0 -20
  299. data/modules/emscripten/emscripten.py +0 -1347
  300. data/modules/emscripten/package.json +0 -7
  301. data/modules/emscripten/patches/README +0 -4
  302. data/modules/emscripten/patches/series +0 -2
  303. data/modules/emscripten/scons-tools/closure.py +0 -28
  304. data/modules/emscripten/scons-tools/emscripten.py +0 -364
  305. data/modules/emscripten/scons-tools/llvm.py +0 -34
  306. data/modules/emscripten/src/analyzer.js +0 -1781
  307. data/modules/emscripten/src/closure-externs.js +0 -110
  308. data/modules/emscripten/src/compiler.html +0 -48
  309. data/modules/emscripten/src/compiler.js +0 -331
  310. data/modules/emscripten/src/compiler_phase.html +0 -33
  311. data/modules/emscripten/src/corruptionCheck.js +0 -98
  312. data/modules/emscripten/src/determinstic.js +0 -20
  313. data/modules/emscripten/src/embind/embind.js +0 -1677
  314. data/modules/emscripten/src/embind/emval.js +0 -284
  315. data/modules/emscripten/src/emrun_postjs.js +0 -20
  316. data/modules/emscripten/src/emrun_prejs.js +0 -5
  317. data/modules/emscripten/src/emscripten-source-map.min.js +0 -31
  318. data/modules/emscripten/src/experimental/allow_loopvars_from_memsetcpy_inasm.diff +0 -97
  319. data/modules/emscripten/src/experimental/batching.diff +0 -44
  320. data/modules/emscripten/src/experimental/functypeopt.diff +0 -113
  321. data/modules/emscripten/src/experimental/multiple_heaps.diff +0 -175
  322. data/modules/emscripten/src/experimental/noncallgraphprofiling.diff +0 -197
  323. data/modules/emscripten/src/experimental/optimize_memcpy_for_ta1.diff +0 -124
  324. data/modules/emscripten/src/experimental/remove__label__s.diff +0 -140
  325. data/modules/emscripten/src/experimental/renderer_cache_hash.diff +0 -99
  326. data/modules/emscripten/src/experimental/sdl_key_forwarding.diff +0 -57
  327. data/modules/emscripten/src/experimental/simplifyGeneratedFunctionsDetection.diff +0 -336
  328. data/modules/emscripten/src/experimental/stringCache.diff +0 -147
  329. data/modules/emscripten/src/fastLong.js +0 -299
  330. data/modules/emscripten/src/gl-matrix.js +0 -1952
  331. data/modules/emscripten/src/headless.js +0 -295
  332. data/modules/emscripten/src/headlessCanvas.js +0 -618
  333. data/modules/emscripten/src/hello_world.js +0 -92
  334. data/modules/emscripten/src/intertyper.js +0 -1228
  335. data/modules/emscripten/src/jsifier.js +0 -1969
  336. data/modules/emscripten/src/library.js +0 -9196
  337. data/modules/emscripten/src/library_browser.js +0 -988
  338. data/modules/emscripten/src/library_egl.js +0 -564
  339. data/modules/emscripten/src/library_fs.js +0 -1619
  340. data/modules/emscripten/src/library_gc.js +0 -236
  341. data/modules/emscripten/src/library_gl.js +0 -5194
  342. data/modules/emscripten/src/library_glfw.js +0 -585
  343. data/modules/emscripten/src/library_glut.js +0 -504
  344. data/modules/emscripten/src/library_idbfs.js +0 -216
  345. data/modules/emscripten/src/library_jansson.js +0 -320
  346. data/modules/emscripten/src/library_memfs.js +0 -303
  347. data/modules/emscripten/src/library_nodefs.js +0 -286
  348. data/modules/emscripten/src/library_openal.js +0 -915
  349. data/modules/emscripten/src/library_path.js +0 -133
  350. data/modules/emscripten/src/library_sdl.js +0 -2728
  351. data/modules/emscripten/src/library_sockfs.js +0 -578
  352. data/modules/emscripten/src/library_strtok_r.c +0 -97
  353. data/modules/emscripten/src/library_tty.js +0 -146
  354. data/modules/emscripten/src/library_uuid.js +0 -140
  355. data/modules/emscripten/src/library_xlib.js +0 -23
  356. data/modules/emscripten/src/long.js +0 -1609
  357. data/modules/emscripten/src/modules.js +0 -543
  358. data/modules/emscripten/src/parseTools.js +0 -2723
  359. data/modules/emscripten/src/postamble.js +0 -239
  360. data/modules/emscripten/src/postamble_sharedlib.js +0 -16
  361. data/modules/emscripten/src/preamble.js +0 -1233
  362. data/modules/emscripten/src/preamble_sharedlib.js +0 -25
  363. data/modules/emscripten/src/proxyClient.js +0 -82
  364. data/modules/emscripten/src/proxyWorker.js +0 -143
  365. data/modules/emscripten/src/relooper/README.markdown +0 -14
  366. data/modules/emscripten/src/relooper/Relooper.cpp +0 -1301
  367. data/modules/emscripten/src/relooper/Relooper.h +0 -257
  368. data/modules/emscripten/src/relooper/doit.sh +0 -70
  369. data/modules/emscripten/src/relooper/emscripten/glue.js +0 -67
  370. data/modules/emscripten/src/relooper/emscripten/test.js +0 -44
  371. data/modules/emscripten/src/relooper/fuzzer.py +0 -131
  372. data/modules/emscripten/src/relooper/ministring.h +0 -35
  373. data/modules/emscripten/src/relooper/paper.pdf +0 -0
  374. data/modules/emscripten/src/relooper/test.cpp +0 -290
  375. data/modules/emscripten/src/relooper/test.txt +0 -317
  376. data/modules/emscripten/src/relooper/test2.c +0 -44
  377. data/modules/emscripten/src/relooper/test2.txt +0 -26
  378. data/modules/emscripten/src/relooper/test3.c +0 -42
  379. data/modules/emscripten/src/relooper/test3.txt +0 -56
  380. data/modules/emscripten/src/relooper/test4.cpp +0 -40
  381. data/modules/emscripten/src/relooper/test4.txt +0 -44
  382. data/modules/emscripten/src/relooper/test5.cpp +0 -40
  383. data/modules/emscripten/src/relooper/test5.txt +0 -56
  384. data/modules/emscripten/src/relooper/test6.cpp +0 -31
  385. data/modules/emscripten/src/relooper/test6.txt +0 -26
  386. data/modules/emscripten/src/relooper/test_dead.cpp +0 -28
  387. data/modules/emscripten/src/relooper/test_dead.txt +0 -9
  388. data/modules/emscripten/src/relooper/test_debug.cpp +0 -30
  389. data/modules/emscripten/src/relooper/test_debug.txt +0 -142
  390. data/modules/emscripten/src/relooper/test_fuzz1.cpp +0 -52
  391. data/modules/emscripten/src/relooper/test_fuzz1.txt +0 -72
  392. data/modules/emscripten/src/relooper/test_fuzz2.cpp +0 -34
  393. data/modules/emscripten/src/relooper/test_fuzz2.txt +0 -30
  394. data/modules/emscripten/src/relooper/test_fuzz3.cpp +0 -36
  395. data/modules/emscripten/src/relooper/test_fuzz3.txt +0 -25
  396. data/modules/emscripten/src/relooper/test_fuzz4.cpp +0 -38
  397. data/modules/emscripten/src/relooper/test_fuzz4.txt +0 -41
  398. data/modules/emscripten/src/relooper/test_fuzz5.cpp +0 -57
  399. data/modules/emscripten/src/relooper/test_fuzz5.txt +0 -86
  400. data/modules/emscripten/src/relooper/test_fuzz6.cpp +0 -322
  401. data/modules/emscripten/src/relooper/test_fuzz6.txt +0 -291
  402. data/modules/emscripten/src/relooper/test_inf.cpp +0 -813
  403. data/modules/emscripten/src/relooper/test_inf.txt +0 -1131
  404. data/modules/emscripten/src/relooper/testit.sh +0 -62
  405. data/modules/emscripten/src/relooper/updateit.sh +0 -17
  406. data/modules/emscripten/src/runtime.js +0 -604
  407. data/modules/emscripten/src/settings.js +0 -476
  408. data/modules/emscripten/src/shell.html +0 -95
  409. data/modules/emscripten/src/shell.js +0 -173
  410. data/modules/emscripten/src/shell_sharedlib.js +0 -29
  411. data/modules/emscripten/src/simd.js +0 -1128
  412. data/modules/emscripten/src/socket.io.js +0 -3870
  413. data/modules/emscripten/src/struct_info.json +0 -1077
  414. data/modules/emscripten/src/utility.js +0 -411
  415. data/modules/emscripten/src/wrtcp.js +0 -821
  416. data/modules/emscripten/system/bin/sdl-config +0 -13
  417. data/modules/emscripten/system/include/AL/al.h +0 -172
  418. data/modules/emscripten/system/include/AL/alc.h +0 -84
  419. data/modules/emscripten/system/include/EGL/egl.h +0 -329
  420. data/modules/emscripten/system/include/EGL/eglext.h +0 -398
  421. data/modules/emscripten/system/include/EGL/eglplatform.h +0 -141
  422. data/modules/emscripten/system/include/GL/freeglut_std.h +0 -628
  423. data/modules/emscripten/system/include/GL/gl.h +0 -2241
  424. data/modules/emscripten/system/include/GL/glew.h +0 -6
  425. data/modules/emscripten/system/include/GL/glext.h +0 -11127
  426. data/modules/emscripten/system/include/GL/glfw.h +0 -518
  427. data/modules/emscripten/system/include/GL/glu.h +0 -353
  428. data/modules/emscripten/system/include/GL/glut.h +0 -21
  429. data/modules/emscripten/system/include/GLES/gl.h +0 -770
  430. data/modules/emscripten/system/include/GLES/glext.h +0 -1278
  431. data/modules/emscripten/system/include/GLES/glplatform.h +0 -30
  432. data/modules/emscripten/system/include/GLES2/gl2.h +0 -621
  433. data/modules/emscripten/system/include/GLES2/gl2ext.h +0 -803
  434. data/modules/emscripten/system/include/GLES2/gl2platform.h +0 -30
  435. data/modules/emscripten/system/include/KHR/khrplatform.h +0 -277
  436. data/modules/emscripten/system/include/SDL/COPYING +0 -19
  437. data/modules/emscripten/system/include/SDL/SDL.h +0 -162
  438. data/modules/emscripten/system/include/SDL/SDL_assert.h +0 -241
  439. data/modules/emscripten/system/include/SDL/SDL_atomic.h +0 -318
  440. data/modules/emscripten/system/include/SDL/SDL_audio.h +0 -509
  441. data/modules/emscripten/system/include/SDL/SDL_blendmode.h +0 -60
  442. data/modules/emscripten/system/include/SDL/SDL_clipboard.h +0 -75
  443. data/modules/emscripten/system/include/SDL/SDL_compat.h +0 -365
  444. data/modules/emscripten/system/include/SDL/SDL_config.h +0 -48
  445. data/modules/emscripten/system/include/SDL/SDL_config.h.in +0 -297
  446. data/modules/emscripten/system/include/SDL/SDL_config_android.h +0 -133
  447. data/modules/emscripten/system/include/SDL/SDL_config_iphoneos.h +0 -148
  448. data/modules/emscripten/system/include/SDL/SDL_config_macosx.h +0 -172
  449. data/modules/emscripten/system/include/SDL/SDL_config_minimal.h +0 -74
  450. data/modules/emscripten/system/include/SDL/SDL_config_nintendods.h +0 -129
  451. data/modules/emscripten/system/include/SDL/SDL_config_pandora.h +0 -125
  452. data/modules/emscripten/system/include/SDL/SDL_config_windows.h +0 -207
  453. data/modules/emscripten/system/include/SDL/SDL_config_wiz.h +0 -119
  454. data/modules/emscripten/system/include/SDL/SDL_copying.h +0 -20
  455. data/modules/emscripten/system/include/SDL/SDL_cpuinfo.h +0 -150
  456. data/modules/emscripten/system/include/SDL/SDL_endian.h +0 -248
  457. data/modules/emscripten/system/include/SDL/SDL_error.h +0 -77
  458. data/modules/emscripten/system/include/SDL/SDL_events.h +0 -640
  459. data/modules/emscripten/system/include/SDL/SDL_gesture.h +0 -91
  460. data/modules/emscripten/system/include/SDL/SDL_gfxPrimitives.h +0 -246
  461. data/modules/emscripten/system/include/SDL/SDL_haptic.h +0 -1200
  462. data/modules/emscripten/system/include/SDL/SDL_hints.h +0 -206
  463. data/modules/emscripten/system/include/SDL/SDL_image.h +0 -138
  464. data/modules/emscripten/system/include/SDL/SDL_input.h +0 -87
  465. data/modules/emscripten/system/include/SDL/SDL_joystick.h +0 -208
  466. data/modules/emscripten/system/include/SDL/SDL_keyboard.h +0 -169
  467. data/modules/emscripten/system/include/SDL/SDL_keycode.h +0 -344
  468. data/modules/emscripten/system/include/SDL/SDL_loadso.h +0 -85
  469. data/modules/emscripten/system/include/SDL/SDL_log.h +0 -211
  470. data/modules/emscripten/system/include/SDL/SDL_main.h +0 -98
  471. data/modules/emscripten/system/include/SDL/SDL_mixer.h +0 -634
  472. data/modules/emscripten/system/include/SDL/SDL_mouse.h +0 -213
  473. data/modules/emscripten/system/include/SDL/SDL_mutex.h +0 -248
  474. data/modules/emscripten/system/include/SDL/SDL_name.h +0 -11
  475. data/modules/emscripten/system/include/SDL/SDL_opengl.h +0 -11116
  476. data/modules/emscripten/system/include/SDL/SDL_opengles.h +0 -38
  477. data/modules/emscripten/system/include/SDL/SDL_opengles2.h +0 -38
  478. data/modules/emscripten/system/include/SDL/SDL_pixels.h +0 -423
  479. data/modules/emscripten/system/include/SDL/SDL_platform.h +0 -160
  480. data/modules/emscripten/system/include/SDL/SDL_power.h +0 -79
  481. data/modules/emscripten/system/include/SDL/SDL_quit.h +0 -58
  482. data/modules/emscripten/system/include/SDL/SDL_rect.h +0 -136
  483. data/modules/emscripten/system/include/SDL/SDL_render.h +0 -615
  484. data/modules/emscripten/system/include/SDL/SDL_revision.h +0 -2
  485. data/modules/emscripten/system/include/SDL/SDL_revision.h.orig +0 -2
  486. data/modules/emscripten/system/include/SDL/SDL_rotozoom.h +0 -123
  487. data/modules/emscripten/system/include/SDL/SDL_rwops.h +0 -220
  488. data/modules/emscripten/system/include/SDL/SDL_scancode.h +0 -398
  489. data/modules/emscripten/system/include/SDL/SDL_shape.h +0 -147
  490. data/modules/emscripten/system/include/SDL/SDL_stdinc.h +0 -764
  491. data/modules/emscripten/system/include/SDL/SDL_surface.h +0 -499
  492. data/modules/emscripten/system/include/SDL/SDL_syswm.h +0 -241
  493. data/modules/emscripten/system/include/SDL/SDL_thread.h +0 -182
  494. data/modules/emscripten/system/include/SDL/SDL_timer.h +0 -108
  495. data/modules/emscripten/system/include/SDL/SDL_touch.h +0 -124
  496. data/modules/emscripten/system/include/SDL/SDL_ttf.h +0 -249
  497. data/modules/emscripten/system/include/SDL/SDL_types.h +0 -29
  498. data/modules/emscripten/system/include/SDL/SDL_version.h +0 -166
  499. data/modules/emscripten/system/include/SDL/SDL_video.h +0 -820
  500. data/modules/emscripten/system/include/SDL/begin_code.h +0 -135
  501. data/modules/emscripten/system/include/SDL/close_code.h +0 -37
  502. data/modules/emscripten/system/include/X11/X.h +0 -717
  503. data/modules/emscripten/system/include/X11/Xatom.h +0 -79
  504. data/modules/emscripten/system/include/X11/Xfuncproto.h +0 -127
  505. data/modules/emscripten/system/include/X11/Xlib.h +0 -4023
  506. data/modules/emscripten/system/include/X11/Xosdefs.h +0 -116
  507. data/modules/emscripten/system/include/X11/Xutil.h +0 -826
  508. data/modules/emscripten/system/include/X11/keysym.h +0 -73
  509. data/modules/emscripten/system/include/X11/keysymdef.h +0 -2389
  510. data/modules/emscripten/system/include/compat/ctype.h +0 -34
  511. data/modules/emscripten/system/include/compat/malloc.h +0 -48
  512. data/modules/emscripten/system/include/compat/math.h +0 -14
  513. data/modules/emscripten/system/include/compat/netdb.h +0 -22
  514. data/modules/emscripten/system/include/compat/stdarg.h +0 -16
  515. data/modules/emscripten/system/include/compat/stdlib.h +0 -16
  516. data/modules/emscripten/system/include/compat/string.h +0 -17
  517. data/modules/emscripten/system/include/compat/sys/socketvar.h +0 -14
  518. data/modules/emscripten/system/include/compat/sys/stat.h +0 -20
  519. data/modules/emscripten/system/include/compat/sys/timeb.h +0 -35
  520. data/modules/emscripten/system/include/compat/time.h +0 -18
  521. data/modules/emscripten/system/include/compat/unistd.h +0 -16
  522. data/modules/emscripten/system/include/compat/wchar.h +0 -23
  523. data/modules/emscripten/system/include/compat/wctype.h +0 -23
  524. data/modules/emscripten/system/include/compat/xlocale.h +0 -19
  525. data/modules/emscripten/system/include/emscripten/bind.h +0 -1210
  526. data/modules/emscripten/system/include/emscripten/emmintrin.h +0 -87
  527. data/modules/emscripten/system/include/emscripten/emscripten.h +0 -519
  528. data/modules/emscripten/system/include/emscripten/val.h +0 -311
  529. data/modules/emscripten/system/include/emscripten/vector.h +0 -34
  530. data/modules/emscripten/system/include/emscripten/wire.h +0 -393
  531. data/modules/emscripten/system/include/emscripten/xmmintrin.h +0 -131
  532. data/modules/emscripten/system/include/execinfo.h +0 -44
  533. data/modules/emscripten/system/include/gc.h +0 -70
  534. data/modules/emscripten/system/include/gfx/png.h +0 -3798
  535. data/modules/emscripten/system/include/gfx/pngconf.h +0 -1665
  536. data/modules/emscripten/system/include/gfx/tiff.h +0 -654
  537. data/modules/emscripten/system/include/gfx/tiffconf.h +0 -104
  538. data/modules/emscripten/system/include/gfx/tiffio.h +0 -526
  539. data/modules/emscripten/system/include/gfx/tiffvers.h +0 -9
  540. data/modules/emscripten/system/include/jansson.h +0 -323
  541. data/modules/emscripten/system/include/jansson_config.h +0 -54
  542. data/modules/emscripten/system/include/libc/aio.h +0 -69
  543. data/modules/emscripten/system/include/libc/alloca.h +0 -21
  544. data/modules/emscripten/system/include/libc/ar.h +0 -25
  545. data/modules/emscripten/system/include/libc/arpa/ftp.h +0 -35
  546. data/modules/emscripten/system/include/libc/arpa/inet.h +0 -36
  547. data/modules/emscripten/system/include/libc/arpa/nameser.h +0 -467
  548. data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +0 -2
  549. data/modules/emscripten/system/include/libc/arpa/telnet.h +0 -251
  550. data/modules/emscripten/system/include/libc/arpa/tftp.h +0 -31
  551. data/modules/emscripten/system/include/libc/assert.h +0 -19
  552. data/modules/emscripten/system/include/libc/bits/alltypes.h +0 -397
  553. data/modules/emscripten/system/include/libc/bits/endian.h +0 -1
  554. data/modules/emscripten/system/include/libc/bits/errno.h +0 -134
  555. data/modules/emscripten/system/include/libc/bits/fcntl.h +0 -38
  556. data/modules/emscripten/system/include/libc/bits/fenv.h +0 -34
  557. data/modules/emscripten/system/include/libc/bits/float.h +0 -17
  558. data/modules/emscripten/system/include/libc/bits/io.h +0 -0
  559. data/modules/emscripten/system/include/libc/bits/ioctl.h +0 -197
  560. data/modules/emscripten/system/include/libc/bits/ipc.h +0 -14
  561. data/modules/emscripten/system/include/libc/bits/limits.h +0 -8
  562. data/modules/emscripten/system/include/libc/bits/mman.h +0 -62
  563. data/modules/emscripten/system/include/libc/bits/msg.h +0 -16
  564. data/modules/emscripten/system/include/libc/bits/posix.h +0 -2
  565. data/modules/emscripten/system/include/libc/bits/reg.h +0 -19
  566. data/modules/emscripten/system/include/libc/bits/setjmp.h +0 -1
  567. data/modules/emscripten/system/include/libc/bits/shm.h +0 -18
  568. data/modules/emscripten/system/include/libc/bits/signal.h +0 -112
  569. data/modules/emscripten/system/include/libc/bits/socket.h +0 -17
  570. data/modules/emscripten/system/include/libc/bits/stat.h +0 -22
  571. data/modules/emscripten/system/include/libc/bits/statfs.h +0 -7
  572. data/modules/emscripten/system/include/libc/bits/stdarg.h +0 -4
  573. data/modules/emscripten/system/include/libc/bits/stdint.h +0 -20
  574. data/modules/emscripten/system/include/libc/bits/syscall.h +0 -696
  575. data/modules/emscripten/system/include/libc/bits/termios.h +0 -160
  576. data/modules/emscripten/system/include/libc/bits/user.h +0 -48
  577. data/modules/emscripten/system/include/libc/byteswap.h +0 -26
  578. data/modules/emscripten/system/include/libc/complex.h +0 -125
  579. data/modules/emscripten/system/include/libc/cpio.h +0 -29
  580. data/modules/emscripten/system/include/libc/crypt.h +0 -20
  581. data/modules/emscripten/system/include/libc/ctype.h +0 -67
  582. data/modules/emscripten/system/include/libc/dirent.h +0 -79
  583. data/modules/emscripten/system/include/libc/dlfcn.h +0 -42
  584. data/modules/emscripten/system/include/libc/elf.h +0 -2555
  585. data/modules/emscripten/system/include/libc/endian.h +0 -82
  586. data/modules/emscripten/system/include/libc/err.h +0 -25
  587. data/modules/emscripten/system/include/libc/errno.h +0 -27
  588. data/modules/emscripten/system/include/libc/fcntl.h +0 -175
  589. data/modules/emscripten/system/include/libc/features.h +0 -32
  590. data/modules/emscripten/system/include/libc/fenv.h +0 -28
  591. data/modules/emscripten/system/include/libc/float.h +0 -34
  592. data/modules/emscripten/system/include/libc/fnmatch.h +0 -29
  593. data/modules/emscripten/system/include/libc/ftw.h +0 -42
  594. data/modules/emscripten/system/include/libc/getopt.h +0 -31
  595. data/modules/emscripten/system/include/libc/glob.h +0 -48
  596. data/modules/emscripten/system/include/libc/grp.h +0 -52
  597. data/modules/emscripten/system/include/libc/iconv.h +0 -24
  598. data/modules/emscripten/system/include/libc/ifaddrs.h +0 -35
  599. data/modules/emscripten/system/include/libc/inttypes.h +0 -227
  600. data/modules/emscripten/system/include/libc/iso646.h +0 -20
  601. data/modules/emscripten/system/include/libc/langinfo.h +0 -88
  602. data/modules/emscripten/system/include/libc/lastlog.h +0 -1
  603. data/modules/emscripten/system/include/libc/libgen.h +0 -15
  604. data/modules/emscripten/system/include/libc/libintl.h +0 -25
  605. data/modules/emscripten/system/include/libc/limits.h +0 -146
  606. data/modules/emscripten/system/include/libc/link.h +0 -54
  607. data/modules/emscripten/system/include/libc/locale.h +0 -82
  608. data/modules/emscripten/system/include/libc/malloc.h +0 -0
  609. data/modules/emscripten/system/include/libc/math.h +0 -422
  610. data/modules/emscripten/system/include/libc/memory.h +0 -1
  611. data/modules/emscripten/system/include/libc/mntent.h +0 -44
  612. data/modules/emscripten/system/include/libc/monetary.h +0 -23
  613. data/modules/emscripten/system/include/libc/mqueue.h +0 -36
  614. data/modules/emscripten/system/include/libc/net/ethernet.h +0 -55
  615. data/modules/emscripten/system/include/libc/net/if.h +0 -135
  616. data/modules/emscripten/system/include/libc/net/if_arp.h +0 -133
  617. data/modules/emscripten/system/include/libc/net/route.h +0 -124
  618. data/modules/emscripten/system/include/libc/netdb.h +0 -161
  619. data/modules/emscripten/system/include/libc/netinet/ether.h +0 -14
  620. data/modules/emscripten/system/include/libc/netinet/icmp6.h +0 -305
  621. data/modules/emscripten/system/include/libc/netinet/if_ether.h +0 -126
  622. data/modules/emscripten/system/include/libc/netinet/in.h +0 -336
  623. data/modules/emscripten/system/include/libc/netinet/in_systm.h +0 -9
  624. data/modules/emscripten/system/include/libc/netinet/ip.h +0 -186
  625. data/modules/emscripten/system/include/libc/netinet/ip6.h +0 -142
  626. data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +0 -192
  627. data/modules/emscripten/system/include/libc/netinet/tcp.h +0 -71
  628. data/modules/emscripten/system/include/libc/netinet/udp.h +0 -35
  629. data/modules/emscripten/system/include/libc/netpacket/packet.h +0 -44
  630. data/modules/emscripten/system/include/libc/nl_types.h +0 -22
  631. data/modules/emscripten/system/include/libc/paths.h +0 -32
  632. data/modules/emscripten/system/include/libc/poll.h +0 -46
  633. data/modules/emscripten/system/include/libc/pthread.h +0 -222
  634. data/modules/emscripten/system/include/libc/pty.h +0 -18
  635. data/modules/emscripten/system/include/libc/pwd.h +0 -49
  636. data/modules/emscripten/system/include/libc/readme.txt +0 -3
  637. data/modules/emscripten/system/include/libc/regex.h +0 -62
  638. data/modules/emscripten/system/include/libc/resolv.h +0 -144
  639. data/modules/emscripten/system/include/libc/sched.h +0 -132
  640. data/modules/emscripten/system/include/libc/search.h +0 -51
  641. data/modules/emscripten/system/include/libc/semaphore.h +0 -35
  642. data/modules/emscripten/system/include/libc/setjmp.h +0 -42
  643. data/modules/emscripten/system/include/libc/shadow.h +0 -44
  644. data/modules/emscripten/system/include/libc/signal.h +0 -255
  645. data/modules/emscripten/system/include/libc/spawn.h +0 -74
  646. data/modules/emscripten/system/include/libc/stdalign.h +0 -15
  647. data/modules/emscripten/system/include/libc/stdarg.h +0 -25
  648. data/modules/emscripten/system/include/libc/stdbool.h +0 -14
  649. data/modules/emscripten/system/include/libc/stddef.h +0 -18
  650. data/modules/emscripten/system/include/libc/stdint.h +0 -117
  651. data/modules/emscripten/system/include/libc/stdio.h +0 -199
  652. data/modules/emscripten/system/include/libc/stdio_ext.h +0 -34
  653. data/modules/emscripten/system/include/libc/stdlib.h +0 -171
  654. data/modules/emscripten/system/include/libc/stdnoreturn.h +0 -5
  655. data/modules/emscripten/system/include/libc/string.h +0 -102
  656. data/modules/emscripten/system/include/libc/strings.h +0 -35
  657. data/modules/emscripten/system/include/libc/stropts.h +0 -139
  658. data/modules/emscripten/system/include/libc/sys/acct.h +0 -75
  659. data/modules/emscripten/system/include/libc/sys/cachectl.h +0 -22
  660. data/modules/emscripten/system/include/libc/sys/dir.h +0 -2
  661. data/modules/emscripten/system/include/libc/sys/epoll.h +0 -67
  662. data/modules/emscripten/system/include/libc/sys/errno.h +0 -2
  663. data/modules/emscripten/system/include/libc/sys/eventfd.h +0 -26
  664. data/modules/emscripten/system/include/libc/sys/fcntl.h +0 -2
  665. data/modules/emscripten/system/include/libc/sys/file.h +0 -21
  666. data/modules/emscripten/system/include/libc/sys/fsuid.h +0 -20
  667. data/modules/emscripten/system/include/libc/sys/inotify.h +0 -57
  668. data/modules/emscripten/system/include/libc/sys/io.h +0 -17
  669. data/modules/emscripten/system/include/libc/sys/ioctl.h +0 -14
  670. data/modules/emscripten/system/include/libc/sys/ipc.h +0 -42
  671. data/modules/emscripten/system/include/libc/sys/klog.h +0 -14
  672. data/modules/emscripten/system/include/libc/sys/mman.h +0 -55
  673. data/modules/emscripten/system/include/libc/sys/mount.h +0 -72
  674. data/modules/emscripten/system/include/libc/sys/msg.h +0 -52
  675. data/modules/emscripten/system/include/libc/sys/mtio.h +0 -188
  676. data/modules/emscripten/system/include/libc/sys/param.h +0 -35
  677. data/modules/emscripten/system/include/libc/sys/personality.h +0 -46
  678. data/modules/emscripten/system/include/libc/sys/poll.h +0 -2
  679. data/modules/emscripten/system/include/libc/sys/prctl.h +0 -101
  680. data/modules/emscripten/system/include/libc/sys/procfs.h +0 -65
  681. data/modules/emscripten/system/include/libc/sys/ptrace.h +0 -96
  682. data/modules/emscripten/system/include/libc/sys/reboot.h +0 -20
  683. data/modules/emscripten/system/include/libc/sys/reg.h +0 -9
  684. data/modules/emscripten/system/include/libc/sys/resource.h +0 -103
  685. data/modules/emscripten/system/include/libc/sys/select.h +0 -42
  686. data/modules/emscripten/system/include/libc/sys/sem.h +0 -82
  687. data/modules/emscripten/system/include/libc/sys/sendfile.h +0 -22
  688. data/modules/emscripten/system/include/libc/sys/shm.h +0 -61
  689. data/modules/emscripten/system/include/libc/sys/signal.h +0 -2
  690. data/modules/emscripten/system/include/libc/sys/signalfd.h +0 -44
  691. data/modules/emscripten/system/include/libc/sys/socket.h +0 -299
  692. data/modules/emscripten/system/include/libc/sys/stat.h +0 -114
  693. data/modules/emscripten/system/include/libc/sys/statfs.h +0 -32
  694. data/modules/emscripten/system/include/libc/sys/statvfs.h +0 -57
  695. data/modules/emscripten/system/include/libc/sys/stropts.h +0 -1
  696. data/modules/emscripten/system/include/libc/sys/swap.h +0 -21
  697. data/modules/emscripten/system/include/libc/sys/syscall.h +0 -6
  698. data/modules/emscripten/system/include/libc/sys/sysctl.h +0 -17
  699. data/modules/emscripten/system/include/libc/sys/sysinfo.h +0 -36
  700. data/modules/emscripten/system/include/libc/sys/syslog.h +0 -1
  701. data/modules/emscripten/system/include/libc/sys/sysmacros.h +0 -15
  702. data/modules/emscripten/system/include/libc/sys/termios.h +0 -2
  703. data/modules/emscripten/system/include/libc/sys/time.h +0 -57
  704. data/modules/emscripten/system/include/libc/sys/timerfd.h +0 -24
  705. data/modules/emscripten/system/include/libc/sys/times.h +0 -26
  706. data/modules/emscripten/system/include/libc/sys/timex.h +0 -98
  707. data/modules/emscripten/system/include/libc/sys/ttydefaults.h +0 -39
  708. data/modules/emscripten/system/include/libc/sys/types.h +0 -91
  709. data/modules/emscripten/system/include/libc/sys/ucontext.h +0 -1
  710. data/modules/emscripten/system/include/libc/sys/uio.h +0 -48
  711. data/modules/emscripten/system/include/libc/sys/un.h +0 -32
  712. data/modules/emscripten/system/include/libc/sys/user.h +0 -16
  713. data/modules/emscripten/system/include/libc/sys/utsname.h +0 -30
  714. data/modules/emscripten/system/include/libc/sys/vfs.h +0 -1
  715. data/modules/emscripten/system/include/libc/sys/wait.h +0 -55
  716. data/modules/emscripten/system/include/libc/sys/xattr.h +0 -30
  717. data/modules/emscripten/system/include/libc/syscall.h +0 -1
  718. data/modules/emscripten/system/include/libc/sysexits.h +0 -21
  719. data/modules/emscripten/system/include/libc/syslog.h +0 -104
  720. data/modules/emscripten/system/include/libc/tar.h +0 -33
  721. data/modules/emscripten/system/include/libc/termios.h +0 -46
  722. data/modules/emscripten/system/include/libc/tgmath.h +0 -270
  723. data/modules/emscripten/system/include/libc/time.h +0 -132
  724. data/modules/emscripten/system/include/libc/ucontext.h +0 -25
  725. data/modules/emscripten/system/include/libc/ulimit.h +0 -17
  726. data/modules/emscripten/system/include/libc/unistd.h +0 -519
  727. data/modules/emscripten/system/include/libc/utime.h +0 -24
  728. data/modules/emscripten/system/include/libc/utmp.h +0 -47
  729. data/modules/emscripten/system/include/libc/utmpx.h +0 -58
  730. data/modules/emscripten/system/include/libc/values.h +0 -39
  731. data/modules/emscripten/system/include/libc/wchar.h +0 -183
  732. data/modules/emscripten/system/include/libc/wctype.h +0 -77
  733. data/modules/emscripten/system/include/libc/wordexp.h +0 -42
  734. data/modules/emscripten/system/include/libcxx/CREDITS.TXT +0 -123
  735. data/modules/emscripten/system/include/libcxx/LICENSE.txt +0 -76
  736. data/modules/emscripten/system/include/libcxx/__bit_reference +0 -1287
  737. data/modules/emscripten/system/include/libcxx/__config +0 -610
  738. data/modules/emscripten/system/include/libcxx/__debug +0 -218
  739. data/modules/emscripten/system/include/libcxx/__functional_03 +0 -2130
  740. data/modules/emscripten/system/include/libcxx/__functional_base +0 -615
  741. data/modules/emscripten/system/include/libcxx/__functional_base_03 +0 -1087
  742. data/modules/emscripten/system/include/libcxx/__hash_table +0 -2457
  743. data/modules/emscripten/system/include/libcxx/__locale +0 -1445
  744. data/modules/emscripten/system/include/libcxx/__mutex_base +0 -407
  745. data/modules/emscripten/system/include/libcxx/__split_buffer +0 -654
  746. data/modules/emscripten/system/include/libcxx/__sso_allocator +0 -77
  747. data/modules/emscripten/system/include/libcxx/__std_stream +0 -359
  748. data/modules/emscripten/system/include/libcxx/__tree +0 -2309
  749. data/modules/emscripten/system/include/libcxx/__tuple +0 -305
  750. data/modules/emscripten/system/include/libcxx/__tuple_03 +0 -27
  751. data/modules/emscripten/system/include/libcxx/__undef_min_max +0 -27
  752. data/modules/emscripten/system/include/libcxx/algorithm +0 -5679
  753. data/modules/emscripten/system/include/libcxx/array +0 -342
  754. data/modules/emscripten/system/include/libcxx/atomic +0 -1531
  755. data/modules/emscripten/system/include/libcxx/bitset +0 -1081
  756. data/modules/emscripten/system/include/libcxx/cassert +0 -25
  757. data/modules/emscripten/system/include/libcxx/ccomplex +0 -29
  758. data/modules/emscripten/system/include/libcxx/cctype +0 -164
  759. data/modules/emscripten/system/include/libcxx/cerrno +0 -393
  760. data/modules/emscripten/system/include/libcxx/cfenv +0 -82
  761. data/modules/emscripten/system/include/libcxx/cfloat +0 -78
  762. data/modules/emscripten/system/include/libcxx/chrono +0 -1027
  763. data/modules/emscripten/system/include/libcxx/cinttypes +0 -259
  764. data/modules/emscripten/system/include/libcxx/ciso646 +0 -25
  765. data/modules/emscripten/system/include/libcxx/climits +0 -48
  766. data/modules/emscripten/system/include/libcxx/clocale +0 -53
  767. data/modules/emscripten/system/include/libcxx/cmath +0 -1690
  768. data/modules/emscripten/system/include/libcxx/codecvt +0 -550
  769. data/modules/emscripten/system/include/libcxx/complex +0 -1567
  770. data/modules/emscripten/system/include/libcxx/complex.h +0 -35
  771. data/modules/emscripten/system/include/libcxx/condition_variable +0 -256
  772. data/modules/emscripten/system/include/libcxx/csetjmp +0 -52
  773. data/modules/emscripten/system/include/libcxx/csignal +0 -58
  774. data/modules/emscripten/system/include/libcxx/cstdarg +0 -48
  775. data/modules/emscripten/system/include/libcxx/cstdbool +0 -32
  776. data/modules/emscripten/system/include/libcxx/cstddef +0 -103
  777. data/modules/emscripten/system/include/libcxx/cstdint +0 -191
  778. data/modules/emscripten/system/include/libcxx/cstdio +0 -182
  779. data/modules/emscripten/system/include/libcxx/cstdlib +0 -172
  780. data/modules/emscripten/system/include/libcxx/cstring +0 -112
  781. data/modules/emscripten/system/include/libcxx/ctgmath +0 -29
  782. data/modules/emscripten/system/include/libcxx/ctime +0 -72
  783. data/modules/emscripten/system/include/libcxx/cwchar +0 -217
  784. data/modules/emscripten/system/include/libcxx/cwctype +0 -213
  785. data/modules/emscripten/system/include/libcxx/deque +0 -2873
  786. data/modules/emscripten/system/include/libcxx/dynarray +0 -311
  787. data/modules/emscripten/system/include/libcxx/exception +0 -250
  788. data/modules/emscripten/system/include/libcxx/ext/__hash +0 -46
  789. data/modules/emscripten/system/include/libcxx/ext/hash_map +0 -1007
  790. data/modules/emscripten/system/include/libcxx/ext/hash_set +0 -661
  791. data/modules/emscripten/system/include/libcxx/forward_list +0 -1663
  792. data/modules/emscripten/system/include/libcxx/fstream +0 -1431
  793. data/modules/emscripten/system/include/libcxx/functional +0 -2418
  794. data/modules/emscripten/system/include/libcxx/future +0 -2615
  795. data/modules/emscripten/system/include/libcxx/initializer_list +0 -118
  796. data/modules/emscripten/system/include/libcxx/iomanip +0 -651
  797. data/modules/emscripten/system/include/libcxx/ios +0 -1023
  798. data/modules/emscripten/system/include/libcxx/iosfwd +0 -194
  799. data/modules/emscripten/system/include/libcxx/iostream +0 -60
  800. data/modules/emscripten/system/include/libcxx/istream +0 -1716
  801. data/modules/emscripten/system/include/libcxx/iterator +0 -1568
  802. data/modules/emscripten/system/include/libcxx/limits +0 -813
  803. data/modules/emscripten/system/include/libcxx/list +0 -2355
  804. data/modules/emscripten/system/include/libcxx/locale +0 -4465
  805. data/modules/emscripten/system/include/libcxx/map +0 -2045
  806. data/modules/emscripten/system/include/libcxx/memory +0 -5448
  807. data/modules/emscripten/system/include/libcxx/mutex +0 -566
  808. data/modules/emscripten/system/include/libcxx/new +0 -146
  809. data/modules/emscripten/system/include/libcxx/numeric +0 -197
  810. data/modules/emscripten/system/include/libcxx/optional +0 -697
  811. data/modules/emscripten/system/include/libcxx/ostream +0 -1295
  812. data/modules/emscripten/system/include/libcxx/queue +0 -717
  813. data/modules/emscripten/system/include/libcxx/random +0 -6725
  814. data/modules/emscripten/system/include/libcxx/ratio +0 -487
  815. data/modules/emscripten/system/include/libcxx/readme.txt +0 -1
  816. data/modules/emscripten/system/include/libcxx/regex +0 -6487
  817. data/modules/emscripten/system/include/libcxx/scoped_allocator +0 -578
  818. data/modules/emscripten/system/include/libcxx/set +0 -1189
  819. data/modules/emscripten/system/include/libcxx/shared_mutex +0 -419
  820. data/modules/emscripten/system/include/libcxx/sstream +0 -972
  821. data/modules/emscripten/system/include/libcxx/stack +0 -292
  822. data/modules/emscripten/system/include/libcxx/stdexcept +0 -162
  823. data/modules/emscripten/system/include/libcxx/streambuf +0 -564
  824. data/modules/emscripten/system/include/libcxx/string +0 -4198
  825. data/modules/emscripten/system/include/libcxx/strstream +0 -400
  826. data/modules/emscripten/system/include/libcxx/support/ibm/limits.h +0 -99
  827. data/modules/emscripten/system/include/libcxx/support/ibm/support.h +0 -54
  828. data/modules/emscripten/system/include/libcxx/support/ibm/xlocale.h +0 -326
  829. data/modules/emscripten/system/include/libcxx/support/solaris/floatingpoint.h +0 -5
  830. data/modules/emscripten/system/include/libcxx/support/solaris/wchar.h +0 -38
  831. data/modules/emscripten/system/include/libcxx/support/solaris/xlocale.h +0 -146
  832. data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +0 -79
  833. data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +0 -129
  834. data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +0 -115
  835. data/modules/emscripten/system/include/libcxx/support/win32/support.h +0 -119
  836. data/modules/emscripten/system/include/libcxx/system_error +0 -642
  837. data/modules/emscripten/system/include/libcxx/tgmath.h +0 -29
  838. data/modules/emscripten/system/include/libcxx/thread +0 -458
  839. data/modules/emscripten/system/include/libcxx/tuple +0 -1102
  840. data/modules/emscripten/system/include/libcxx/type_traits +0 -3292
  841. data/modules/emscripten/system/include/libcxx/typeindex +0 -103
  842. data/modules/emscripten/system/include/libcxx/typeinfo +0 -124
  843. data/modules/emscripten/system/include/libcxx/unordered_map +0 -2078
  844. data/modules/emscripten/system/include/libcxx/unordered_set +0 -1379
  845. data/modules/emscripten/system/include/libcxx/utility +0 -768
  846. data/modules/emscripten/system/include/libcxx/valarray +0 -4779
  847. data/modules/emscripten/system/include/libcxx/vector +0 -3246
  848. data/modules/emscripten/system/include/unwind.h +0 -154
  849. data/modules/emscripten/system/include/uuid/uuid.h +0 -35
  850. data/modules/emscripten/system/include/zconf.h +0 -428
  851. data/modules/emscripten/system/include/zlib.h +0 -1613
  852. data/modules/emscripten/system/lib/compiler-rt/LICENSE.TXT +0 -97
  853. data/modules/emscripten/system/lib/compiler-rt/divdi3.c +0 -47
  854. data/modules/emscripten/system/lib/compiler-rt/int_endianness.h +0 -116
  855. data/modules/emscripten/system/lib/compiler-rt/int_lib.h +0 -46
  856. data/modules/emscripten/system/lib/compiler-rt/int_math.h +0 -67
  857. data/modules/emscripten/system/lib/compiler-rt/int_types.h +0 -140
  858. data/modules/emscripten/system/lib/compiler-rt/int_util.h +0 -29
  859. data/modules/emscripten/system/lib/compiler-rt/muldi3.c +0 -56
  860. data/modules/emscripten/system/lib/compiler-rt/readme.txt +0 -20
  861. data/modules/emscripten/system/lib/compiler-rt/udivdi3.c +0 -36
  862. data/modules/emscripten/system/lib/compiler-rt/udivmoddi4.c +0 -251
  863. data/modules/emscripten/system/lib/debugging.cpp +0 -24
  864. data/modules/emscripten/system/lib/dlmalloc.c +0 -6297
  865. data/modules/emscripten/system/lib/embind/bind.cpp +0 -63
  866. data/modules/emscripten/system/lib/libc/gen/err.c +0 -49
  867. data/modules/emscripten/system/lib/libc/gen/errx.c +0 -49
  868. data/modules/emscripten/system/lib/libc/gen/verr.c +0 -58
  869. data/modules/emscripten/system/lib/libc/gen/verrx.c +0 -51
  870. data/modules/emscripten/system/lib/libc/gen/vwarn.c +0 -55
  871. data/modules/emscripten/system/lib/libc/gen/vwarnx.c +0 -48
  872. data/modules/emscripten/system/lib/libc/gen/warn.c +0 -49
  873. data/modules/emscripten/system/lib/libc/gen/warnx.c +0 -49
  874. data/modules/emscripten/system/lib/libc/musl/COPYRIGHT +0 -92
  875. data/modules/emscripten/system/lib/libc/musl/readme.txt +0 -9
  876. data/modules/emscripten/system/lib/libc/musl/src/ctype/alpha.h +0 -125
  877. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalnum.c +0 -7
  878. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalpha.c +0 -14
  879. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswblank.c +0 -8
  880. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswcntrl.c +0 -10
  881. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswctype.c +0 -63
  882. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswdigit.c +0 -9
  883. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswgraph.c +0 -7
  884. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswlower.c +0 -6
  885. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswprint.c +0 -19
  886. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswpunct.c +0 -12
  887. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswspace.c +0 -19
  888. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswupper.c +0 -6
  889. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswxdigit.c +0 -7
  890. data/modules/emscripten/system/lib/libc/musl/src/ctype/nonspacing.h +0 -62
  891. data/modules/emscripten/system/lib/libc/musl/src/ctype/punct.h +0 -109
  892. data/modules/emscripten/system/lib/libc/musl/src/ctype/towctrans.c +0 -268
  893. data/modules/emscripten/system/lib/libc/musl/src/ctype/wcswidth.c +0 -8
  894. data/modules/emscripten/system/lib/libc/musl/src/ctype/wctrans.c +0 -16
  895. data/modules/emscripten/system/lib/libc/musl/src/ctype/wcwidth.c +0 -29
  896. data/modules/emscripten/system/lib/libc/musl/src/ctype/wide.h +0 -42
  897. data/modules/emscripten/system/lib/libc/musl/src/internal/libc.c +0 -22
  898. data/modules/emscripten/system/lib/libc/musl/src/internal/libc.h +0 -71
  899. data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +0 -5
  900. data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +0 -92
  901. data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +0 -1085
  902. data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +0 -238
  903. data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +0 -1836
  904. data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +0 -390
  905. data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +0 -454
  906. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +0 -6
  907. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +0 -6
  908. data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +0 -6
  909. data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +0 -6
  910. data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +0 -9
  911. data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +0 -6
  912. data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +0 -6
  913. data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +0 -6
  914. data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +0 -6
  915. data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +0 -6
  916. data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +0 -6
  917. data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +0 -6
  918. data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +0 -6
  919. data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +0 -550
  920. data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +0 -640
  921. data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +0 -39
  922. data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +0 -101
  923. data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +0 -18
  924. data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +0 -6
  925. data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +0 -9
  926. data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +0 -9
  927. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +0 -16
  928. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +0 -6
  929. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +0 -21
  930. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +0 -6
  931. data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +0 -6
  932. data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +0 -9
  933. data/modules/emscripten/system/lib/libc/musl/src/multibyte/btowc.c +0 -7
  934. data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.c +0 -38
  935. data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.h +0 -22
  936. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mblen.c +0 -17
  937. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrlen.c +0 -18
  938. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrtowc.c +0 -57
  939. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsinit.c +0 -17
  940. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsnrtowcs.c +0 -65
  941. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsrtowcs.c +0 -100
  942. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbstowcs.c +0 -7
  943. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbtowc.c +0 -53
  944. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c +0 -38
  945. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsnrtombs.c +0 -52
  946. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsrtombs.c +0 -58
  947. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcstombs.c +0 -7
  948. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctob.c +0 -8
  949. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c +0 -18
  950. data/modules/emscripten/system/lib/libc/musl/src/regex/regcomp.c +0 -3352
  951. data/modules/emscripten/system/lib/libc/musl/src/regex/regerror.c +0 -35
  952. data/modules/emscripten/system/lib/libc/musl/src/regex/regexec.c +0 -1011
  953. data/modules/emscripten/system/lib/libc/musl/src/regex/tre-mem.c +0 -158
  954. data/modules/emscripten/system/lib/libc/musl/src/regex/tre.h +0 -231
  955. data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +0 -13
  956. data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +0 -14
  957. data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +0 -361
  958. data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +0 -53
  959. data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +0 -7
  960. data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +0 -13
  961. data/modules/emscripten/system/lib/libc/musl/src/stdlib/ecvt.c +0 -19
  962. data/modules/emscripten/system/lib/libc/musl/src/stdlib/fcvt.c +0 -25
  963. data/modules/emscripten/system/lib/libc/musl/src/stdlib/gcvt.c +0 -8
  964. data/modules/emscripten/system/lib/libc/musl/src/string/wcpcpy.c +0 -6
  965. data/modules/emscripten/system/lib/libc/musl/src/string/wcpncpy.c +0 -6
  966. data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp.c +0 -7
  967. data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp_l.c +0 -6
  968. data/modules/emscripten/system/lib/libc/musl/src/string/wcscat.c +0 -7
  969. data/modules/emscripten/system/lib/libc/musl/src/string/wcschr.c +0 -8
  970. data/modules/emscripten/system/lib/libc/musl/src/string/wcscmp.c +0 -7
  971. data/modules/emscripten/system/lib/libc/musl/src/string/wcscpy.c +0 -8
  972. data/modules/emscripten/system/lib/libc/musl/src/string/wcscspn.c +0 -10
  973. data/modules/emscripten/system/lib/libc/musl/src/string/wcsdup.c +0 -11
  974. data/modules/emscripten/system/lib/libc/musl/src/string/wcslen.c +0 -8
  975. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp.c +0 -9
  976. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp_l.c +0 -6
  977. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncat.c +0 -10
  978. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncmp.c +0 -7
  979. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncpy.c +0 -9
  980. data/modules/emscripten/system/lib/libc/musl/src/string/wcsnlen.c +0 -8
  981. data/modules/emscripten/system/lib/libc/musl/src/string/wcspbrk.c +0 -7
  982. data/modules/emscripten/system/lib/libc/musl/src/string/wcsrchr.c +0 -8
  983. data/modules/emscripten/system/lib/libc/musl/src/string/wcsspn.c +0 -8
  984. data/modules/emscripten/system/lib/libc/musl/src/string/wcsstr.c +0 -108
  985. data/modules/emscripten/system/lib/libc/musl/src/string/wcstok.c +0 -12
  986. data/modules/emscripten/system/lib/libc/musl/src/string/wcswcs.c +0 -6
  987. data/modules/emscripten/system/lib/libc/musl/src/string/wmemchr.c +0 -8
  988. data/modules/emscripten/system/lib/libc/musl/src/string/wmemcmp.c +0 -8
  989. data/modules/emscripten/system/lib/libc/musl/src/string/wmemcpy.c +0 -9
  990. data/modules/emscripten/system/lib/libc/musl/src/string/wmemmove.c +0 -12
  991. data/modules/emscripten/system/lib/libc/musl/src/string/wmemset.c +0 -9
  992. data/modules/emscripten/system/lib/libc/stdlib/getopt_long.c +0 -511
  993. data/modules/emscripten/system/lib/libc/stdlib/strtod.c +0 -305
  994. data/modules/emscripten/system/lib/libc.symbols +0 -81
  995. data/modules/emscripten/system/lib/libcextra.symbols +0 -115
  996. data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +0 -123
  997. data/modules/emscripten/system/lib/libcxx/LICENSE.txt +0 -76
  998. data/modules/emscripten/system/lib/libcxx/algorithm.cpp +0 -84
  999. data/modules/emscripten/system/lib/libcxx/bind.cpp +0 -30
  1000. data/modules/emscripten/system/lib/libcxx/chrono.cpp +0 -132
  1001. data/modules/emscripten/system/lib/libcxx/condition_variable.cpp +0 -81
  1002. data/modules/emscripten/system/lib/libcxx/debug.cpp +0 -530
  1003. data/modules/emscripten/system/lib/libcxx/exception.cpp +0 -307
  1004. data/modules/emscripten/system/lib/libcxx/future.cpp +0 -291
  1005. data/modules/emscripten/system/lib/libcxx/hash.cpp +0 -570
  1006. data/modules/emscripten/system/lib/libcxx/ios.cpp +0 -460
  1007. data/modules/emscripten/system/lib/libcxx/iostream.cpp +0 -68
  1008. data/modules/emscripten/system/lib/libcxx/locale.cpp +0 -6169
  1009. data/modules/emscripten/system/lib/libcxx/memory.cpp +0 -223
  1010. data/modules/emscripten/system/lib/libcxx/mutex.cpp +0 -253
  1011. data/modules/emscripten/system/lib/libcxx/new.cpp +0 -239
  1012. data/modules/emscripten/system/lib/libcxx/optional.cpp +0 -25
  1013. data/modules/emscripten/system/lib/libcxx/random.cpp +0 -74
  1014. data/modules/emscripten/system/lib/libcxx/readme.txt +0 -1
  1015. data/modules/emscripten/system/lib/libcxx/regex.cpp +0 -325
  1016. data/modules/emscripten/system/lib/libcxx/shared_mutex.cpp +0 -101
  1017. data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +0 -200
  1018. data/modules/emscripten/system/lib/libcxx/string.cpp +0 -530
  1019. data/modules/emscripten/system/lib/libcxx/strstream.cpp +0 -329
  1020. data/modules/emscripten/system/lib/libcxx/support/solaris/README +0 -4
  1021. data/modules/emscripten/system/lib/libcxx/support/solaris/mbsnrtowcs.inc +0 -76
  1022. data/modules/emscripten/system/lib/libcxx/support/solaris/wcsnrtombs.inc +0 -93
  1023. data/modules/emscripten/system/lib/libcxx/support/solaris/xlocale.c +0 -245
  1024. data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +0 -95
  1025. data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +0 -166
  1026. data/modules/emscripten/system/lib/libcxx/symbols +0 -2699
  1027. data/modules/emscripten/system/lib/libcxx/system_error.cpp +0 -205
  1028. data/modules/emscripten/system/lib/libcxx/thread.cpp +0 -225
  1029. data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +0 -73
  1030. data/modules/emscripten/system/lib/libcxx/utility.cpp +0 -17
  1031. data/modules/emscripten/system/lib/libcxx/valarray.cpp +0 -56
  1032. data/modules/emscripten/system/lib/libcxxabi/CREDITS.TXT +0 -38
  1033. data/modules/emscripten/system/lib/libcxxabi/LICENSE.TXT +0 -76
  1034. data/modules/emscripten/system/lib/libcxxabi/include/cxa_demangle.h +0 -167
  1035. data/modules/emscripten/system/lib/libcxxabi/include/cxxabi.h +0 -175
  1036. data/modules/emscripten/system/lib/libcxxabi/lib/buildit +0 -99
  1037. data/modules/emscripten/system/lib/libcxxabi/readme.txt +0 -1
  1038. data/modules/emscripten/system/lib/libcxxabi/src/abort_message.cpp +0 -50
  1039. data/modules/emscripten/system/lib/libcxxabi/src/abort_message.h +0 -33
  1040. data/modules/emscripten/system/lib/libcxxabi/src/cxa_aux_runtime.cpp +0 -34
  1041. data/modules/emscripten/system/lib/libcxxabi/src/cxa_demangle.cpp +0 -11036
  1042. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.cpp +0 -622
  1043. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.hpp +0 -123
  1044. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception_storage.cpp +0 -91
  1045. data/modules/emscripten/system/lib/libcxxabi/src/cxa_guard.cpp +0 -231
  1046. data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.cpp +0 -125
  1047. data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.hpp +0 -54
  1048. data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +0 -242
  1049. data/modules/emscripten/system/lib/libcxxabi/src/cxa_personality.cpp +0 -1055
  1050. data/modules/emscripten/system/lib/libcxxabi/src/cxa_unexpected.cpp +0 -27
  1051. data/modules/emscripten/system/lib/libcxxabi/src/cxa_vector.cpp +0 -367
  1052. data/modules/emscripten/system/lib/libcxxabi/src/cxa_virtual.cpp +0 -31
  1053. data/modules/emscripten/system/lib/libcxxabi/src/exception.cpp +0 -41
  1054. data/modules/emscripten/system/lib/libcxxabi/src/fallback_malloc.ipp +0 -174
  1055. data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp +0 -1146
  1056. data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.h +0 -248
  1057. data/modules/emscripten/system/lib/libcxxabi/src/stdexcept.cpp +0 -169
  1058. data/modules/emscripten/system/lib/libcxxabi/src/typeinfo.cpp +0 -53
  1059. data/modules/emscripten/system/lib/libcxxabi/symbols +0 -236
  1060. data/modules/emscripten/system/lib/sdl.cpp +0 -13
  1061. data/modules/emscripten/system/lib/sdl.symbols +0 -1
  1062. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/CppHeaderParser.py +0 -2347
  1063. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/__init__.py +0 -4
  1064. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/doc/CppHeaderParser.html +0 -657
  1065. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/SampleClass.h +0 -147
  1066. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/readSampleClass.py +0 -74
  1067. data/modules/emscripten/third_party/CppHeaderParser/PKG-INFO +0 -249
  1068. data/modules/emscripten/third_party/CppHeaderParser/README.html +0 -544
  1069. data/modules/emscripten/third_party/CppHeaderParser/README.txt +0 -226
  1070. data/modules/emscripten/third_party/CppHeaderParser/setup.py +0 -43
  1071. data/modules/emscripten/third_party/ansidecl.h +0 -371
  1072. data/modules/emscripten/third_party/closure-compiler/COPYING +0 -202
  1073. data/modules/emscripten/third_party/closure-compiler/README +0 -292
  1074. data/modules/emscripten/third_party/closure-compiler/compiler.jar +0 -0
  1075. data/modules/emscripten/third_party/closure-compiler/readme.txt +0 -3
  1076. data/modules/emscripten/third_party/cp-demangle.h +0 -161
  1077. data/modules/emscripten/third_party/demangle.h +0 -549
  1078. data/modules/emscripten/third_party/demangler.py +0 -49
  1079. data/modules/emscripten/third_party/gcc_demangler.c +0 -4226
  1080. data/modules/emscripten/third_party/gcc_demangler.js +0 -21282
  1081. data/modules/emscripten/third_party/jni/emjvm.cpp +0 -133
  1082. data/modules/emscripten/third_party/jni/emjvm.h +0 -8
  1083. data/modules/emscripten/third_party/jni/emjvm.js +0 -185
  1084. data/modules/emscripten/third_party/jni/jni.h +0 -1154
  1085. data/modules/emscripten/third_party/libiberty.h +0 -634
  1086. data/modules/emscripten/third_party/lzma.js/README.markdown +0 -37
  1087. data/modules/emscripten/third_party/lzma.js/doit.bat +0 -4
  1088. data/modules/emscripten/third_party/lzma.js/doit.sh +0 -44
  1089. data/modules/emscripten/third_party/lzma.js/lzip/AUTHORS +0 -7
  1090. data/modules/emscripten/third_party/lzma.js/lzip/COPYING +0 -676
  1091. data/modules/emscripten/third_party/lzma.js/lzip/ChangeLog +0 -201
  1092. data/modules/emscripten/third_party/lzma.js/lzip/INSTALL +0 -56
  1093. data/modules/emscripten/third_party/lzma.js/lzip/Makefile +0 -160
  1094. data/modules/emscripten/third_party/lzma.js/lzip/Makefile.in +0 -138
  1095. data/modules/emscripten/third_party/lzma.js/lzip/NEWS +0 -22
  1096. data/modules/emscripten/third_party/lzma.js/lzip/README +0 -77
  1097. data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.cc +0 -204
  1098. data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.h +0 -106
  1099. data/modules/emscripten/third_party/lzma.js/lzip/configure +0 -192
  1100. data/modules/emscripten/third_party/lzma.js/lzip/decoder.cc +0 -252
  1101. data/modules/emscripten/third_party/lzma.js/lzip/decoder.h +0 -268
  1102. data/modules/emscripten/third_party/lzma.js/lzip/encoder.cc +0 -643
  1103. data/modules/emscripten/third_party/lzma.js/lzip/encoder.h +0 -582
  1104. data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.cc +0 -378
  1105. data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.h +0 -171
  1106. data/modules/emscripten/third_party/lzma.js/lzip/lzip.h +0 -264
  1107. data/modules/emscripten/third_party/lzma.js/lzip/main.cc +0 -545
  1108. data/modules/emscripten/third_party/lzma.js/lzma-decoder.js +0 -27
  1109. data/modules/emscripten/third_party/lzma.js/lzma-full.js +0 -27
  1110. data/modules/emscripten/third_party/lzma.js/native_test.sh +0 -5
  1111. data/modules/emscripten/third_party/lzma.js/post.js +0 -13
  1112. data/modules/emscripten/third_party/lzma.js/pre.js +0 -13
  1113. data/modules/emscripten/third_party/lzma.js/test-decoder.js +0 -39
  1114. data/modules/emscripten/third_party/lzma.js/test-full.html +0 -9
  1115. data/modules/emscripten/third_party/lzma.js/test-full.js +0 -78
  1116. data/modules/emscripten/third_party/ply/ANNOUNCE +0 -40
  1117. data/modules/emscripten/third_party/ply/CHANGES +0 -1093
  1118. data/modules/emscripten/third_party/ply/PKG-INFO +0 -22
  1119. data/modules/emscripten/third_party/ply/README +0 -271
  1120. data/modules/emscripten/third_party/ply/TODO +0 -16
  1121. data/modules/emscripten/third_party/ply/doc/internal.html +0 -874
  1122. data/modules/emscripten/third_party/ply/doc/makedoc.py +0 -194
  1123. data/modules/emscripten/third_party/ply/doc/ply.html +0 -3262
  1124. data/modules/emscripten/third_party/ply/example/BASIC/README +0 -79
  1125. data/modules/emscripten/third_party/ply/example/BASIC/basic.py +0 -71
  1126. data/modules/emscripten/third_party/ply/example/BASIC/basiclex.py +0 -74
  1127. data/modules/emscripten/third_party/ply/example/BASIC/basiclog.py +0 -79
  1128. data/modules/emscripten/third_party/ply/example/BASIC/basinterp.py +0 -441
  1129. data/modules/emscripten/third_party/ply/example/BASIC/basparse.py +0 -424
  1130. data/modules/emscripten/third_party/ply/example/BASIC/dim.bas +0 -14
  1131. data/modules/emscripten/third_party/ply/example/BASIC/func.bas +0 -5
  1132. data/modules/emscripten/third_party/ply/example/BASIC/gcd.bas +0 -22
  1133. data/modules/emscripten/third_party/ply/example/BASIC/gosub.bas +0 -13
  1134. data/modules/emscripten/third_party/ply/example/BASIC/hello.bas +0 -4
  1135. data/modules/emscripten/third_party/ply/example/BASIC/linear.bas +0 -17
  1136. data/modules/emscripten/third_party/ply/example/BASIC/maxsin.bas +0 -12
  1137. data/modules/emscripten/third_party/ply/example/BASIC/powers.bas +0 -13
  1138. data/modules/emscripten/third_party/ply/example/BASIC/rand.bas +0 -4
  1139. data/modules/emscripten/third_party/ply/example/BASIC/sales.bas +0 -20
  1140. data/modules/emscripten/third_party/ply/example/BASIC/sears.bas +0 -18
  1141. data/modules/emscripten/third_party/ply/example/BASIC/sqrt1.bas +0 -5
  1142. data/modules/emscripten/third_party/ply/example/BASIC/sqrt2.bas +0 -4
  1143. data/modules/emscripten/third_party/ply/example/GardenSnake/GardenSnake.py +0 -709
  1144. data/modules/emscripten/third_party/ply/example/GardenSnake/README +0 -5
  1145. data/modules/emscripten/third_party/ply/example/README +0 -10
  1146. data/modules/emscripten/third_party/ply/example/ansic/README +0 -2
  1147. data/modules/emscripten/third_party/ply/example/ansic/clex.py +0 -164
  1148. data/modules/emscripten/third_party/ply/example/ansic/cparse.py +0 -863
  1149. data/modules/emscripten/third_party/ply/example/calc/calc.py +0 -107
  1150. data/modules/emscripten/third_party/ply/example/calcdebug/calc.py +0 -113
  1151. data/modules/emscripten/third_party/ply/example/classcalc/calc.py +0 -157
  1152. data/modules/emscripten/third_party/ply/example/cleanup.sh +0 -2
  1153. data/modules/emscripten/third_party/ply/example/closurecalc/calc.py +0 -130
  1154. data/modules/emscripten/third_party/ply/example/hedit/hedit.py +0 -48
  1155. data/modules/emscripten/third_party/ply/example/newclasscalc/calc.py +0 -160
  1156. data/modules/emscripten/third_party/ply/example/optcalc/README +0 -9
  1157. data/modules/emscripten/third_party/ply/example/optcalc/calc.py +0 -119
  1158. data/modules/emscripten/third_party/ply/example/unicalc/calc.py +0 -117
  1159. data/modules/emscripten/third_party/ply/example/yply/README +0 -41
  1160. data/modules/emscripten/third_party/ply/example/yply/ylex.py +0 -112
  1161. data/modules/emscripten/third_party/ply/example/yply/yparse.py +0 -217
  1162. data/modules/emscripten/third_party/ply/example/yply/yply.py +0 -53
  1163. data/modules/emscripten/third_party/ply/ply/__init__.py +0 -4
  1164. data/modules/emscripten/third_party/ply/ply/cpp.py +0 -898
  1165. data/modules/emscripten/third_party/ply/ply/ctokens.py +0 -133
  1166. data/modules/emscripten/third_party/ply/ply/lex.py +0 -1058
  1167. data/modules/emscripten/third_party/ply/ply/yacc.py +0 -3276
  1168. data/modules/emscripten/third_party/ply/setup.py +0 -31
  1169. data/modules/emscripten/third_party/ply/test/README +0 -7
  1170. data/modules/emscripten/third_party/ply/test/calclex.py +0 -49
  1171. data/modules/emscripten/third_party/ply/test/cleanup.sh +0 -4
  1172. data/modules/emscripten/third_party/ply/test/lex_closure.py +0 -54
  1173. data/modules/emscripten/third_party/ply/test/lex_doc1.py +0 -26
  1174. data/modules/emscripten/third_party/ply/test/lex_dup1.py +0 -29
  1175. data/modules/emscripten/third_party/ply/test/lex_dup2.py +0 -33
  1176. data/modules/emscripten/third_party/ply/test/lex_dup3.py +0 -31
  1177. data/modules/emscripten/third_party/ply/test/lex_empty.py +0 -20
  1178. data/modules/emscripten/third_party/ply/test/lex_error1.py +0 -24
  1179. data/modules/emscripten/third_party/ply/test/lex_error2.py +0 -26
  1180. data/modules/emscripten/third_party/ply/test/lex_error3.py +0 -27
  1181. data/modules/emscripten/third_party/ply/test/lex_error4.py +0 -27
  1182. data/modules/emscripten/third_party/ply/test/lex_hedit.py +0 -47
  1183. data/modules/emscripten/third_party/ply/test/lex_ignore.py +0 -31
  1184. data/modules/emscripten/third_party/ply/test/lex_ignore2.py +0 -29
  1185. data/modules/emscripten/third_party/ply/test/lex_literal1.py +0 -25
  1186. data/modules/emscripten/third_party/ply/test/lex_literal2.py +0 -25
  1187. data/modules/emscripten/third_party/ply/test/lex_many_tokens.py +0 -27
  1188. data/modules/emscripten/third_party/ply/test/lex_module.py +0 -10
  1189. data/modules/emscripten/third_party/ply/test/lex_module_import.py +0 -42
  1190. data/modules/emscripten/third_party/ply/test/lex_object.py +0 -55
  1191. data/modules/emscripten/third_party/ply/test/lex_opt_alias.py +0 -54
  1192. data/modules/emscripten/third_party/ply/test/lex_optimize.py +0 -50
  1193. data/modules/emscripten/third_party/ply/test/lex_optimize2.py +0 -50
  1194. data/modules/emscripten/third_party/ply/test/lex_optimize3.py +0 -52
  1195. data/modules/emscripten/third_party/ply/test/lex_re1.py +0 -27
  1196. data/modules/emscripten/third_party/ply/test/lex_re2.py +0 -27
  1197. data/modules/emscripten/third_party/ply/test/lex_re3.py +0 -29
  1198. data/modules/emscripten/third_party/ply/test/lex_rule1.py +0 -27
  1199. data/modules/emscripten/third_party/ply/test/lex_rule2.py +0 -29
  1200. data/modules/emscripten/third_party/ply/test/lex_rule3.py +0 -27
  1201. data/modules/emscripten/third_party/ply/test/lex_state1.py +0 -40
  1202. data/modules/emscripten/third_party/ply/test/lex_state2.py +0 -40
  1203. data/modules/emscripten/third_party/ply/test/lex_state3.py +0 -42
  1204. data/modules/emscripten/third_party/ply/test/lex_state4.py +0 -41
  1205. data/modules/emscripten/third_party/ply/test/lex_state5.py +0 -40
  1206. data/modules/emscripten/third_party/ply/test/lex_state_noerror.py +0 -39
  1207. data/modules/emscripten/third_party/ply/test/lex_state_norule.py +0 -40
  1208. data/modules/emscripten/third_party/ply/test/lex_state_try.py +0 -45
  1209. data/modules/emscripten/third_party/ply/test/lex_token1.py +0 -19
  1210. data/modules/emscripten/third_party/ply/test/lex_token2.py +0 -22
  1211. data/modules/emscripten/third_party/ply/test/lex_token3.py +0 -24
  1212. data/modules/emscripten/third_party/ply/test/lex_token4.py +0 -26
  1213. data/modules/emscripten/third_party/ply/test/lex_token5.py +0 -31
  1214. data/modules/emscripten/third_party/ply/test/lex_token_dup.py +0 -29
  1215. data/modules/emscripten/third_party/ply/test/testlex.py +0 -606
  1216. data/modules/emscripten/third_party/ply/test/testyacc.py +0 -347
  1217. data/modules/emscripten/third_party/ply/test/yacc_badargs.py +0 -68
  1218. data/modules/emscripten/third_party/ply/test/yacc_badid.py +0 -77
  1219. data/modules/emscripten/third_party/ply/test/yacc_badprec.py +0 -64
  1220. data/modules/emscripten/third_party/ply/test/yacc_badprec2.py +0 -68
  1221. data/modules/emscripten/third_party/ply/test/yacc_badprec3.py +0 -68
  1222. data/modules/emscripten/third_party/ply/test/yacc_badrule.py +0 -68
  1223. data/modules/emscripten/third_party/ply/test/yacc_badtok.py +0 -68
  1224. data/modules/emscripten/third_party/ply/test/yacc_dup.py +0 -68
  1225. data/modules/emscripten/third_party/ply/test/yacc_error1.py +0 -68
  1226. data/modules/emscripten/third_party/ply/test/yacc_error2.py +0 -68
  1227. data/modules/emscripten/third_party/ply/test/yacc_error3.py +0 -67
  1228. data/modules/emscripten/third_party/ply/test/yacc_error4.py +0 -72
  1229. data/modules/emscripten/third_party/ply/test/yacc_inf.py +0 -56
  1230. data/modules/emscripten/third_party/ply/test/yacc_literal.py +0 -69
  1231. data/modules/emscripten/third_party/ply/test/yacc_misplaced.py +0 -68
  1232. data/modules/emscripten/third_party/ply/test/yacc_missing1.py +0 -68
  1233. data/modules/emscripten/third_party/ply/test/yacc_nested.py +0 -33
  1234. data/modules/emscripten/third_party/ply/test/yacc_nodoc.py +0 -67
  1235. data/modules/emscripten/third_party/ply/test/yacc_noerror.py +0 -66
  1236. data/modules/emscripten/third_party/ply/test/yacc_nop.py +0 -68
  1237. data/modules/emscripten/third_party/ply/test/yacc_notfunc.py +0 -66
  1238. data/modules/emscripten/third_party/ply/test/yacc_notok.py +0 -67
  1239. data/modules/emscripten/third_party/ply/test/yacc_prec1.py +0 -68
  1240. data/modules/emscripten/third_party/ply/test/yacc_rr.py +0 -72
  1241. data/modules/emscripten/third_party/ply/test/yacc_rr_unused.py +0 -30
  1242. data/modules/emscripten/third_party/ply/test/yacc_simple.py +0 -68
  1243. data/modules/emscripten/third_party/ply/test/yacc_sr.py +0 -63
  1244. data/modules/emscripten/third_party/ply/test/yacc_term1.py +0 -68
  1245. data/modules/emscripten/third_party/ply/test/yacc_unused.py +0 -77
  1246. data/modules/emscripten/third_party/ply/test/yacc_unused_rule.py +0 -72
  1247. data/modules/emscripten/third_party/ply/test/yacc_uprec.py +0 -63
  1248. data/modules/emscripten/third_party/ply/test/yacc_uprec2.py +0 -63
  1249. data/modules/emscripten/third_party/readme.txt +0 -7
  1250. data/modules/emscripten/third_party/stb_image.c +0 -4673
  1251. data/modules/emscripten/third_party/websockify/CHANGES.txt +0 -23
  1252. data/modules/emscripten/third_party/websockify/LICENSE.txt +0 -16
  1253. data/modules/emscripten/third_party/websockify/MANIFEST.in +0 -1
  1254. data/modules/emscripten/third_party/websockify/Makefile +0 -11
  1255. data/modules/emscripten/third_party/websockify/README.md +0 -168
  1256. data/modules/emscripten/third_party/websockify/Windows/Windows Service Readme.txt +0 -39
  1257. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Program.cs +0 -24
  1258. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.Designer.cs +0 -61
  1259. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.cs +0 -19
  1260. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.resx +0 -129
  1261. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Properties/AssemblyInfo.cs +0 -36
  1262. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.Designer.cs +0 -37
  1263. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.cs +0 -41
  1264. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.csproj +0 -75
  1265. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.sln +0 -20
  1266. data/modules/emscripten/third_party/websockify/docs/LICENSE.GPL-3 +0 -621
  1267. data/modules/emscripten/third_party/websockify/docs/LICENSE.LGPL-3 +0 -165
  1268. data/modules/emscripten/third_party/websockify/docs/LICENSE.MPL-2.0 +0 -373
  1269. data/modules/emscripten/third_party/websockify/docs/TODO +0 -9
  1270. data/modules/emscripten/third_party/websockify/docs/flash_policy.txt +0 -4
  1271. data/modules/emscripten/third_party/websockify/docs/latency_results.txt +0 -114
  1272. data/modules/emscripten/third_party/websockify/docs/notes +0 -17
  1273. data/modules/emscripten/third_party/websockify/docs/release.txt +0 -9
  1274. data/modules/emscripten/third_party/websockify/docs/websockify.1 +0 -110
  1275. data/modules/emscripten/third_party/websockify/include/VT100.js +0 -919
  1276. data/modules/emscripten/third_party/websockify/include/base64.js +0 -114
  1277. data/modules/emscripten/third_party/websockify/include/keysym.js +0 -99
  1278. data/modules/emscripten/third_party/websockify/include/util.js +0 -359
  1279. data/modules/emscripten/third_party/websockify/include/web-socket-js/README.txt +0 -109
  1280. data/modules/emscripten/third_party/websockify/include/web-socket-js/WebSocketMain.swf +0 -0
  1281. data/modules/emscripten/third_party/websockify/include/web-socket-js/swfobject.js +0 -4
  1282. data/modules/emscripten/third_party/websockify/include/web-socket-js/web_socket.js +0 -391
  1283. data/modules/emscripten/third_party/websockify/include/websock.js +0 -422
  1284. data/modules/emscripten/third_party/websockify/include/webutil.js +0 -216
  1285. data/modules/emscripten/third_party/websockify/include/wsirc.js +0 -235
  1286. data/modules/emscripten/third_party/websockify/include/wstelnet.js +0 -335
  1287. data/modules/emscripten/third_party/websockify/other/Makefile +0 -14
  1288. data/modules/emscripten/third_party/websockify/other/README.md +0 -51
  1289. data/modules/emscripten/third_party/websockify/other/launch.sh +0 -108
  1290. data/modules/emscripten/third_party/websockify/other/project.clj +0 -13
  1291. data/modules/emscripten/third_party/websockify/other/websocket.c +0 -802
  1292. data/modules/emscripten/third_party/websockify/other/websocket.h +0 -84
  1293. data/modules/emscripten/third_party/websockify/other/websocket.rb +0 -456
  1294. data/modules/emscripten/third_party/websockify/other/websockify.c +0 -385
  1295. data/modules/emscripten/third_party/websockify/other/websockify.clj +0 -233
  1296. data/modules/emscripten/third_party/websockify/other/websockify.js +0 -196
  1297. data/modules/emscripten/third_party/websockify/other/websockify.rb +0 -171
  1298. data/modules/emscripten/third_party/websockify/other/wswrap +0 -22
  1299. data/modules/emscripten/third_party/websockify/rebind +0 -18
  1300. data/modules/emscripten/third_party/websockify/rebind.c +0 -94
  1301. data/modules/emscripten/third_party/websockify/run +0 -5
  1302. data/modules/emscripten/third_party/websockify/setup.py +0 -30
  1303. data/modules/emscripten/third_party/websockify/tests/b64_vs_utf8.py +0 -29
  1304. data/modules/emscripten/third_party/websockify/tests/base64.html +0 -91
  1305. data/modules/emscripten/third_party/websockify/tests/base64.js +0 -12
  1306. data/modules/emscripten/third_party/websockify/tests/echo.html +0 -148
  1307. data/modules/emscripten/third_party/websockify/tests/echo.py +0 -75
  1308. data/modules/emscripten/third_party/websockify/tests/echo.rb +0 -62
  1309. data/modules/emscripten/third_party/websockify/tests/latency.html +0 -290
  1310. data/modules/emscripten/third_party/websockify/tests/latency.py +0 -75
  1311. data/modules/emscripten/third_party/websockify/tests/load.html +0 -250
  1312. data/modules/emscripten/third_party/websockify/tests/load.py +0 -167
  1313. data/modules/emscripten/third_party/websockify/tests/plain_echo.html +0 -168
  1314. data/modules/emscripten/third_party/websockify/tests/simple.html +0 -68
  1315. data/modules/emscripten/third_party/websockify/tests/utf8-list.py +0 -22
  1316. data/modules/emscripten/third_party/websockify/websockify/__init__.py +0 -2
  1317. data/modules/emscripten/third_party/websockify/websockify/websocket.py +0 -982
  1318. data/modules/emscripten/third_party/websockify/websockify/websocketproxy.py +0 -393
  1319. data/modules/emscripten/third_party/websockify/websockify.py +0 -5
  1320. data/modules/emscripten/third_party/websockify/wsirc.html +0 -99
  1321. data/modules/emscripten/third_party/websockify/wstelnet.html +0 -74
  1322. data/modules/emscripten/tools/__init__.py +0 -0
  1323. data/modules/emscripten/tools/asm_module.py +0 -275
  1324. data/modules/emscripten/tools/autodebugger.py +0 -291
  1325. data/modules/emscripten/tools/autodebugger_c.py +0 -37
  1326. data/modules/emscripten/tools/autodebugger_indenter.py +0 -18
  1327. data/modules/emscripten/tools/autodebugger_js.py +0 -47
  1328. data/modules/emscripten/tools/autodediffer.py +0 -60
  1329. data/modules/emscripten/tools/bindings_generator.py +0 -832
  1330. data/modules/emscripten/tools/bisect_pair.py +0 -88
  1331. data/modules/emscripten/tools/cache.py +0 -196
  1332. data/modules/emscripten/tools/clean_webconsole.py +0 -34
  1333. data/modules/emscripten/tools/crunch-worker.js +0 -124
  1334. data/modules/emscripten/tools/diff_autodebugger.py +0 -15
  1335. data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -307
  1336. data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -382
  1337. data/modules/emscripten/tools/eliminator/eliminator-test-output.js +0 -6136
  1338. data/modules/emscripten/tools/eliminator/eliminator-test.js +0 -8879
  1339. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.html +0 -888
  1340. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.org +0 -463
  1341. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/bin/uglifyjs +0 -317
  1342. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/docstyle.css +0 -75
  1343. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/object-ast.js +0 -75
  1344. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js +0 -1363
  1345. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/process.js +0 -2005
  1346. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/squeeze-more.js +0 -51
  1347. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/package.json +0 -22
  1348. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/beautify.js +0 -28
  1349. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/testparser.js +0 -402
  1350. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array1.js +0 -1
  1351. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array2.js +0 -1
  1352. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array3.js +0 -1
  1353. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array4.js +0 -1
  1354. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/assignment.js +0 -1
  1355. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/concatstring.js +0 -1
  1356. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/const.js +0 -1
  1357. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js +0 -1
  1358. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/forstatement.js +0 -1
  1359. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/if.js +0 -1
  1360. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js +0 -1
  1361. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js +0 -1
  1362. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue10.js +0 -1
  1363. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue11.js +0 -1
  1364. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue13.js +0 -1
  1365. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue14.js +0 -1
  1366. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue16.js +0 -1
  1367. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue17.js +0 -1
  1368. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue20.js +0 -1
  1369. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue21.js +0 -1
  1370. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue25.js +0 -1
  1371. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue27.js +0 -1
  1372. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue28.js +0 -1
  1373. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue29.js +0 -1
  1374. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue30.js +0 -1
  1375. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue34.js +0 -1
  1376. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue4.js +0 -1
  1377. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue48.js +0 -1
  1378. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue50.js +0 -1
  1379. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue53.js +0 -1
  1380. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js +0 -1
  1381. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue68.js +0 -1
  1382. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue69.js +0 -1
  1383. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue9.js +0 -1
  1384. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/mangle.js +0 -1
  1385. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js +0 -1
  1386. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/var.js +0 -1
  1387. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/with.js +0 -1
  1388. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array1.js +0 -3
  1389. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array2.js +0 -4
  1390. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array3.js +0 -4
  1391. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array4.js +0 -6
  1392. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/assignment.js +0 -20
  1393. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/concatstring.js +0 -3
  1394. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/const.js +0 -5
  1395. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js +0 -4
  1396. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/forstatement.js +0 -10
  1397. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/if.js +0 -6
  1398. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn.js +0 -9
  1399. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js +0 -16
  1400. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue10.js +0 -1
  1401. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue11.js +0 -3
  1402. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue13.js +0 -1
  1403. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue14.js +0 -1
  1404. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue16.js +0 -1
  1405. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue17.js +0 -4
  1406. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue20.js +0 -1
  1407. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue21.js +0 -6
  1408. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue25.js +0 -7
  1409. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue27.js +0 -1
  1410. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue28.js +0 -3
  1411. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue29.js +0 -1
  1412. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue30.js +0 -3
  1413. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue34.js +0 -3
  1414. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue4.js +0 -3
  1415. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue48.js +0 -1
  1416. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue50.js +0 -9
  1417. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue53.js +0 -1
  1418. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue54.1.js +0 -3
  1419. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue68.js +0 -5
  1420. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue69.js +0 -1
  1421. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue9.js +0 -4
  1422. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/mangle.js +0 -5
  1423. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/strict-equals.js +0 -3
  1424. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/var.js +0 -3
  1425. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/with.js +0 -2
  1426. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/scripts.js +0 -55
  1427. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/hoist.js +0 -33
  1428. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument.js +0 -97
  1429. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument2.js +0 -138
  1430. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/test.js +0 -16
  1431. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/uglify-js.js +0 -17
  1432. data/modules/emscripten/tools/eliminator/safe-eliminator-test-output.js +0 -85
  1433. data/modules/emscripten/tools/eliminator/safe-eliminator-test.js +0 -103
  1434. data/modules/emscripten/tools/emconfiguren.py +0 -19
  1435. data/modules/emscripten/tools/emmaken.py +0 -230
  1436. data/modules/emscripten/tools/emmakenxx.py +0 -18
  1437. data/modules/emscripten/tools/exec_llvm.py +0 -50
  1438. data/modules/emscripten/tools/file2json.py +0 -49
  1439. data/modules/emscripten/tools/file_packager.py +0 -719
  1440. data/modules/emscripten/tools/find_bigfuncs.py +0 -23
  1441. data/modules/emscripten/tools/find_bigis.py +0 -18
  1442. data/modules/emscripten/tools/find_bigvars.py +0 -24
  1443. data/modules/emscripten/tools/fix_closure.py +0 -88
  1444. data/modules/emscripten/tools/gen_struct_info.py +0 -509
  1445. data/modules/emscripten/tools/ie7_fix.py +0 -14
  1446. data/modules/emscripten/tools/js-optimizer.js +0 -4023
  1447. data/modules/emscripten/tools/js_optimizer.py +0 -357
  1448. data/modules/emscripten/tools/jsrun.py +0 -37
  1449. data/modules/emscripten/tools/ll-strip.py +0 -56
  1450. data/modules/emscripten/tools/make_file.py +0 -19
  1451. data/modules/emscripten/tools/make_minigzip.py +0 -13
  1452. data/modules/emscripten/tools/merge_asm.py +0 -26
  1453. data/modules/emscripten/tools/namespacer.py +0 -95
  1454. data/modules/emscripten/tools/nativize_llvm.py +0 -34
  1455. data/modules/emscripten/tools/node_modules/source-map/CHANGELOG.md +0 -58
  1456. data/modules/emscripten/tools/node_modules/source-map/LICENSE +0 -28
  1457. data/modules/emscripten/tools/node_modules/source-map/Makefile.dryice.js +0 -166
  1458. data/modules/emscripten/tools/node_modules/source-map/README.md +0 -347
  1459. data/modules/emscripten/tools/node_modules/source-map/build/assert-shim.js +0 -56
  1460. data/modules/emscripten/tools/node_modules/source-map/build/mini-require.js +0 -152
  1461. data/modules/emscripten/tools/node_modules/source-map/build/prefix-source-map.jsm +0 -20
  1462. data/modules/emscripten/tools/node_modules/source-map/build/prefix-utils.jsm +0 -18
  1463. data/modules/emscripten/tools/node_modules/source-map/build/suffix-browser.js +0 -8
  1464. data/modules/emscripten/tools/node_modules/source-map/build/suffix-source-map.jsm +0 -6
  1465. data/modules/emscripten/tools/node_modules/source-map/build/suffix-utils.jsm +0 -21
  1466. data/modules/emscripten/tools/node_modules/source-map/build/test-prefix.js +0 -8
  1467. data/modules/emscripten/tools/node_modules/source-map/build/test-suffix.js +0 -3
  1468. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/array-set.js +0 -96
  1469. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64-vlq.js +0 -144
  1470. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64.js +0 -42
  1471. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/binary-search.js +0 -81
  1472. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-consumer.js +0 -430
  1473. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-generator.js +0 -381
  1474. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-node.js +0 -353
  1475. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/util.js +0 -117
  1476. data/modules/emscripten/tools/node_modules/source-map/lib/source-map.js +0 -8
  1477. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/LICENSE +0 -58
  1478. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/README.md +0 -119
  1479. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/amdefine.js +0 -299
  1480. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/package.json +0 -33
  1481. data/modules/emscripten/tools/node_modules/source-map/package.json +0 -74
  1482. data/modules/emscripten/tools/node_modules/source-map/test/run-tests.js +0 -73
  1483. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-api.js +0 -26
  1484. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-array-set.js +0 -71
  1485. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64-vlq.js +0 -24
  1486. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64.js +0 -35
  1487. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-binary-search.js +0 -54
  1488. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-dog-fooding.js +0 -72
  1489. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-consumer.js +0 -306
  1490. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-generator.js +0 -391
  1491. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-node.js +0 -282
  1492. data/modules/emscripten/tools/node_modules/source-map/test/source-map/util.js +0 -152
  1493. data/modules/emscripten/tools/reproduceriter.js +0 -216
  1494. data/modules/emscripten/tools/reproduceriter.py +0 -160
  1495. data/modules/emscripten/tools/response_file.py +0 -34
  1496. data/modules/emscripten/tools/scan_js.py +0 -20
  1497. data/modules/emscripten/tools/scan_ll.py +0 -18
  1498. data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/__init__.py +0 -3
  1499. data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/emscripten.py +0 -46
  1500. data/modules/emscripten/tools/settings_template_readonly.py +0 -49
  1501. data/modules/emscripten/tools/shared.py +0 -1705
  1502. data/modules/emscripten/tools/source-maps/sourcemap2json.js +0 -15
  1503. data/modules/emscripten/tools/source-maps/sourcemapper.js +0 -208
  1504. data/modules/emscripten/tools/split.py +0 -105
  1505. data/modules/emscripten/tools/split_asm.py +0 -30
  1506. data/modules/emscripten/tools/tempfiles.py +0 -41
  1507. data/modules/emscripten/tools/test-js-optimizer-asm-last-output.js +0 -75
  1508. data/modules/emscripten/tools/test-js-optimizer-asm-last.js +0 -91
  1509. data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +0 -2
  1510. data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +0 -8
  1511. data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +0 -929
  1512. data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +0 -351
  1513. data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +0 -793
  1514. data/modules/emscripten/tools/test-js-optimizer-asm-outline2.js +0 -606
  1515. data/modules/emscripten/tools/test-js-optimizer-asm-outline3-output.js +0 -28
  1516. data/modules/emscripten/tools/test-js-optimizer-asm-outline3.js +0 -30
  1517. data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -522
  1518. data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -533
  1519. data/modules/emscripten/tools/test-js-optimizer-asm-regs-min-output.js +0 -36
  1520. data/modules/emscripten/tools/test-js-optimizer-asm-regs-min.js +0 -37
  1521. data/modules/emscripten/tools/test-js-optimizer-asm-regs-output.js +0 -106
  1522. data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +0 -110
  1523. data/modules/emscripten/tools/test-js-optimizer-asm-relocate-output.js +0 -9
  1524. data/modules/emscripten/tools/test-js-optimizer-asm-relocate.js +0 -12
  1525. data/modules/emscripten/tools/test-js-optimizer-output.js +0 -291
  1526. data/modules/emscripten/tools/test-js-optimizer-regs-output.js +0 -232
  1527. data/modules/emscripten/tools/test-js-optimizer-regs.js +0 -237
  1528. data/modules/emscripten/tools/test-js-optimizer-t2-output.js +0 -91
  1529. data/modules/emscripten/tools/test-js-optimizer-t2.js +0 -92
  1530. data/modules/emscripten/tools/test-js-optimizer-t2c-output.js +0 -17
  1531. data/modules/emscripten/tools/test-js-optimizer-t2c.js +0 -18
  1532. data/modules/emscripten/tools/test-js-optimizer-t3-output.js +0 -49
  1533. data/modules/emscripten/tools/test-js-optimizer-t3.js +0 -50
  1534. data/modules/emscripten/tools/test-js-optimizer.js +0 -401
  1535. data/modules/emscripten/tools/validate_asmjs.py +0 -82
  1536. data/modules/mruby/mrblib/print.rb +0 -18
  1537. data/modules/mruby/src/re.h +0 -12
@@ -1,4779 +0,0 @@
1
- // -*- C++ -*-
2
- //===-------------------------- valarray ----------------------------------===//
3
- //
4
- // The LLVM Compiler Infrastructure
5
- //
6
- // This file is dual licensed under the MIT and the University of Illinois Open
7
- // Source Licenses. See LICENSE.TXT for details.
8
- //
9
- //===----------------------------------------------------------------------===//
10
-
11
- #ifndef _LIBCPP_VALARRAY
12
- #define _LIBCPP_VALARRAY
13
-
14
- /*
15
- valarray synopsis
16
-
17
- namespace std
18
- {
19
-
20
- template<class T>
21
- class valarray
22
- {
23
- public:
24
- typedef T value_type;
25
-
26
- // construct/destroy:
27
- valarray();
28
- explicit valarray(size_t n);
29
- valarray(const value_type& x, size_t n);
30
- valarray(const value_type* px, size_t n);
31
- valarray(const valarray& v);
32
- valarray(valarray&& v) noexcept;
33
- valarray(const slice_array<value_type>& sa);
34
- valarray(const gslice_array<value_type>& ga);
35
- valarray(const mask_array<value_type>& ma);
36
- valarray(const indirect_array<value_type>& ia);
37
- valarray(initializer_list<value_type> il);
38
- ~valarray();
39
-
40
- // assignment:
41
- valarray& operator=(const valarray& v);
42
- valarray& operator=(valarray&& v) noexcept;
43
- valarray& operator=(initializer_list<value_type> il);
44
- valarray& operator=(const value_type& x);
45
- valarray& operator=(const slice_array<value_type>& sa);
46
- valarray& operator=(const gslice_array<value_type>& ga);
47
- valarray& operator=(const mask_array<value_type>& ma);
48
- valarray& operator=(const indirect_array<value_type>& ia);
49
-
50
- // element access:
51
- const value_type& operator[](size_t i) const;
52
- value_type& operator[](size_t i);
53
-
54
- // subset operations:
55
- valarray operator[](slice s) const;
56
- slice_array<value_type> operator[](slice s);
57
- valarray operator[](const gslice& gs) const;
58
- gslice_array<value_type> operator[](const gslice& gs);
59
- valarray operator[](const valarray<bool>& vb) const;
60
- mask_array<value_type> operator[](const valarray<bool>& vb);
61
- valarray operator[](const valarray<size_t>& vs) const;
62
- indirect_array<value_type> operator[](const valarray<size_t>& vs);
63
-
64
- // unary operators:
65
- valarray operator+() const;
66
- valarray operator-() const;
67
- valarray operator~() const;
68
- valarray<bool> operator!() const;
69
-
70
- // computed assignment:
71
- valarray& operator*= (const value_type& x);
72
- valarray& operator/= (const value_type& x);
73
- valarray& operator%= (const value_type& x);
74
- valarray& operator+= (const value_type& x);
75
- valarray& operator-= (const value_type& x);
76
- valarray& operator^= (const value_type& x);
77
- valarray& operator&= (const value_type& x);
78
- valarray& operator|= (const value_type& x);
79
- valarray& operator<<=(const value_type& x);
80
- valarray& operator>>=(const value_type& x);
81
-
82
- valarray& operator*= (const valarray& v);
83
- valarray& operator/= (const valarray& v);
84
- valarray& operator%= (const valarray& v);
85
- valarray& operator+= (const valarray& v);
86
- valarray& operator-= (const valarray& v);
87
- valarray& operator^= (const valarray& v);
88
- valarray& operator|= (const valarray& v);
89
- valarray& operator&= (const valarray& v);
90
- valarray& operator<<=(const valarray& v);
91
- valarray& operator>>=(const valarray& v);
92
-
93
- // member functions:
94
- void swap(valarray& v) noexcept;
95
-
96
- size_t size() const;
97
-
98
- value_type sum() const;
99
- value_type min() const;
100
- value_type max() const;
101
-
102
- valarray shift (int i) const;
103
- valarray cshift(int i) const;
104
- valarray apply(value_type f(value_type)) const;
105
- valarray apply(value_type f(const value_type&)) const;
106
- void resize(size_t n, value_type x = value_type());
107
- };
108
-
109
- class slice
110
- {
111
- public:
112
- slice();
113
- slice(size_t start, size_t size, size_t stride);
114
-
115
- size_t start() const;
116
- size_t size() const;
117
- size_t stride() const;
118
- };
119
-
120
- template <class T>
121
- class slice_array
122
- {
123
- public:
124
- typedef T value_type;
125
-
126
- const slice_array& operator=(const slice_array& sa) const;
127
- void operator= (const valarray<value_type>& v) const;
128
- void operator*= (const valarray<value_type>& v) const;
129
- void operator/= (const valarray<value_type>& v) const;
130
- void operator%= (const valarray<value_type>& v) const;
131
- void operator+= (const valarray<value_type>& v) const;
132
- void operator-= (const valarray<value_type>& v) const;
133
- void operator^= (const valarray<value_type>& v) const;
134
- void operator&= (const valarray<value_type>& v) const;
135
- void operator|= (const valarray<value_type>& v) const;
136
- void operator<<=(const valarray<value_type>& v) const;
137
- void operator>>=(const valarray<value_type>& v) const;
138
-
139
- void operator=(const value_type& x) const;
140
-
141
- slice_array() = delete;
142
- };
143
-
144
- class gslice
145
- {
146
- public:
147
- gslice();
148
- gslice(size_t start, const valarray<size_t>& size,
149
- const valarray<size_t>& stride);
150
-
151
- size_t start() const;
152
- valarray<size_t> size() const;
153
- valarray<size_t> stride() const;
154
- };
155
-
156
- template <class T>
157
- class gslice_array
158
- {
159
- public:
160
- typedef T value_type;
161
-
162
- void operator= (const valarray<value_type>& v) const;
163
- void operator*= (const valarray<value_type>& v) const;
164
- void operator/= (const valarray<value_type>& v) const;
165
- void operator%= (const valarray<value_type>& v) const;
166
- void operator+= (const valarray<value_type>& v) const;
167
- void operator-= (const valarray<value_type>& v) const;
168
- void operator^= (const valarray<value_type>& v) const;
169
- void operator&= (const valarray<value_type>& v) const;
170
- void operator|= (const valarray<value_type>& v) const;
171
- void operator<<=(const valarray<value_type>& v) const;
172
- void operator>>=(const valarray<value_type>& v) const;
173
-
174
- gslice_array(const gslice_array& ga);
175
- ~gslice_array();
176
- const gslice_array& operator=(const gslice_array& ga) const;
177
- void operator=(const value_type& x) const;
178
-
179
- gslice_array() = delete;
180
- };
181
-
182
- template <class T>
183
- class mask_array
184
- {
185
- public:
186
- typedef T value_type;
187
-
188
- void operator= (const valarray<value_type>& v) const;
189
- void operator*= (const valarray<value_type>& v) const;
190
- void operator/= (const valarray<value_type>& v) const;
191
- void operator%= (const valarray<value_type>& v) const;
192
- void operator+= (const valarray<value_type>& v) const;
193
- void operator-= (const valarray<value_type>& v) const;
194
- void operator^= (const valarray<value_type>& v) const;
195
- void operator&= (const valarray<value_type>& v) const;
196
- void operator|= (const valarray<value_type>& v) const;
197
- void operator<<=(const valarray<value_type>& v) const;
198
- void operator>>=(const valarray<value_type>& v) const;
199
-
200
- mask_array(const mask_array& ma);
201
- ~mask_array();
202
- const mask_array& operator=(const mask_array& ma) const;
203
- void operator=(const value_type& x) const;
204
-
205
- mask_array() = delete;
206
- };
207
-
208
- template <class T>
209
- class indirect_array
210
- {
211
- public:
212
- typedef T value_type;
213
-
214
- void operator= (const valarray<value_type>& v) const;
215
- void operator*= (const valarray<value_type>& v) const;
216
- void operator/= (const valarray<value_type>& v) const;
217
- void operator%= (const valarray<value_type>& v) const;
218
- void operator+= (const valarray<value_type>& v) const;
219
- void operator-= (const valarray<value_type>& v) const;
220
- void operator^= (const valarray<value_type>& v) const;
221
- void operator&= (const valarray<value_type>& v) const;
222
- void operator|= (const valarray<value_type>& v) const;
223
- void operator<<=(const valarray<value_type>& v) const;
224
- void operator>>=(const valarray<value_type>& v) const;
225
-
226
- indirect_array(const indirect_array& ia);
227
- ~indirect_array();
228
- const indirect_array& operator=(const indirect_array& ia) const;
229
- void operator=(const value_type& x) const;
230
-
231
- indirect_array() = delete;
232
- };
233
-
234
- template<class T> void swap(valarray<T>& x, valarray<T>& y) noexcept;
235
-
236
- template<class T> valarray<T> operator* (const valarray<T>& x, const valarray<T>& y);
237
- template<class T> valarray<T> operator* (const valarray<T>& x, const T& y);
238
- template<class T> valarray<T> operator* (const T& x, const valarray<T>& y);
239
-
240
- template<class T> valarray<T> operator/ (const valarray<T>& x, const valarray<T>& y);
241
- template<class T> valarray<T> operator/ (const valarray<T>& x, const T& y);
242
- template<class T> valarray<T> operator/ (const T& x, const valarray<T>& y);
243
-
244
- template<class T> valarray<T> operator% (const valarray<T>& x, const valarray<T>& y);
245
- template<class T> valarray<T> operator% (const valarray<T>& x, const T& y);
246
- template<class T> valarray<T> operator% (const T& x, const valarray<T>& y);
247
-
248
- template<class T> valarray<T> operator+ (const valarray<T>& x, const valarray<T>& y);
249
- template<class T> valarray<T> operator+ (const valarray<T>& x, const T& y);
250
- template<class T> valarray<T> operator+ (const T& x, const valarray<T>& y);
251
-
252
- template<class T> valarray<T> operator- (const valarray<T>& x, const valarray<T>& y);
253
- template<class T> valarray<T> operator- (const valarray<T>& x, const T& y);
254
- template<class T> valarray<T> operator- (const T& x, const valarray<T>& y);
255
-
256
- template<class T> valarray<T> operator^ (const valarray<T>& x, const valarray<T>& y);
257
- template<class T> valarray<T> operator^ (const valarray<T>& x, const T& y);
258
- template<class T> valarray<T> operator^ (const T& x, const valarray<T>& y);
259
-
260
- template<class T> valarray<T> operator& (const valarray<T>& x, const valarray<T>& y);
261
- template<class T> valarray<T> operator& (const valarray<T>& x, const T& y);
262
- template<class T> valarray<T> operator& (const T& x, const valarray<T>& y);
263
-
264
- template<class T> valarray<T> operator| (const valarray<T>& x, const valarray<T>& y);
265
- template<class T> valarray<T> operator| (const valarray<T>& x, const T& y);
266
- template<class T> valarray<T> operator| (const T& x, const valarray<T>& y);
267
-
268
- template<class T> valarray<T> operator<<(const valarray<T>& x, const valarray<T>& y);
269
- template<class T> valarray<T> operator<<(const valarray<T>& x, const T& y);
270
- template<class T> valarray<T> operator<<(const T& x, const valarray<T>& y);
271
-
272
- template<class T> valarray<T> operator>>(const valarray<T>& x, const valarray<T>& y);
273
- template<class T> valarray<T> operator>>(const valarray<T>& x, const T& y);
274
- template<class T> valarray<T> operator>>(const T& x, const valarray<T>& y);
275
-
276
- template<class T> valarray<bool> operator&&(const valarray<T>& x, const valarray<T>& y);
277
- template<class T> valarray<bool> operator&&(const valarray<T>& x, const T& y);
278
- template<class T> valarray<bool> operator&&(const T& x, const valarray<T>& y);
279
-
280
- template<class T> valarray<bool> operator||(const valarray<T>& x, const valarray<T>& y);
281
- template<class T> valarray<bool> operator||(const valarray<T>& x, const T& y);
282
- template<class T> valarray<bool> operator||(const T& x, const valarray<T>& y);
283
-
284
- template<class T> valarray<bool> operator==(const valarray<T>& x, const valarray<T>& y);
285
- template<class T> valarray<bool> operator==(const valarray<T>& x, const T& y);
286
- template<class T> valarray<bool> operator==(const T& x, const valarray<T>& y);
287
-
288
- template<class T> valarray<bool> operator!=(const valarray<T>& x, const valarray<T>& y);
289
- template<class T> valarray<bool> operator!=(const valarray<T>& x, const T& y);
290
- template<class T> valarray<bool> operator!=(const T& x, const valarray<T>& y);
291
-
292
- template<class T> valarray<bool> operator< (const valarray<T>& x, const valarray<T>& y);
293
- template<class T> valarray<bool> operator< (const valarray<T>& x, const T& y);
294
- template<class T> valarray<bool> operator< (const T& x, const valarray<T>& y);
295
-
296
- template<class T> valarray<bool> operator> (const valarray<T>& x, const valarray<T>& y);
297
- template<class T> valarray<bool> operator> (const valarray<T>& x, const T& y);
298
- template<class T> valarray<bool> operator> (const T& x, const valarray<T>& y);
299
-
300
- template<class T> valarray<bool> operator<=(const valarray<T>& x, const valarray<T>& y);
301
- template<class T> valarray<bool> operator<=(const valarray<T>& x, const T& y);
302
- template<class T> valarray<bool> operator<=(const T& x, const valarray<T>& y);
303
-
304
- template<class T> valarray<bool> operator>=(const valarray<T>& x, const valarray<T>& y);
305
- template<class T> valarray<bool> operator>=(const valarray<T>& x, const T& y);
306
- template<class T> valarray<bool> operator>=(const T& x, const valarray<T>& y);
307
-
308
- template<class T> valarray<T> abs (const valarray<T>& x);
309
- template<class T> valarray<T> acos (const valarray<T>& x);
310
- template<class T> valarray<T> asin (const valarray<T>& x);
311
- template<class T> valarray<T> atan (const valarray<T>& x);
312
-
313
- template<class T> valarray<T> atan2(const valarray<T>& x, const valarray<T>& y);
314
- template<class T> valarray<T> atan2(const valarray<T>& x, const T& y);
315
- template<class T> valarray<T> atan2(const T& x, const valarray<T>& y);
316
-
317
- template<class T> valarray<T> cos (const valarray<T>& x);
318
- template<class T> valarray<T> cosh (const valarray<T>& x);
319
- template<class T> valarray<T> exp (const valarray<T>& x);
320
- template<class T> valarray<T> log (const valarray<T>& x);
321
- template<class T> valarray<T> log10(const valarray<T>& x);
322
-
323
- template<class T> valarray<T> pow(const valarray<T>& x, const valarray<T>& y);
324
- template<class T> valarray<T> pow(const valarray<T>& x, const T& y);
325
- template<class T> valarray<T> pow(const T& x, const valarray<T>& y);
326
-
327
- template<class T> valarray<T> sin (const valarray<T>& x);
328
- template<class T> valarray<T> sinh (const valarray<T>& x);
329
- template<class T> valarray<T> sqrt (const valarray<T>& x);
330
- template<class T> valarray<T> tan (const valarray<T>& x);
331
- template<class T> valarray<T> tanh (const valarray<T>& x);
332
-
333
- template <class T> unspecified1 begin(valarray<T>& v);
334
- template <class T> unspecified2 begin(const valarray<T>& v);
335
- template <class T> unspecified1 end(valarray<T>& v);
336
- template <class T> unspecified2 end(const valarray<T>& v);
337
-
338
- } // std
339
-
340
- */
341
-
342
- #include <__config>
343
- #include <cstddef>
344
- #include <cmath>
345
- #include <initializer_list>
346
- #include <algorithm>
347
- #include <functional>
348
-
349
- #include <__undef_min_max>
350
-
351
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
352
- #pragma GCC system_header
353
- #endif
354
-
355
- _LIBCPP_BEGIN_NAMESPACE_STD
356
-
357
- template<class _Tp> class _LIBCPP_TYPE_VIS_ONLY valarray;
358
-
359
- class _LIBCPP_TYPE_VIS_ONLY slice
360
- {
361
- size_t __start_;
362
- size_t __size_;
363
- size_t __stride_;
364
- public:
365
- _LIBCPP_INLINE_VISIBILITY
366
- slice()
367
- : __start_(0),
368
- __size_(0),
369
- __stride_(0)
370
- {}
371
-
372
- _LIBCPP_INLINE_VISIBILITY
373
- slice(size_t __start, size_t __size, size_t __stride)
374
- : __start_(__start),
375
- __size_(__size),
376
- __stride_(__stride)
377
- {}
378
-
379
- _LIBCPP_INLINE_VISIBILITY size_t start() const {return __start_;}
380
- _LIBCPP_INLINE_VISIBILITY size_t size() const {return __size_;}
381
- _LIBCPP_INLINE_VISIBILITY size_t stride() const {return __stride_;}
382
- };
383
-
384
- template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY slice_array;
385
- class _LIBCPP_TYPE_VIS gslice;
386
- template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY gslice_array;
387
- template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY mask_array;
388
- template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY indirect_array;
389
-
390
- template <class _Tp>
391
- _LIBCPP_INLINE_VISIBILITY
392
- _Tp*
393
- begin(valarray<_Tp>& __v);
394
-
395
- template <class _Tp>
396
- _LIBCPP_INLINE_VISIBILITY
397
- const _Tp*
398
- begin(const valarray<_Tp>& __v);
399
-
400
- template <class _Tp>
401
- _LIBCPP_INLINE_VISIBILITY
402
- _Tp*
403
- end(valarray<_Tp>& __v);
404
-
405
- template <class _Tp>
406
- _LIBCPP_INLINE_VISIBILITY
407
- const _Tp*
408
- end(const valarray<_Tp>& __v);
409
-
410
- template <class _Op, class _A0>
411
- struct _UnaryOp
412
- {
413
- typedef typename _Op::result_type result_type;
414
- typedef typename _A0::value_type value_type;
415
-
416
- _Op __op_;
417
- _A0 __a0_;
418
-
419
- _LIBCPP_INLINE_VISIBILITY
420
- _UnaryOp(const _Op& __op, const _A0& __a0) : __op_(__op), __a0_(__a0) {}
421
-
422
- _LIBCPP_INLINE_VISIBILITY
423
- result_type operator[](size_t __i) const {return __op_(__a0_[__i]);}
424
-
425
- _LIBCPP_INLINE_VISIBILITY
426
- size_t size() const {return __a0_.size();}
427
- };
428
-
429
- template <class _Op, class _A0, class _A1>
430
- struct _BinaryOp
431
- {
432
- typedef typename _Op::result_type result_type;
433
- typedef typename _A0::value_type value_type;
434
-
435
- _Op __op_;
436
- _A0 __a0_;
437
- _A1 __a1_;
438
-
439
- _LIBCPP_INLINE_VISIBILITY
440
- _BinaryOp(const _Op& __op, const _A0& __a0, const _A1& __a1)
441
- : __op_(__op), __a0_(__a0), __a1_(__a1) {}
442
-
443
- _LIBCPP_INLINE_VISIBILITY
444
- value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
445
-
446
- _LIBCPP_INLINE_VISIBILITY
447
- size_t size() const {return __a0_.size();}
448
- };
449
-
450
- template <class _Tp>
451
- class __scalar_expr
452
- {
453
- public:
454
- typedef _Tp value_type;
455
- typedef const _Tp& result_type;
456
- private:
457
- const value_type& __t_;
458
- size_t __s_;
459
- public:
460
- _LIBCPP_INLINE_VISIBILITY
461
- explicit __scalar_expr(const value_type& __t, size_t __s) : __t_(__t), __s_(__s) {}
462
-
463
- _LIBCPP_INLINE_VISIBILITY
464
- result_type operator[](size_t) const {return __t_;}
465
-
466
- _LIBCPP_INLINE_VISIBILITY
467
- size_t size() const {return __s_;}
468
- };
469
-
470
- template <class _Tp>
471
- struct __unary_plus : unary_function<_Tp, _Tp>
472
- {
473
- _LIBCPP_INLINE_VISIBILITY
474
- _Tp operator()(const _Tp& __x) const
475
- {return +__x;}
476
- };
477
-
478
- template <class _Tp>
479
- struct __bit_not : unary_function<_Tp, _Tp>
480
- {
481
- _LIBCPP_INLINE_VISIBILITY
482
- _Tp operator()(const _Tp& __x) const
483
- {return ~__x;}
484
- };
485
-
486
- template <class _Tp>
487
- struct __bit_shift_left : binary_function<_Tp, _Tp, _Tp>
488
- {
489
- _LIBCPP_INLINE_VISIBILITY
490
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
491
- {return __x << __y;}
492
- };
493
-
494
- template <class _Tp>
495
- struct __bit_shift_right : binary_function<_Tp, _Tp, _Tp>
496
- {
497
- _LIBCPP_INLINE_VISIBILITY
498
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
499
- {return __x >> __y;}
500
- };
501
-
502
- template <class _Tp, class _Fp>
503
- struct __apply_expr : unary_function<_Tp, _Tp>
504
- {
505
- private:
506
- _Fp __f_;
507
- public:
508
- _LIBCPP_INLINE_VISIBILITY
509
- explicit __apply_expr(_Fp __f) : __f_(__f) {}
510
-
511
- _LIBCPP_INLINE_VISIBILITY
512
- _Tp operator()(const _Tp& __x) const
513
- {return __f_(__x);}
514
- };
515
-
516
- template <class _Tp>
517
- struct __abs_expr : unary_function<_Tp, _Tp>
518
- {
519
- _LIBCPP_INLINE_VISIBILITY
520
- _Tp operator()(const _Tp& __x) const
521
- {return abs(__x);}
522
- };
523
-
524
- template <class _Tp>
525
- struct __acos_expr : unary_function<_Tp, _Tp>
526
- {
527
- _LIBCPP_INLINE_VISIBILITY
528
- _Tp operator()(const _Tp& __x) const
529
- {return acos(__x);}
530
- };
531
-
532
- template <class _Tp>
533
- struct __asin_expr : unary_function<_Tp, _Tp>
534
- {
535
- _LIBCPP_INLINE_VISIBILITY
536
- _Tp operator()(const _Tp& __x) const
537
- {return asin(__x);}
538
- };
539
-
540
- template <class _Tp>
541
- struct __atan_expr : unary_function<_Tp, _Tp>
542
- {
543
- _LIBCPP_INLINE_VISIBILITY
544
- _Tp operator()(const _Tp& __x) const
545
- {return atan(__x);}
546
- };
547
-
548
- template <class _Tp>
549
- struct __atan2_expr : binary_function<_Tp, _Tp, _Tp>
550
- {
551
- _LIBCPP_INLINE_VISIBILITY
552
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
553
- {return atan2(__x, __y);}
554
- };
555
-
556
- template <class _Tp>
557
- struct __cos_expr : unary_function<_Tp, _Tp>
558
- {
559
- _LIBCPP_INLINE_VISIBILITY
560
- _Tp operator()(const _Tp& __x) const
561
- {return cos(__x);}
562
- };
563
-
564
- template <class _Tp>
565
- struct __cosh_expr : unary_function<_Tp, _Tp>
566
- {
567
- _LIBCPP_INLINE_VISIBILITY
568
- _Tp operator()(const _Tp& __x) const
569
- {return cosh(__x);}
570
- };
571
-
572
- template <class _Tp>
573
- struct __exp_expr : unary_function<_Tp, _Tp>
574
- {
575
- _LIBCPP_INLINE_VISIBILITY
576
- _Tp operator()(const _Tp& __x) const
577
- {return exp(__x);}
578
- };
579
-
580
- template <class _Tp>
581
- struct __log_expr : unary_function<_Tp, _Tp>
582
- {
583
- _LIBCPP_INLINE_VISIBILITY
584
- _Tp operator()(const _Tp& __x) const
585
- {return log(__x);}
586
- };
587
-
588
- template <class _Tp>
589
- struct __log10_expr : unary_function<_Tp, _Tp>
590
- {
591
- _LIBCPP_INLINE_VISIBILITY
592
- _Tp operator()(const _Tp& __x) const
593
- {return log10(__x);}
594
- };
595
-
596
- template <class _Tp>
597
- struct __pow_expr : binary_function<_Tp, _Tp, _Tp>
598
- {
599
- _LIBCPP_INLINE_VISIBILITY
600
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
601
- {return pow(__x, __y);}
602
- };
603
-
604
- template <class _Tp>
605
- struct __sin_expr : unary_function<_Tp, _Tp>
606
- {
607
- _LIBCPP_INLINE_VISIBILITY
608
- _Tp operator()(const _Tp& __x) const
609
- {return sin(__x);}
610
- };
611
-
612
- template <class _Tp>
613
- struct __sinh_expr : unary_function<_Tp, _Tp>
614
- {
615
- _LIBCPP_INLINE_VISIBILITY
616
- _Tp operator()(const _Tp& __x) const
617
- {return sinh(__x);}
618
- };
619
-
620
- template <class _Tp>
621
- struct __sqrt_expr : unary_function<_Tp, _Tp>
622
- {
623
- _LIBCPP_INLINE_VISIBILITY
624
- _Tp operator()(const _Tp& __x) const
625
- {return sqrt(__x);}
626
- };
627
-
628
- template <class _Tp>
629
- struct __tan_expr : unary_function<_Tp, _Tp>
630
- {
631
- _LIBCPP_INLINE_VISIBILITY
632
- _Tp operator()(const _Tp& __x) const
633
- {return tan(__x);}
634
- };
635
-
636
- template <class _Tp>
637
- struct __tanh_expr : unary_function<_Tp, _Tp>
638
- {
639
- _LIBCPP_INLINE_VISIBILITY
640
- _Tp operator()(const _Tp& __x) const
641
- {return tanh(__x);}
642
- };
643
-
644
- template <class _ValExpr>
645
- class __slice_expr
646
- {
647
- typedef typename remove_reference<_ValExpr>::type _RmExpr;
648
- public:
649
- typedef typename _RmExpr::value_type value_type;
650
- typedef value_type result_type;
651
-
652
- private:
653
- _ValExpr __expr_;
654
- size_t __start_;
655
- size_t __size_;
656
- size_t __stride_;
657
-
658
- _LIBCPP_INLINE_VISIBILITY
659
- __slice_expr(const slice& __sl, const _RmExpr& __e)
660
- : __expr_(__e),
661
- __start_(__sl.start()),
662
- __size_(__sl.size()),
663
- __stride_(__sl.stride())
664
- {}
665
- public:
666
-
667
- _LIBCPP_INLINE_VISIBILITY
668
- result_type operator[](size_t __i) const
669
- {return __expr_[__start_ + __i * __stride_];}
670
-
671
- _LIBCPP_INLINE_VISIBILITY
672
- size_t size() const {return __size_;}
673
-
674
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY valarray;
675
- };
676
-
677
- template <class _ValExpr>
678
- class __mask_expr;
679
-
680
- template <class _ValExpr>
681
- class __indirect_expr;
682
-
683
- template <class _ValExpr>
684
- class __shift_expr
685
- {
686
- typedef typename remove_reference<_ValExpr>::type _RmExpr;
687
- public:
688
- typedef typename _RmExpr::value_type value_type;
689
- typedef value_type result_type;
690
-
691
- private:
692
- _ValExpr __expr_;
693
- size_t __size_;
694
- ptrdiff_t __ul_;
695
- ptrdiff_t __sn_;
696
- ptrdiff_t __n_;
697
- static const ptrdiff_t _Np = static_cast<ptrdiff_t>(
698
- sizeof(ptrdiff_t) * __CHAR_BIT__ - 1);
699
-
700
- _LIBCPP_INLINE_VISIBILITY
701
- __shift_expr(int __n, const _RmExpr& __e)
702
- : __expr_(__e),
703
- __size_(__e.size()),
704
- __n_(__n)
705
- {
706
- ptrdiff_t __neg_n = static_cast<ptrdiff_t>(__n_ >> _Np);
707
- __sn_ = __neg_n | static_cast<ptrdiff_t>(static_cast<size_t>(-__n_) >> _Np);
708
- __ul_ = ((__size_ - __n_) & ~__neg_n) | ((__n_ + 1) & __neg_n);
709
- }
710
- public:
711
-
712
- _LIBCPP_INLINE_VISIBILITY
713
- result_type operator[](size_t __j) const
714
- {
715
- ptrdiff_t __i = static_cast<ptrdiff_t>(__j);
716
- ptrdiff_t __m = (__sn_ * __i - __ul_) >> _Np;
717
- return (__expr_[(__i + __n_) & __m] & __m) | (value_type() & ~__m);
718
- }
719
-
720
- _LIBCPP_INLINE_VISIBILITY
721
- size_t size() const {return __size_;}
722
-
723
- template <class> friend class __val_expr;
724
- };
725
-
726
- template <class _ValExpr>
727
- class __cshift_expr
728
- {
729
- typedef typename remove_reference<_ValExpr>::type _RmExpr;
730
- public:
731
- typedef typename _RmExpr::value_type value_type;
732
- typedef value_type result_type;
733
-
734
- private:
735
- _ValExpr __expr_;
736
- size_t __size_;
737
- size_t __m_;
738
- size_t __o1_;
739
- size_t __o2_;
740
-
741
- _LIBCPP_INLINE_VISIBILITY
742
- __cshift_expr(int __n, const _RmExpr& __e)
743
- : __expr_(__e),
744
- __size_(__e.size())
745
- {
746
- __n %= static_cast<int>(__size_);
747
- if (__n >= 0)
748
- {
749
- __m_ = __size_ - __n;
750
- __o1_ = __n;
751
- __o2_ = __n - __size_;
752
- }
753
- else
754
- {
755
- __m_ = -__n;
756
- __o1_ = __n + __size_;
757
- __o2_ = __n;
758
- }
759
- }
760
- public:
761
-
762
- _LIBCPP_INLINE_VISIBILITY
763
- result_type operator[](size_t __i) const
764
- {
765
- if (__i < __m_)
766
- return __expr_[__i + __o1_];
767
- return __expr_[__i + __o2_];
768
- }
769
-
770
- _LIBCPP_INLINE_VISIBILITY
771
- size_t size() const {return __size_;}
772
-
773
- template <class> friend class __val_expr;
774
- };
775
-
776
- template<class _ValExpr>
777
- class __val_expr;
778
-
779
- template<class _ValExpr>
780
- struct __is_val_expr : false_type {};
781
-
782
- template<class _ValExpr>
783
- struct __is_val_expr<__val_expr<_ValExpr> > : true_type {};
784
-
785
- template<class _Tp>
786
- struct __is_val_expr<valarray<_Tp> > : true_type {};
787
-
788
- template<class _Tp>
789
- class _LIBCPP_TYPE_VIS_ONLY valarray
790
- {
791
- public:
792
- typedef _Tp value_type;
793
- typedef _Tp result_type;
794
-
795
- private:
796
- value_type* __begin_;
797
- value_type* __end_;
798
-
799
- public:
800
- // construct/destroy:
801
- _LIBCPP_INLINE_VISIBILITY
802
- valarray() : __begin_(0), __end_(0) {}
803
- explicit valarray(size_t __n);
804
- valarray(const value_type& __x, size_t __n);
805
- valarray(const value_type* __p, size_t __n);
806
- valarray(const valarray& __v);
807
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
808
- valarray(valarray&& __v) _NOEXCEPT;
809
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
810
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
811
- valarray(initializer_list<value_type> __il);
812
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
813
- valarray(const slice_array<value_type>& __sa);
814
- valarray(const gslice_array<value_type>& __ga);
815
- valarray(const mask_array<value_type>& __ma);
816
- valarray(const indirect_array<value_type>& __ia);
817
- ~valarray();
818
-
819
- // assignment:
820
- valarray& operator=(const valarray& __v);
821
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
822
- valarray& operator=(valarray&& __v) _NOEXCEPT;
823
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
824
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
825
- valarray& operator=(initializer_list<value_type>);
826
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
827
- valarray& operator=(const value_type& __x);
828
- valarray& operator=(const slice_array<value_type>& __sa);
829
- valarray& operator=(const gslice_array<value_type>& __ga);
830
- valarray& operator=(const mask_array<value_type>& __ma);
831
- valarray& operator=(const indirect_array<value_type>& __ia);
832
- template <class _ValExpr>
833
- valarray& operator=(const __val_expr<_ValExpr>& __v);
834
-
835
- // element access:
836
- _LIBCPP_INLINE_VISIBILITY
837
- const value_type& operator[](size_t __i) const {return __begin_[__i];}
838
-
839
- _LIBCPP_INLINE_VISIBILITY
840
- value_type& operator[](size_t __i) {return __begin_[__i];}
841
-
842
- // subset operations:
843
- __val_expr<__slice_expr<const valarray&> > operator[](slice __s) const;
844
- slice_array<value_type> operator[](slice __s);
845
- __val_expr<__indirect_expr<const valarray&> > operator[](const gslice& __gs) const;
846
- gslice_array<value_type> operator[](const gslice& __gs);
847
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
848
- __val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const;
849
- gslice_array<value_type> operator[](gslice&& __gs);
850
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
851
- __val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const;
852
- mask_array<value_type> operator[](const valarray<bool>& __vb);
853
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
854
- __val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const;
855
- mask_array<value_type> operator[](valarray<bool>&& __vb);
856
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
857
- __val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const;
858
- indirect_array<value_type> operator[](const valarray<size_t>& __vs);
859
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
860
- __val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const;
861
- indirect_array<value_type> operator[](valarray<size_t>&& __vs);
862
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
863
-
864
- // unary operators:
865
- valarray operator+() const;
866
- valarray operator-() const;
867
- valarray operator~() const;
868
- valarray<bool> operator!() const;
869
-
870
- // computed assignment:
871
- valarray& operator*= (const value_type& __x);
872
- valarray& operator/= (const value_type& __x);
873
- valarray& operator%= (const value_type& __x);
874
- valarray& operator+= (const value_type& __x);
875
- valarray& operator-= (const value_type& __x);
876
- valarray& operator^= (const value_type& __x);
877
- valarray& operator&= (const value_type& __x);
878
- valarray& operator|= (const value_type& __x);
879
- valarray& operator<<=(const value_type& __x);
880
- valarray& operator>>=(const value_type& __x);
881
-
882
- template <class _Expr>
883
- typename enable_if
884
- <
885
- __is_val_expr<_Expr>::value,
886
- valarray&
887
- >::type
888
- operator*= (const _Expr& __v);
889
-
890
- template <class _Expr>
891
- typename enable_if
892
- <
893
- __is_val_expr<_Expr>::value,
894
- valarray&
895
- >::type
896
- operator/= (const _Expr& __v);
897
-
898
- template <class _Expr>
899
- typename enable_if
900
- <
901
- __is_val_expr<_Expr>::value,
902
- valarray&
903
- >::type
904
- operator%= (const _Expr& __v);
905
-
906
- template <class _Expr>
907
- typename enable_if
908
- <
909
- __is_val_expr<_Expr>::value,
910
- valarray&
911
- >::type
912
- operator+= (const _Expr& __v);
913
-
914
- template <class _Expr>
915
- typename enable_if
916
- <
917
- __is_val_expr<_Expr>::value,
918
- valarray&
919
- >::type
920
- operator-= (const _Expr& __v);
921
-
922
- template <class _Expr>
923
- typename enable_if
924
- <
925
- __is_val_expr<_Expr>::value,
926
- valarray&
927
- >::type
928
- operator^= (const _Expr& __v);
929
-
930
- template <class _Expr>
931
- typename enable_if
932
- <
933
- __is_val_expr<_Expr>::value,
934
- valarray&
935
- >::type
936
- operator|= (const _Expr& __v);
937
-
938
- template <class _Expr>
939
- typename enable_if
940
- <
941
- __is_val_expr<_Expr>::value,
942
- valarray&
943
- >::type
944
- operator&= (const _Expr& __v);
945
-
946
- template <class _Expr>
947
- typename enable_if
948
- <
949
- __is_val_expr<_Expr>::value,
950
- valarray&
951
- >::type
952
- operator<<= (const _Expr& __v);
953
-
954
- template <class _Expr>
955
- typename enable_if
956
- <
957
- __is_val_expr<_Expr>::value,
958
- valarray&
959
- >::type
960
- operator>>= (const _Expr& __v);
961
-
962
- // member functions:
963
- void swap(valarray& __v) _NOEXCEPT;
964
-
965
- _LIBCPP_INLINE_VISIBILITY
966
- size_t size() const {return static_cast<size_t>(__end_ - __begin_);}
967
-
968
- value_type sum() const;
969
- value_type min() const;
970
- value_type max() const;
971
-
972
- valarray shift (int __i) const;
973
- valarray cshift(int __i) const;
974
- valarray apply(value_type __f(value_type)) const;
975
- valarray apply(value_type __f(const value_type&)) const;
976
- void resize(size_t __n, value_type __x = value_type());
977
-
978
- private:
979
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY valarray;
980
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY slice_array;
981
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY gslice_array;
982
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY mask_array;
983
- template <class> friend class __mask_expr;
984
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY indirect_array;
985
- template <class> friend class __indirect_expr;
986
- template <class> friend class __val_expr;
987
-
988
- template <class _Up>
989
- friend
990
- _Up*
991
- begin(valarray<_Up>& __v);
992
-
993
- template <class _Up>
994
- friend
995
- const _Up*
996
- begin(const valarray<_Up>& __v);
997
-
998
- template <class _Up>
999
- friend
1000
- _Up*
1001
- end(valarray<_Up>& __v);
1002
-
1003
- template <class _Up>
1004
- friend
1005
- const _Up*
1006
- end(const valarray<_Up>& __v);
1007
- };
1008
-
1009
- _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::valarray(size_t))
1010
- _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::~valarray())
1011
- _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void valarray<size_t>::resize(size_t, size_t))
1012
-
1013
- template <class _Op, class _Tp>
1014
- struct _UnaryOp<_Op, valarray<_Tp> >
1015
- {
1016
- typedef typename _Op::result_type result_type;
1017
- typedef _Tp value_type;
1018
-
1019
- _Op __op_;
1020
- const valarray<_Tp>& __a0_;
1021
-
1022
- _LIBCPP_INLINE_VISIBILITY
1023
- _UnaryOp(const _Op& __op, const valarray<_Tp>& __a0) : __op_(__op), __a0_(__a0) {}
1024
-
1025
- _LIBCPP_INLINE_VISIBILITY
1026
- result_type operator[](size_t __i) const {return __op_(__a0_[__i]);}
1027
-
1028
- _LIBCPP_INLINE_VISIBILITY
1029
- size_t size() const {return __a0_.size();}
1030
- };
1031
-
1032
- template <class _Op, class _Tp, class _A1>
1033
- struct _BinaryOp<_Op, valarray<_Tp>, _A1>
1034
- {
1035
- typedef typename _Op::result_type result_type;
1036
- typedef _Tp value_type;
1037
-
1038
- _Op __op_;
1039
- const valarray<_Tp>& __a0_;
1040
- _A1 __a1_;
1041
-
1042
- _LIBCPP_INLINE_VISIBILITY
1043
- _BinaryOp(const _Op& __op, const valarray<_Tp>& __a0, const _A1& __a1)
1044
- : __op_(__op), __a0_(__a0), __a1_(__a1) {}
1045
-
1046
- _LIBCPP_INLINE_VISIBILITY
1047
- value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
1048
-
1049
- _LIBCPP_INLINE_VISIBILITY
1050
- size_t size() const {return __a0_.size();}
1051
- };
1052
-
1053
- template <class _Op, class _A0, class _Tp>
1054
- struct _BinaryOp<_Op, _A0, valarray<_Tp> >
1055
- {
1056
- typedef typename _Op::result_type result_type;
1057
- typedef _Tp value_type;
1058
-
1059
- _Op __op_;
1060
- _A0 __a0_;
1061
- const valarray<_Tp>& __a1_;
1062
-
1063
- _LIBCPP_INLINE_VISIBILITY
1064
- _BinaryOp(const _Op& __op, const _A0& __a0, const valarray<_Tp>& __a1)
1065
- : __op_(__op), __a0_(__a0), __a1_(__a1) {}
1066
-
1067
- _LIBCPP_INLINE_VISIBILITY
1068
- value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
1069
-
1070
- _LIBCPP_INLINE_VISIBILITY
1071
- size_t size() const {return __a0_.size();}
1072
- };
1073
-
1074
- template <class _Op, class _Tp>
1075
- struct _BinaryOp<_Op, valarray<_Tp>, valarray<_Tp> >
1076
- {
1077
- typedef typename _Op::result_type result_type;
1078
- typedef _Tp value_type;
1079
-
1080
- _Op __op_;
1081
- const valarray<_Tp>& __a0_;
1082
- const valarray<_Tp>& __a1_;
1083
-
1084
- _LIBCPP_INLINE_VISIBILITY
1085
- _BinaryOp(const _Op& __op, const valarray<_Tp>& __a0, const valarray<_Tp>& __a1)
1086
- : __op_(__op), __a0_(__a0), __a1_(__a1) {}
1087
-
1088
- _LIBCPP_INLINE_VISIBILITY
1089
- value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
1090
-
1091
- _LIBCPP_INLINE_VISIBILITY
1092
- size_t size() const {return __a0_.size();}
1093
- };
1094
-
1095
- // slice_array
1096
-
1097
- template <class _Tp>
1098
- class _LIBCPP_TYPE_VIS_ONLY slice_array
1099
- {
1100
- public:
1101
- typedef _Tp value_type;
1102
-
1103
- private:
1104
- value_type* __vp_;
1105
- size_t __size_;
1106
- size_t __stride_;
1107
-
1108
- public:
1109
- template <class _Expr>
1110
- typename enable_if
1111
- <
1112
- __is_val_expr<_Expr>::value,
1113
- void
1114
- >::type
1115
- operator=(const _Expr& __v) const;
1116
-
1117
- template <class _Expr>
1118
- typename enable_if
1119
- <
1120
- __is_val_expr<_Expr>::value,
1121
- void
1122
- >::type
1123
- operator*=(const _Expr& __v) const;
1124
-
1125
- template <class _Expr>
1126
- typename enable_if
1127
- <
1128
- __is_val_expr<_Expr>::value,
1129
- void
1130
- >::type
1131
- operator/=(const _Expr& __v) const;
1132
-
1133
- template <class _Expr>
1134
- typename enable_if
1135
- <
1136
- __is_val_expr<_Expr>::value,
1137
- void
1138
- >::type
1139
- operator%=(const _Expr& __v) const;
1140
-
1141
- template <class _Expr>
1142
- typename enable_if
1143
- <
1144
- __is_val_expr<_Expr>::value,
1145
- void
1146
- >::type
1147
- operator+=(const _Expr& __v) const;
1148
-
1149
- template <class _Expr>
1150
- typename enable_if
1151
- <
1152
- __is_val_expr<_Expr>::value,
1153
- void
1154
- >::type
1155
- operator-=(const _Expr& __v) const;
1156
-
1157
- template <class _Expr>
1158
- typename enable_if
1159
- <
1160
- __is_val_expr<_Expr>::value,
1161
- void
1162
- >::type
1163
- operator^=(const _Expr& __v) const;
1164
-
1165
- template <class _Expr>
1166
- typename enable_if
1167
- <
1168
- __is_val_expr<_Expr>::value,
1169
- void
1170
- >::type
1171
- operator&=(const _Expr& __v) const;
1172
-
1173
- template <class _Expr>
1174
- typename enable_if
1175
- <
1176
- __is_val_expr<_Expr>::value,
1177
- void
1178
- >::type
1179
- operator|=(const _Expr& __v) const;
1180
-
1181
- template <class _Expr>
1182
- typename enable_if
1183
- <
1184
- __is_val_expr<_Expr>::value,
1185
- void
1186
- >::type
1187
- operator<<=(const _Expr& __v) const;
1188
-
1189
- template <class _Expr>
1190
- typename enable_if
1191
- <
1192
- __is_val_expr<_Expr>::value,
1193
- void
1194
- >::type
1195
- operator>>=(const _Expr& __v) const;
1196
-
1197
- const slice_array& operator=(const slice_array& __sa) const;
1198
-
1199
- void operator=(const value_type& __x) const;
1200
-
1201
- private:
1202
- _LIBCPP_INLINE_VISIBILITY
1203
- slice_array(const slice& __sl, const valarray<value_type>& __v)
1204
- : __vp_(const_cast<value_type*>(__v.__begin_ + __sl.start())),
1205
- __size_(__sl.size()),
1206
- __stride_(__sl.stride())
1207
- {}
1208
-
1209
- template <class> friend class valarray;
1210
- template <class> friend class sliceExpr;
1211
- };
1212
-
1213
- template <class _Tp>
1214
- inline _LIBCPP_INLINE_VISIBILITY
1215
- const slice_array<_Tp>&
1216
- slice_array<_Tp>::operator=(const slice_array& __sa) const
1217
- {
1218
- value_type* __t = __vp_;
1219
- const value_type* __s = __sa.__vp_;
1220
- for (size_t __n = __size_; __n; --__n, __t += __stride_, __s += __sa.__stride_)
1221
- *__t = *__s;
1222
- }
1223
-
1224
- template <class _Tp>
1225
- template <class _Expr>
1226
- inline _LIBCPP_INLINE_VISIBILITY
1227
- typename enable_if
1228
- <
1229
- __is_val_expr<_Expr>::value,
1230
- void
1231
- >::type
1232
- slice_array<_Tp>::operator=(const _Expr& __v) const
1233
- {
1234
- value_type* __t = __vp_;
1235
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1236
- *__t = __v[__i];
1237
- }
1238
-
1239
- template <class _Tp>
1240
- template <class _Expr>
1241
- inline _LIBCPP_INLINE_VISIBILITY
1242
- typename enable_if
1243
- <
1244
- __is_val_expr<_Expr>::value,
1245
- void
1246
- >::type
1247
- slice_array<_Tp>::operator*=(const _Expr& __v) const
1248
- {
1249
- value_type* __t = __vp_;
1250
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1251
- *__t *= __v[__i];
1252
- }
1253
-
1254
- template <class _Tp>
1255
- template <class _Expr>
1256
- inline _LIBCPP_INLINE_VISIBILITY
1257
- typename enable_if
1258
- <
1259
- __is_val_expr<_Expr>::value,
1260
- void
1261
- >::type
1262
- slice_array<_Tp>::operator/=(const _Expr& __v) const
1263
- {
1264
- value_type* __t = __vp_;
1265
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1266
- *__t /= __v[__i];
1267
- }
1268
-
1269
- template <class _Tp>
1270
- template <class _Expr>
1271
- inline _LIBCPP_INLINE_VISIBILITY
1272
- typename enable_if
1273
- <
1274
- __is_val_expr<_Expr>::value,
1275
- void
1276
- >::type
1277
- slice_array<_Tp>::operator%=(const _Expr& __v) const
1278
- {
1279
- value_type* __t = __vp_;
1280
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1281
- *__t %= __v[__i];
1282
- }
1283
-
1284
- template <class _Tp>
1285
- template <class _Expr>
1286
- inline _LIBCPP_INLINE_VISIBILITY
1287
- typename enable_if
1288
- <
1289
- __is_val_expr<_Expr>::value,
1290
- void
1291
- >::type
1292
- slice_array<_Tp>::operator+=(const _Expr& __v) const
1293
- {
1294
- value_type* __t = __vp_;
1295
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1296
- *__t += __v[__i];
1297
- }
1298
-
1299
- template <class _Tp>
1300
- template <class _Expr>
1301
- inline _LIBCPP_INLINE_VISIBILITY
1302
- typename enable_if
1303
- <
1304
- __is_val_expr<_Expr>::value,
1305
- void
1306
- >::type
1307
- slice_array<_Tp>::operator-=(const _Expr& __v) const
1308
- {
1309
- value_type* __t = __vp_;
1310
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1311
- *__t -= __v[__i];
1312
- }
1313
-
1314
- template <class _Tp>
1315
- template <class _Expr>
1316
- inline _LIBCPP_INLINE_VISIBILITY
1317
- typename enable_if
1318
- <
1319
- __is_val_expr<_Expr>::value,
1320
- void
1321
- >::type
1322
- slice_array<_Tp>::operator^=(const _Expr& __v) const
1323
- {
1324
- value_type* __t = __vp_;
1325
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1326
- *__t ^= __v[__i];
1327
- }
1328
-
1329
- template <class _Tp>
1330
- template <class _Expr>
1331
- inline _LIBCPP_INLINE_VISIBILITY
1332
- typename enable_if
1333
- <
1334
- __is_val_expr<_Expr>::value,
1335
- void
1336
- >::type
1337
- slice_array<_Tp>::operator&=(const _Expr& __v) const
1338
- {
1339
- value_type* __t = __vp_;
1340
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1341
- *__t &= __v[__i];
1342
- }
1343
-
1344
- template <class _Tp>
1345
- template <class _Expr>
1346
- inline _LIBCPP_INLINE_VISIBILITY
1347
- typename enable_if
1348
- <
1349
- __is_val_expr<_Expr>::value,
1350
- void
1351
- >::type
1352
- slice_array<_Tp>::operator|=(const _Expr& __v) const
1353
- {
1354
- value_type* __t = __vp_;
1355
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1356
- *__t |= __v[__i];
1357
- }
1358
-
1359
- template <class _Tp>
1360
- template <class _Expr>
1361
- inline _LIBCPP_INLINE_VISIBILITY
1362
- typename enable_if
1363
- <
1364
- __is_val_expr<_Expr>::value,
1365
- void
1366
- >::type
1367
- slice_array<_Tp>::operator<<=(const _Expr& __v) const
1368
- {
1369
- value_type* __t = __vp_;
1370
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1371
- *__t <<= __v[__i];
1372
- }
1373
-
1374
- template <class _Tp>
1375
- template <class _Expr>
1376
- inline _LIBCPP_INLINE_VISIBILITY
1377
- typename enable_if
1378
- <
1379
- __is_val_expr<_Expr>::value,
1380
- void
1381
- >::type
1382
- slice_array<_Tp>::operator>>=(const _Expr& __v) const
1383
- {
1384
- value_type* __t = __vp_;
1385
- for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
1386
- *__t >>= __v[__i];
1387
- }
1388
-
1389
- template <class _Tp>
1390
- inline _LIBCPP_INLINE_VISIBILITY
1391
- void
1392
- slice_array<_Tp>::operator=(const value_type& __x) const
1393
- {
1394
- value_type* __t = __vp_;
1395
- for (size_t __n = __size_; __n; --__n, __t += __stride_)
1396
- *__t = __x;
1397
- }
1398
-
1399
- // gslice
1400
-
1401
- class _LIBCPP_TYPE_VIS gslice
1402
- {
1403
- valarray<size_t> __size_;
1404
- valarray<size_t> __stride_;
1405
- valarray<size_t> __1d_;
1406
-
1407
- public:
1408
- _LIBCPP_INLINE_VISIBILITY
1409
- gslice() {}
1410
-
1411
- _LIBCPP_INLINE_VISIBILITY
1412
- gslice(size_t __start, const valarray<size_t>& __size,
1413
- const valarray<size_t>& __stride)
1414
- : __size_(__size),
1415
- __stride_(__stride)
1416
- {__init(__start);}
1417
-
1418
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1419
-
1420
- _LIBCPP_INLINE_VISIBILITY
1421
- gslice(size_t __start, const valarray<size_t>& __size,
1422
- valarray<size_t>&& __stride)
1423
- : __size_(__size),
1424
- __stride_(move(__stride))
1425
- {__init(__start);}
1426
-
1427
- _LIBCPP_INLINE_VISIBILITY
1428
- gslice(size_t __start, valarray<size_t>&& __size,
1429
- const valarray<size_t>& __stride)
1430
- : __size_(move(__size)),
1431
- __stride_(__stride)
1432
- {__init(__start);}
1433
-
1434
- _LIBCPP_INLINE_VISIBILITY
1435
- gslice(size_t __start, valarray<size_t>&& __size,
1436
- valarray<size_t>&& __stride)
1437
- : __size_(move(__size)),
1438
- __stride_(move(__stride))
1439
- {__init(__start);}
1440
-
1441
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1442
-
1443
- // gslice(const gslice&) = default;
1444
- // gslice(gslice&&) = default;
1445
- // gslice& operator=(const gslice&) = default;
1446
- // gslice& operator=(gslice&&) = default;
1447
-
1448
- _LIBCPP_INLINE_VISIBILITY
1449
- size_t start() const {return __1d_.size() ? __1d_[0] : 0;}
1450
-
1451
- _LIBCPP_INLINE_VISIBILITY
1452
- valarray<size_t> size() const {return __size_;}
1453
-
1454
- _LIBCPP_INLINE_VISIBILITY
1455
- valarray<size_t> stride() const {return __stride_;}
1456
-
1457
- private:
1458
- void __init(size_t __start);
1459
-
1460
- template <class> friend class gslice_array;
1461
- template <class> friend class valarray;
1462
- template <class> friend class __val_expr;
1463
- };
1464
-
1465
- // gslice_array
1466
-
1467
- template <class _Tp>
1468
- class _LIBCPP_TYPE_VIS_ONLY gslice_array
1469
- {
1470
- public:
1471
- typedef _Tp value_type;
1472
-
1473
- private:
1474
- value_type* __vp_;
1475
- valarray<size_t> __1d_;
1476
-
1477
- public:
1478
- template <class _Expr>
1479
- typename enable_if
1480
- <
1481
- __is_val_expr<_Expr>::value,
1482
- void
1483
- >::type
1484
- operator=(const _Expr& __v) const;
1485
-
1486
- template <class _Expr>
1487
- typename enable_if
1488
- <
1489
- __is_val_expr<_Expr>::value,
1490
- void
1491
- >::type
1492
- operator*=(const _Expr& __v) const;
1493
-
1494
- template <class _Expr>
1495
- typename enable_if
1496
- <
1497
- __is_val_expr<_Expr>::value,
1498
- void
1499
- >::type
1500
- operator/=(const _Expr& __v) const;
1501
-
1502
- template <class _Expr>
1503
- typename enable_if
1504
- <
1505
- __is_val_expr<_Expr>::value,
1506
- void
1507
- >::type
1508
- operator%=(const _Expr& __v) const;
1509
-
1510
- template <class _Expr>
1511
- typename enable_if
1512
- <
1513
- __is_val_expr<_Expr>::value,
1514
- void
1515
- >::type
1516
- operator+=(const _Expr& __v) const;
1517
-
1518
- template <class _Expr>
1519
- typename enable_if
1520
- <
1521
- __is_val_expr<_Expr>::value,
1522
- void
1523
- >::type
1524
- operator-=(const _Expr& __v) const;
1525
-
1526
- template <class _Expr>
1527
- typename enable_if
1528
- <
1529
- __is_val_expr<_Expr>::value,
1530
- void
1531
- >::type
1532
- operator^=(const _Expr& __v) const;
1533
-
1534
- template <class _Expr>
1535
- typename enable_if
1536
- <
1537
- __is_val_expr<_Expr>::value,
1538
- void
1539
- >::type
1540
- operator&=(const _Expr& __v) const;
1541
-
1542
- template <class _Expr>
1543
- typename enable_if
1544
- <
1545
- __is_val_expr<_Expr>::value,
1546
- void
1547
- >::type
1548
- operator|=(const _Expr& __v) const;
1549
-
1550
- template <class _Expr>
1551
- typename enable_if
1552
- <
1553
- __is_val_expr<_Expr>::value,
1554
- void
1555
- >::type
1556
- operator<<=(const _Expr& __v) const;
1557
-
1558
- template <class _Expr>
1559
- typename enable_if
1560
- <
1561
- __is_val_expr<_Expr>::value,
1562
- void
1563
- >::type
1564
- operator>>=(const _Expr& __v) const;
1565
-
1566
- const gslice_array& operator=(const gslice_array& __ga) const;
1567
-
1568
- void operator=(const value_type& __x) const;
1569
-
1570
- // gslice_array(const gslice_array&) = default;
1571
- // gslice_array(gslice_array&&) = default;
1572
- // gslice_array& operator=(const gslice_array&) = default;
1573
- // gslice_array& operator=(gslice_array&&) = default;
1574
-
1575
- private:
1576
- _LIBCPP_INLINE_VISIBILITY
1577
- gslice_array(const gslice& __gs, const valarray<value_type>& __v)
1578
- : __vp_(const_cast<value_type*>(__v.__begin_)),
1579
- __1d_(__gs.__1d_)
1580
- {}
1581
-
1582
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1583
-
1584
- _LIBCPP_INLINE_VISIBILITY
1585
- gslice_array(gslice&& __gs, const valarray<value_type>& __v)
1586
- : __vp_(const_cast<value_type*>(__v.__begin_)),
1587
- __1d_(move(__gs.__1d_))
1588
- {}
1589
-
1590
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1591
-
1592
- template <class> friend class valarray;
1593
- };
1594
-
1595
- template <class _Tp>
1596
- template <class _Expr>
1597
- inline _LIBCPP_INLINE_VISIBILITY
1598
- typename enable_if
1599
- <
1600
- __is_val_expr<_Expr>::value,
1601
- void
1602
- >::type
1603
- gslice_array<_Tp>::operator=(const _Expr& __v) const
1604
- {
1605
- typedef const size_t* _Ip;
1606
- size_t __j = 0;
1607
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1608
- __vp_[*__i] = __v[__j];
1609
- }
1610
-
1611
- template <class _Tp>
1612
- template <class _Expr>
1613
- inline _LIBCPP_INLINE_VISIBILITY
1614
- typename enable_if
1615
- <
1616
- __is_val_expr<_Expr>::value,
1617
- void
1618
- >::type
1619
- gslice_array<_Tp>::operator*=(const _Expr& __v) const
1620
- {
1621
- typedef const size_t* _Ip;
1622
- size_t __j = 0;
1623
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1624
- __vp_[*__i] *= __v[__j];
1625
- }
1626
-
1627
- template <class _Tp>
1628
- template <class _Expr>
1629
- inline _LIBCPP_INLINE_VISIBILITY
1630
- typename enable_if
1631
- <
1632
- __is_val_expr<_Expr>::value,
1633
- void
1634
- >::type
1635
- gslice_array<_Tp>::operator/=(const _Expr& __v) const
1636
- {
1637
- typedef const size_t* _Ip;
1638
- size_t __j = 0;
1639
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1640
- __vp_[*__i] /= __v[__j];
1641
- }
1642
-
1643
- template <class _Tp>
1644
- template <class _Expr>
1645
- inline _LIBCPP_INLINE_VISIBILITY
1646
- typename enable_if
1647
- <
1648
- __is_val_expr<_Expr>::value,
1649
- void
1650
- >::type
1651
- gslice_array<_Tp>::operator%=(const _Expr& __v) const
1652
- {
1653
- typedef const size_t* _Ip;
1654
- size_t __j = 0;
1655
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1656
- __vp_[*__i] %= __v[__j];
1657
- }
1658
-
1659
- template <class _Tp>
1660
- template <class _Expr>
1661
- inline _LIBCPP_INLINE_VISIBILITY
1662
- typename enable_if
1663
- <
1664
- __is_val_expr<_Expr>::value,
1665
- void
1666
- >::type
1667
- gslice_array<_Tp>::operator+=(const _Expr& __v) const
1668
- {
1669
- typedef const size_t* _Ip;
1670
- size_t __j = 0;
1671
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1672
- __vp_[*__i] += __v[__j];
1673
- }
1674
-
1675
- template <class _Tp>
1676
- template <class _Expr>
1677
- inline _LIBCPP_INLINE_VISIBILITY
1678
- typename enable_if
1679
- <
1680
- __is_val_expr<_Expr>::value,
1681
- void
1682
- >::type
1683
- gslice_array<_Tp>::operator-=(const _Expr& __v) const
1684
- {
1685
- typedef const size_t* _Ip;
1686
- size_t __j = 0;
1687
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1688
- __vp_[*__i] -= __v[__j];
1689
- }
1690
-
1691
- template <class _Tp>
1692
- template <class _Expr>
1693
- inline _LIBCPP_INLINE_VISIBILITY
1694
- typename enable_if
1695
- <
1696
- __is_val_expr<_Expr>::value,
1697
- void
1698
- >::type
1699
- gslice_array<_Tp>::operator^=(const _Expr& __v) const
1700
- {
1701
- typedef const size_t* _Ip;
1702
- size_t __j = 0;
1703
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1704
- __vp_[*__i] ^= __v[__j];
1705
- }
1706
-
1707
- template <class _Tp>
1708
- template <class _Expr>
1709
- inline _LIBCPP_INLINE_VISIBILITY
1710
- typename enable_if
1711
- <
1712
- __is_val_expr<_Expr>::value,
1713
- void
1714
- >::type
1715
- gslice_array<_Tp>::operator&=(const _Expr& __v) const
1716
- {
1717
- typedef const size_t* _Ip;
1718
- size_t __j = 0;
1719
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1720
- __vp_[*__i] &= __v[__j];
1721
- }
1722
-
1723
- template <class _Tp>
1724
- template <class _Expr>
1725
- inline _LIBCPP_INLINE_VISIBILITY
1726
- typename enable_if
1727
- <
1728
- __is_val_expr<_Expr>::value,
1729
- void
1730
- >::type
1731
- gslice_array<_Tp>::operator|=(const _Expr& __v) const
1732
- {
1733
- typedef const size_t* _Ip;
1734
- size_t __j = 0;
1735
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1736
- __vp_[*__i] |= __v[__j];
1737
- }
1738
-
1739
- template <class _Tp>
1740
- template <class _Expr>
1741
- inline _LIBCPP_INLINE_VISIBILITY
1742
- typename enable_if
1743
- <
1744
- __is_val_expr<_Expr>::value,
1745
- void
1746
- >::type
1747
- gslice_array<_Tp>::operator<<=(const _Expr& __v) const
1748
- {
1749
- typedef const size_t* _Ip;
1750
- size_t __j = 0;
1751
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1752
- __vp_[*__i] <<= __v[__j];
1753
- }
1754
-
1755
- template <class _Tp>
1756
- template <class _Expr>
1757
- inline _LIBCPP_INLINE_VISIBILITY
1758
- typename enable_if
1759
- <
1760
- __is_val_expr<_Expr>::value,
1761
- void
1762
- >::type
1763
- gslice_array<_Tp>::operator>>=(const _Expr& __v) const
1764
- {
1765
- typedef const size_t* _Ip;
1766
- size_t __j = 0;
1767
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
1768
- __vp_[*__i] >>= __v[__j];
1769
- }
1770
-
1771
- template <class _Tp>
1772
- inline _LIBCPP_INLINE_VISIBILITY
1773
- const gslice_array<_Tp>&
1774
- gslice_array<_Tp>::operator=(const gslice_array& __ga) const
1775
- {
1776
- typedef const size_t* _Ip;
1777
- const value_type* __s = __ga.__vp_;
1778
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_, __j = __ga.__1d_.__begin_;
1779
- __i != __e; ++__i, ++__j)
1780
- __vp_[*__i] = __s[*__j];
1781
- return *this;
1782
- }
1783
-
1784
- template <class _Tp>
1785
- inline _LIBCPP_INLINE_VISIBILITY
1786
- void
1787
- gslice_array<_Tp>::operator=(const value_type& __x) const
1788
- {
1789
- typedef const size_t* _Ip;
1790
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i)
1791
- __vp_[*__i] = __x;
1792
- }
1793
-
1794
- // mask_array
1795
-
1796
- template <class _Tp>
1797
- class _LIBCPP_TYPE_VIS_ONLY mask_array
1798
- {
1799
- public:
1800
- typedef _Tp value_type;
1801
-
1802
- private:
1803
- value_type* __vp_;
1804
- valarray<size_t> __1d_;
1805
-
1806
- public:
1807
- template <class _Expr>
1808
- typename enable_if
1809
- <
1810
- __is_val_expr<_Expr>::value,
1811
- void
1812
- >::type
1813
- operator=(const _Expr& __v) const;
1814
-
1815
- template <class _Expr>
1816
- typename enable_if
1817
- <
1818
- __is_val_expr<_Expr>::value,
1819
- void
1820
- >::type
1821
- operator*=(const _Expr& __v) const;
1822
-
1823
- template <class _Expr>
1824
- typename enable_if
1825
- <
1826
- __is_val_expr<_Expr>::value,
1827
- void
1828
- >::type
1829
- operator/=(const _Expr& __v) const;
1830
-
1831
- template <class _Expr>
1832
- typename enable_if
1833
- <
1834
- __is_val_expr<_Expr>::value,
1835
- void
1836
- >::type
1837
- operator%=(const _Expr& __v) const;
1838
-
1839
- template <class _Expr>
1840
- typename enable_if
1841
- <
1842
- __is_val_expr<_Expr>::value,
1843
- void
1844
- >::type
1845
- operator+=(const _Expr& __v) const;
1846
-
1847
- template <class _Expr>
1848
- typename enable_if
1849
- <
1850
- __is_val_expr<_Expr>::value,
1851
- void
1852
- >::type
1853
- operator-=(const _Expr& __v) const;
1854
-
1855
- template <class _Expr>
1856
- typename enable_if
1857
- <
1858
- __is_val_expr<_Expr>::value,
1859
- void
1860
- >::type
1861
- operator^=(const _Expr& __v) const;
1862
-
1863
- template <class _Expr>
1864
- typename enable_if
1865
- <
1866
- __is_val_expr<_Expr>::value,
1867
- void
1868
- >::type
1869
- operator&=(const _Expr& __v) const;
1870
-
1871
- template <class _Expr>
1872
- typename enable_if
1873
- <
1874
- __is_val_expr<_Expr>::value,
1875
- void
1876
- >::type
1877
- operator|=(const _Expr& __v) const;
1878
-
1879
- template <class _Expr>
1880
- typename enable_if
1881
- <
1882
- __is_val_expr<_Expr>::value,
1883
- void
1884
- >::type
1885
- operator<<=(const _Expr& __v) const;
1886
-
1887
- template <class _Expr>
1888
- typename enable_if
1889
- <
1890
- __is_val_expr<_Expr>::value,
1891
- void
1892
- >::type
1893
- operator>>=(const _Expr& __v) const;
1894
-
1895
- const mask_array& operator=(const mask_array& __ma) const;
1896
-
1897
- void operator=(const value_type& __x) const;
1898
-
1899
- // mask_array(const mask_array&) = default;
1900
- // mask_array(mask_array&&) = default;
1901
- // mask_array& operator=(const mask_array&) = default;
1902
- // mask_array& operator=(mask_array&&) = default;
1903
-
1904
- private:
1905
- _LIBCPP_INLINE_VISIBILITY
1906
- mask_array(const valarray<bool>& __vb, const valarray<value_type>& __v)
1907
- : __vp_(const_cast<value_type*>(__v.__begin_)),
1908
- __1d_(static_cast<size_t>(count(__vb.__begin_, __vb.__end_, true)))
1909
- {
1910
- size_t __j = 0;
1911
- for (size_t __i = 0; __i < __vb.size(); ++__i)
1912
- if (__vb[__i])
1913
- __1d_[__j++] = __i;
1914
- }
1915
-
1916
- template <class> friend class valarray;
1917
- };
1918
-
1919
- template <class _Tp>
1920
- template <class _Expr>
1921
- inline _LIBCPP_INLINE_VISIBILITY
1922
- typename enable_if
1923
- <
1924
- __is_val_expr<_Expr>::value,
1925
- void
1926
- >::type
1927
- mask_array<_Tp>::operator=(const _Expr& __v) const
1928
- {
1929
- size_t __n = __1d_.size();
1930
- for (size_t __i = 0; __i < __n; ++__i)
1931
- __vp_[__1d_[__i]] = __v[__i];
1932
- }
1933
-
1934
- template <class _Tp>
1935
- template <class _Expr>
1936
- inline _LIBCPP_INLINE_VISIBILITY
1937
- typename enable_if
1938
- <
1939
- __is_val_expr<_Expr>::value,
1940
- void
1941
- >::type
1942
- mask_array<_Tp>::operator*=(const _Expr& __v) const
1943
- {
1944
- size_t __n = __1d_.size();
1945
- for (size_t __i = 0; __i < __n; ++__i)
1946
- __vp_[__1d_[__i]] *= __v[__i];
1947
- }
1948
-
1949
- template <class _Tp>
1950
- template <class _Expr>
1951
- inline _LIBCPP_INLINE_VISIBILITY
1952
- typename enable_if
1953
- <
1954
- __is_val_expr<_Expr>::value,
1955
- void
1956
- >::type
1957
- mask_array<_Tp>::operator/=(const _Expr& __v) const
1958
- {
1959
- size_t __n = __1d_.size();
1960
- for (size_t __i = 0; __i < __n; ++__i)
1961
- __vp_[__1d_[__i]] /= __v[__i];
1962
- }
1963
-
1964
- template <class _Tp>
1965
- template <class _Expr>
1966
- inline _LIBCPP_INLINE_VISIBILITY
1967
- typename enable_if
1968
- <
1969
- __is_val_expr<_Expr>::value,
1970
- void
1971
- >::type
1972
- mask_array<_Tp>::operator%=(const _Expr& __v) const
1973
- {
1974
- size_t __n = __1d_.size();
1975
- for (size_t __i = 0; __i < __n; ++__i)
1976
- __vp_[__1d_[__i]] %= __v[__i];
1977
- }
1978
-
1979
- template <class _Tp>
1980
- template <class _Expr>
1981
- inline _LIBCPP_INLINE_VISIBILITY
1982
- typename enable_if
1983
- <
1984
- __is_val_expr<_Expr>::value,
1985
- void
1986
- >::type
1987
- mask_array<_Tp>::operator+=(const _Expr& __v) const
1988
- {
1989
- size_t __n = __1d_.size();
1990
- for (size_t __i = 0; __i < __n; ++__i)
1991
- __vp_[__1d_[__i]] += __v[__i];
1992
- }
1993
-
1994
- template <class _Tp>
1995
- template <class _Expr>
1996
- inline _LIBCPP_INLINE_VISIBILITY
1997
- typename enable_if
1998
- <
1999
- __is_val_expr<_Expr>::value,
2000
- void
2001
- >::type
2002
- mask_array<_Tp>::operator-=(const _Expr& __v) const
2003
- {
2004
- size_t __n = __1d_.size();
2005
- for (size_t __i = 0; __i < __n; ++__i)
2006
- __vp_[__1d_[__i]] -= __v[__i];
2007
- }
2008
-
2009
- template <class _Tp>
2010
- template <class _Expr>
2011
- inline _LIBCPP_INLINE_VISIBILITY
2012
- typename enable_if
2013
- <
2014
- __is_val_expr<_Expr>::value,
2015
- void
2016
- >::type
2017
- mask_array<_Tp>::operator^=(const _Expr& __v) const
2018
- {
2019
- size_t __n = __1d_.size();
2020
- for (size_t __i = 0; __i < __n; ++__i)
2021
- __vp_[__1d_[__i]] ^= __v[__i];
2022
- }
2023
-
2024
- template <class _Tp>
2025
- template <class _Expr>
2026
- inline _LIBCPP_INLINE_VISIBILITY
2027
- typename enable_if
2028
- <
2029
- __is_val_expr<_Expr>::value,
2030
- void
2031
- >::type
2032
- mask_array<_Tp>::operator&=(const _Expr& __v) const
2033
- {
2034
- size_t __n = __1d_.size();
2035
- for (size_t __i = 0; __i < __n; ++__i)
2036
- __vp_[__1d_[__i]] &= __v[__i];
2037
- }
2038
-
2039
- template <class _Tp>
2040
- template <class _Expr>
2041
- inline _LIBCPP_INLINE_VISIBILITY
2042
- typename enable_if
2043
- <
2044
- __is_val_expr<_Expr>::value,
2045
- void
2046
- >::type
2047
- mask_array<_Tp>::operator|=(const _Expr& __v) const
2048
- {
2049
- size_t __n = __1d_.size();
2050
- for (size_t __i = 0; __i < __n; ++__i)
2051
- __vp_[__1d_[__i]] |= __v[__i];
2052
- }
2053
-
2054
- template <class _Tp>
2055
- template <class _Expr>
2056
- inline _LIBCPP_INLINE_VISIBILITY
2057
- typename enable_if
2058
- <
2059
- __is_val_expr<_Expr>::value,
2060
- void
2061
- >::type
2062
- mask_array<_Tp>::operator<<=(const _Expr& __v) const
2063
- {
2064
- size_t __n = __1d_.size();
2065
- for (size_t __i = 0; __i < __n; ++__i)
2066
- __vp_[__1d_[__i]] <<= __v[__i];
2067
- }
2068
-
2069
- template <class _Tp>
2070
- template <class _Expr>
2071
- inline _LIBCPP_INLINE_VISIBILITY
2072
- typename enable_if
2073
- <
2074
- __is_val_expr<_Expr>::value,
2075
- void
2076
- >::type
2077
- mask_array<_Tp>::operator>>=(const _Expr& __v) const
2078
- {
2079
- size_t __n = __1d_.size();
2080
- for (size_t __i = 0; __i < __n; ++__i)
2081
- __vp_[__1d_[__i]] >>= __v[__i];
2082
- }
2083
-
2084
- template <class _Tp>
2085
- inline _LIBCPP_INLINE_VISIBILITY
2086
- const mask_array<_Tp>&
2087
- mask_array<_Tp>::operator=(const mask_array& __ma) const
2088
- {
2089
- size_t __n = __1d_.size();
2090
- for (size_t __i = 0; __i < __n; ++__i)
2091
- __vp_[__1d_[__i]] = __ma.__vp_[__1d_[__i]];
2092
- }
2093
-
2094
- template <class _Tp>
2095
- inline _LIBCPP_INLINE_VISIBILITY
2096
- void
2097
- mask_array<_Tp>::operator=(const value_type& __x) const
2098
- {
2099
- size_t __n = __1d_.size();
2100
- for (size_t __i = 0; __i < __n; ++__i)
2101
- __vp_[__1d_[__i]] = __x;
2102
- }
2103
-
2104
- template <class _ValExpr>
2105
- class __mask_expr
2106
- {
2107
- typedef typename remove_reference<_ValExpr>::type _RmExpr;
2108
- public:
2109
- typedef typename _RmExpr::value_type value_type;
2110
- typedef value_type result_type;
2111
-
2112
- private:
2113
- _ValExpr __expr_;
2114
- valarray<size_t> __1d_;
2115
-
2116
- _LIBCPP_INLINE_VISIBILITY
2117
- __mask_expr(const valarray<bool>& __vb, const _RmExpr& __e)
2118
- : __expr_(__e),
2119
- __1d_(static_cast<size_t>(count(__vb.__begin_, __vb.__end_, true)))
2120
- {
2121
- size_t __j = 0;
2122
- for (size_t __i = 0; __i < __vb.size(); ++__i)
2123
- if (__vb[__i])
2124
- __1d_[__j++] = __i;
2125
- }
2126
-
2127
- public:
2128
- _LIBCPP_INLINE_VISIBILITY
2129
- result_type operator[](size_t __i) const
2130
- {return __expr_[__1d_[__i]];}
2131
-
2132
- _LIBCPP_INLINE_VISIBILITY
2133
- size_t size() const {return __1d_.size();}
2134
-
2135
- template <class> friend class valarray;
2136
- };
2137
-
2138
- // indirect_array
2139
-
2140
- template <class _Tp>
2141
- class _LIBCPP_TYPE_VIS_ONLY indirect_array
2142
- {
2143
- public:
2144
- typedef _Tp value_type;
2145
-
2146
- private:
2147
- value_type* __vp_;
2148
- valarray<size_t> __1d_;
2149
-
2150
- public:
2151
- template <class _Expr>
2152
- typename enable_if
2153
- <
2154
- __is_val_expr<_Expr>::value,
2155
- void
2156
- >::type
2157
- operator=(const _Expr& __v) const;
2158
-
2159
- template <class _Expr>
2160
- typename enable_if
2161
- <
2162
- __is_val_expr<_Expr>::value,
2163
- void
2164
- >::type
2165
- operator*=(const _Expr& __v) const;
2166
-
2167
- template <class _Expr>
2168
- typename enable_if
2169
- <
2170
- __is_val_expr<_Expr>::value,
2171
- void
2172
- >::type
2173
- operator/=(const _Expr& __v) const;
2174
-
2175
- template <class _Expr>
2176
- typename enable_if
2177
- <
2178
- __is_val_expr<_Expr>::value,
2179
- void
2180
- >::type
2181
- operator%=(const _Expr& __v) const;
2182
-
2183
- template <class _Expr>
2184
- typename enable_if
2185
- <
2186
- __is_val_expr<_Expr>::value,
2187
- void
2188
- >::type
2189
- operator+=(const _Expr& __v) const;
2190
-
2191
- template <class _Expr>
2192
- typename enable_if
2193
- <
2194
- __is_val_expr<_Expr>::value,
2195
- void
2196
- >::type
2197
- operator-=(const _Expr& __v) const;
2198
-
2199
- template <class _Expr>
2200
- typename enable_if
2201
- <
2202
- __is_val_expr<_Expr>::value,
2203
- void
2204
- >::type
2205
- operator^=(const _Expr& __v) const;
2206
-
2207
- template <class _Expr>
2208
- typename enable_if
2209
- <
2210
- __is_val_expr<_Expr>::value,
2211
- void
2212
- >::type
2213
- operator&=(const _Expr& __v) const;
2214
-
2215
- template <class _Expr>
2216
- typename enable_if
2217
- <
2218
- __is_val_expr<_Expr>::value,
2219
- void
2220
- >::type
2221
- operator|=(const _Expr& __v) const;
2222
-
2223
- template <class _Expr>
2224
- typename enable_if
2225
- <
2226
- __is_val_expr<_Expr>::value,
2227
- void
2228
- >::type
2229
- operator<<=(const _Expr& __v) const;
2230
-
2231
- template <class _Expr>
2232
- typename enable_if
2233
- <
2234
- __is_val_expr<_Expr>::value,
2235
- void
2236
- >::type
2237
- operator>>=(const _Expr& __v) const;
2238
-
2239
- const indirect_array& operator=(const indirect_array& __ia) const;
2240
-
2241
- void operator=(const value_type& __x) const;
2242
-
2243
- // indirect_array(const indirect_array&) = default;
2244
- // indirect_array(indirect_array&&) = default;
2245
- // indirect_array& operator=(const indirect_array&) = default;
2246
- // indirect_array& operator=(indirect_array&&) = default;
2247
-
2248
- private:
2249
- _LIBCPP_INLINE_VISIBILITY
2250
- indirect_array(const valarray<size_t>& __ia, const valarray<value_type>& __v)
2251
- : __vp_(const_cast<value_type*>(__v.__begin_)),
2252
- __1d_(__ia)
2253
- {}
2254
-
2255
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2256
-
2257
- _LIBCPP_INLINE_VISIBILITY
2258
- indirect_array(valarray<size_t>&& __ia, const valarray<value_type>& __v)
2259
- : __vp_(const_cast<value_type*>(__v.__begin_)),
2260
- __1d_(move(__ia))
2261
- {}
2262
-
2263
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2264
-
2265
- template <class> friend class valarray;
2266
- };
2267
-
2268
- template <class _Tp>
2269
- template <class _Expr>
2270
- inline _LIBCPP_INLINE_VISIBILITY
2271
- typename enable_if
2272
- <
2273
- __is_val_expr<_Expr>::value,
2274
- void
2275
- >::type
2276
- indirect_array<_Tp>::operator=(const _Expr& __v) const
2277
- {
2278
- size_t __n = __1d_.size();
2279
- for (size_t __i = 0; __i < __n; ++__i)
2280
- __vp_[__1d_[__i]] = __v[__i];
2281
- }
2282
-
2283
- template <class _Tp>
2284
- template <class _Expr>
2285
- inline _LIBCPP_INLINE_VISIBILITY
2286
- typename enable_if
2287
- <
2288
- __is_val_expr<_Expr>::value,
2289
- void
2290
- >::type
2291
- indirect_array<_Tp>::operator*=(const _Expr& __v) const
2292
- {
2293
- size_t __n = __1d_.size();
2294
- for (size_t __i = 0; __i < __n; ++__i)
2295
- __vp_[__1d_[__i]] *= __v[__i];
2296
- }
2297
-
2298
- template <class _Tp>
2299
- template <class _Expr>
2300
- inline _LIBCPP_INLINE_VISIBILITY
2301
- typename enable_if
2302
- <
2303
- __is_val_expr<_Expr>::value,
2304
- void
2305
- >::type
2306
- indirect_array<_Tp>::operator/=(const _Expr& __v) const
2307
- {
2308
- size_t __n = __1d_.size();
2309
- for (size_t __i = 0; __i < __n; ++__i)
2310
- __vp_[__1d_[__i]] /= __v[__i];
2311
- }
2312
-
2313
- template <class _Tp>
2314
- template <class _Expr>
2315
- inline _LIBCPP_INLINE_VISIBILITY
2316
- typename enable_if
2317
- <
2318
- __is_val_expr<_Expr>::value,
2319
- void
2320
- >::type
2321
- indirect_array<_Tp>::operator%=(const _Expr& __v) const
2322
- {
2323
- size_t __n = __1d_.size();
2324
- for (size_t __i = 0; __i < __n; ++__i)
2325
- __vp_[__1d_[__i]] %= __v[__i];
2326
- }
2327
-
2328
- template <class _Tp>
2329
- template <class _Expr>
2330
- inline _LIBCPP_INLINE_VISIBILITY
2331
- typename enable_if
2332
- <
2333
- __is_val_expr<_Expr>::value,
2334
- void
2335
- >::type
2336
- indirect_array<_Tp>::operator+=(const _Expr& __v) const
2337
- {
2338
- size_t __n = __1d_.size();
2339
- for (size_t __i = 0; __i < __n; ++__i)
2340
- __vp_[__1d_[__i]] += __v[__i];
2341
- }
2342
-
2343
- template <class _Tp>
2344
- template <class _Expr>
2345
- inline _LIBCPP_INLINE_VISIBILITY
2346
- typename enable_if
2347
- <
2348
- __is_val_expr<_Expr>::value,
2349
- void
2350
- >::type
2351
- indirect_array<_Tp>::operator-=(const _Expr& __v) const
2352
- {
2353
- size_t __n = __1d_.size();
2354
- for (size_t __i = 0; __i < __n; ++__i)
2355
- __vp_[__1d_[__i]] -= __v[__i];
2356
- }
2357
-
2358
- template <class _Tp>
2359
- template <class _Expr>
2360
- inline _LIBCPP_INLINE_VISIBILITY
2361
- typename enable_if
2362
- <
2363
- __is_val_expr<_Expr>::value,
2364
- void
2365
- >::type
2366
- indirect_array<_Tp>::operator^=(const _Expr& __v) const
2367
- {
2368
- size_t __n = __1d_.size();
2369
- for (size_t __i = 0; __i < __n; ++__i)
2370
- __vp_[__1d_[__i]] ^= __v[__i];
2371
- }
2372
-
2373
- template <class _Tp>
2374
- template <class _Expr>
2375
- inline _LIBCPP_INLINE_VISIBILITY
2376
- typename enable_if
2377
- <
2378
- __is_val_expr<_Expr>::value,
2379
- void
2380
- >::type
2381
- indirect_array<_Tp>::operator&=(const _Expr& __v) const
2382
- {
2383
- size_t __n = __1d_.size();
2384
- for (size_t __i = 0; __i < __n; ++__i)
2385
- __vp_[__1d_[__i]] &= __v[__i];
2386
- }
2387
-
2388
- template <class _Tp>
2389
- template <class _Expr>
2390
- inline _LIBCPP_INLINE_VISIBILITY
2391
- typename enable_if
2392
- <
2393
- __is_val_expr<_Expr>::value,
2394
- void
2395
- >::type
2396
- indirect_array<_Tp>::operator|=(const _Expr& __v) const
2397
- {
2398
- size_t __n = __1d_.size();
2399
- for (size_t __i = 0; __i < __n; ++__i)
2400
- __vp_[__1d_[__i]] |= __v[__i];
2401
- }
2402
-
2403
- template <class _Tp>
2404
- template <class _Expr>
2405
- inline _LIBCPP_INLINE_VISIBILITY
2406
- typename enable_if
2407
- <
2408
- __is_val_expr<_Expr>::value,
2409
- void
2410
- >::type
2411
- indirect_array<_Tp>::operator<<=(const _Expr& __v) const
2412
- {
2413
- size_t __n = __1d_.size();
2414
- for (size_t __i = 0; __i < __n; ++__i)
2415
- __vp_[__1d_[__i]] <<= __v[__i];
2416
- }
2417
-
2418
- template <class _Tp>
2419
- template <class _Expr>
2420
- inline _LIBCPP_INLINE_VISIBILITY
2421
- typename enable_if
2422
- <
2423
- __is_val_expr<_Expr>::value,
2424
- void
2425
- >::type
2426
- indirect_array<_Tp>::operator>>=(const _Expr& __v) const
2427
- {
2428
- size_t __n = __1d_.size();
2429
- for (size_t __i = 0; __i < __n; ++__i)
2430
- __vp_[__1d_[__i]] >>= __v[__i];
2431
- }
2432
-
2433
- template <class _Tp>
2434
- inline _LIBCPP_INLINE_VISIBILITY
2435
- const indirect_array<_Tp>&
2436
- indirect_array<_Tp>::operator=(const indirect_array& __ia) const
2437
- {
2438
- typedef const size_t* _Ip;
2439
- const value_type* __s = __ia.__vp_;
2440
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_, __j = __ia.__1d_.__begin_;
2441
- __i != __e; ++__i, ++__j)
2442
- __vp_[*__i] = __s[*__j];
2443
- return *this;
2444
- }
2445
-
2446
- template <class _Tp>
2447
- inline _LIBCPP_INLINE_VISIBILITY
2448
- void
2449
- indirect_array<_Tp>::operator=(const value_type& __x) const
2450
- {
2451
- typedef const size_t* _Ip;
2452
- for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i)
2453
- __vp_[*__i] = __x;
2454
- }
2455
-
2456
- template <class _ValExpr>
2457
- class __indirect_expr
2458
- {
2459
- typedef typename remove_reference<_ValExpr>::type _RmExpr;
2460
- public:
2461
- typedef typename _RmExpr::value_type value_type;
2462
- typedef value_type result_type;
2463
-
2464
- private:
2465
- _ValExpr __expr_;
2466
- valarray<size_t> __1d_;
2467
-
2468
- _LIBCPP_INLINE_VISIBILITY
2469
- __indirect_expr(const valarray<size_t>& __ia, const _RmExpr& __e)
2470
- : __expr_(__e),
2471
- __1d_(__ia)
2472
- {}
2473
-
2474
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2475
-
2476
- _LIBCPP_INLINE_VISIBILITY
2477
- __indirect_expr(valarray<size_t>&& __ia, const _RmExpr& __e)
2478
- : __expr_(__e),
2479
- __1d_(move(__ia))
2480
- {}
2481
-
2482
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2483
-
2484
- public:
2485
- _LIBCPP_INLINE_VISIBILITY
2486
- result_type operator[](size_t __i) const
2487
- {return __expr_[__1d_[__i]];}
2488
-
2489
- _LIBCPP_INLINE_VISIBILITY
2490
- size_t size() const {return __1d_.size();}
2491
-
2492
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY valarray;
2493
- };
2494
-
2495
- template<class _ValExpr>
2496
- class __val_expr
2497
- {
2498
- typedef typename remove_reference<_ValExpr>::type _RmExpr;
2499
-
2500
- _ValExpr __expr_;
2501
- public:
2502
- typedef typename _RmExpr::value_type value_type;
2503
- typedef typename _RmExpr::result_type result_type;
2504
-
2505
- _LIBCPP_INLINE_VISIBILITY
2506
- explicit __val_expr(const _RmExpr& __e) : __expr_(__e) {}
2507
-
2508
- _LIBCPP_INLINE_VISIBILITY
2509
- result_type operator[](size_t __i) const
2510
- {return __expr_[__i];}
2511
-
2512
- _LIBCPP_INLINE_VISIBILITY
2513
- __val_expr<__slice_expr<_ValExpr> > operator[](slice __s) const
2514
- {return __val_expr<__slice_expr<_ValExpr> >(__expr_, __s);}
2515
-
2516
- _LIBCPP_INLINE_VISIBILITY
2517
- __val_expr<__indirect_expr<_ValExpr> > operator[](const gslice& __gs) const
2518
- {return __val_expr<__indirect_expr<_ValExpr> >(__expr_, __gs.__1d_);}
2519
-
2520
- _LIBCPP_INLINE_VISIBILITY
2521
- __val_expr<__mask_expr<_ValExpr> > operator[](const valarray<bool>& __vb) const
2522
- {return __val_expr<__mask_expr<_ValExpr> >(__expr_, __vb);}
2523
-
2524
- _LIBCPP_INLINE_VISIBILITY
2525
- __val_expr<__indirect_expr<_ValExpr> > operator[](const valarray<size_t>& __vs) const
2526
- {return __val_expr<__indirect_expr<_ValExpr> >(__expr_, __vs);}
2527
-
2528
- _LIBCPP_INLINE_VISIBILITY
2529
- __val_expr<_UnaryOp<__unary_plus<value_type>, _ValExpr> >
2530
- operator+() const
2531
- {
2532
- typedef _UnaryOp<__unary_plus<value_type>, _ValExpr> _NewExpr;
2533
- return __val_expr<_NewExpr>(_NewExpr(__unary_plus<value_type>(), __expr_));
2534
- }
2535
-
2536
- _LIBCPP_INLINE_VISIBILITY
2537
- __val_expr<_UnaryOp<negate<value_type>, _ValExpr> >
2538
- operator-() const
2539
- {
2540
- typedef _UnaryOp<negate<value_type>, _ValExpr> _NewExpr;
2541
- return __val_expr<_NewExpr>(_NewExpr(negate<value_type>(), __expr_));
2542
- }
2543
-
2544
- _LIBCPP_INLINE_VISIBILITY
2545
- __val_expr<_UnaryOp<__bit_not<value_type>, _ValExpr> >
2546
- operator~() const
2547
- {
2548
- typedef _UnaryOp<__bit_not<value_type>, _ValExpr> _NewExpr;
2549
- return __val_expr<_NewExpr>(_NewExpr(__bit_not<value_type>(), __expr_));
2550
- }
2551
-
2552
- _LIBCPP_INLINE_VISIBILITY
2553
- __val_expr<_UnaryOp<logical_not<value_type>, _ValExpr> >
2554
- operator!() const
2555
- {
2556
- typedef _UnaryOp<logical_not<value_type>, _ValExpr> _NewExpr;
2557
- return __val_expr<_NewExpr>(_NewExpr(logical_not<value_type>(), __expr_));
2558
- }
2559
-
2560
- operator valarray<result_type>() const;
2561
-
2562
- _LIBCPP_INLINE_VISIBILITY
2563
- size_t size() const {return __expr_.size();}
2564
-
2565
- _LIBCPP_INLINE_VISIBILITY
2566
- result_type sum() const
2567
- {
2568
- size_t __n = __expr_.size();
2569
- result_type __r = __n ? __expr_[0] : result_type();
2570
- for (size_t __i = 1; __i < __n; ++__i)
2571
- __r += __expr_[__i];
2572
- return __r;
2573
- }
2574
-
2575
- _LIBCPP_INLINE_VISIBILITY
2576
- result_type min() const
2577
- {
2578
- size_t __n = size();
2579
- result_type __r = __n ? (*this)[0] : result_type();
2580
- for (size_t __i = 1; __i < __n; ++__i)
2581
- {
2582
- result_type __x = __expr_[__i];
2583
- if (__x < __r)
2584
- __r = __x;
2585
- }
2586
- return __r;
2587
- }
2588
-
2589
- _LIBCPP_INLINE_VISIBILITY
2590
- result_type max() const
2591
- {
2592
- size_t __n = size();
2593
- result_type __r = __n ? (*this)[0] : result_type();
2594
- for (size_t __i = 1; __i < __n; ++__i)
2595
- {
2596
- result_type __x = __expr_[__i];
2597
- if (__r < __x)
2598
- __r = __x;
2599
- }
2600
- return __r;
2601
- }
2602
-
2603
- _LIBCPP_INLINE_VISIBILITY
2604
- __val_expr<__shift_expr<_ValExpr> > shift (int __i) const
2605
- {return __val_expr<__shift_expr<_ValExpr> >(__shift_expr<_ValExpr>(__i, __expr_));}
2606
-
2607
- _LIBCPP_INLINE_VISIBILITY
2608
- __val_expr<__cshift_expr<_ValExpr> > cshift(int __i) const
2609
- {return __val_expr<__cshift_expr<_ValExpr> >(__cshift_expr<_ValExpr>(__i, __expr_));}
2610
-
2611
- _LIBCPP_INLINE_VISIBILITY
2612
- __val_expr<_UnaryOp<__apply_expr<value_type, value_type(*)(value_type)>, _ValExpr> >
2613
- apply(value_type __f(value_type)) const
2614
- {
2615
- typedef __apply_expr<value_type, value_type(*)(value_type)> _Op;
2616
- typedef _UnaryOp<_Op, _ValExpr> _NewExpr;
2617
- return __val_expr<_NewExpr>(_NewExpr(_Op(__f), __expr_));
2618
- }
2619
-
2620
- _LIBCPP_INLINE_VISIBILITY
2621
- __val_expr<_UnaryOp<__apply_expr<value_type, value_type(*)(const value_type&)>, _ValExpr> >
2622
- apply(value_type __f(const value_type&)) const
2623
- {
2624
- typedef __apply_expr<value_type, value_type(*)(const value_type&)> _Op;
2625
- typedef _UnaryOp<_Op, _ValExpr> _NewExpr;
2626
- return __val_expr<_NewExpr>(_NewExpr(_Op(__f), __expr_));
2627
- }
2628
- };
2629
-
2630
- template<class _ValExpr>
2631
- __val_expr<_ValExpr>::operator valarray<__val_expr::result_type>() const
2632
- {
2633
- valarray<result_type> __r;
2634
- size_t __n = __expr_.size();
2635
- if (__n)
2636
- {
2637
- __r.__begin_ =
2638
- __r.__end_ =
2639
- static_cast<result_type*>(::operator new(__n * sizeof(result_type)));
2640
- for (size_t __i = 0; __i != __n; ++__r.__end_, ++__i)
2641
- ::new (__r.__end_) result_type(__expr_[__i]);
2642
- }
2643
- return __r;
2644
- }
2645
-
2646
- // valarray
2647
-
2648
- template <class _Tp>
2649
- inline _LIBCPP_INLINE_VISIBILITY
2650
- valarray<_Tp>::valarray(size_t __n)
2651
- : __begin_(0),
2652
- __end_(0)
2653
- {
2654
- resize(__n);
2655
- }
2656
-
2657
- template <class _Tp>
2658
- inline _LIBCPP_INLINE_VISIBILITY
2659
- valarray<_Tp>::valarray(const value_type& __x, size_t __n)
2660
- : __begin_(0),
2661
- __end_(0)
2662
- {
2663
- resize(__n, __x);
2664
- }
2665
-
2666
- template <class _Tp>
2667
- valarray<_Tp>::valarray(const value_type* __p, size_t __n)
2668
- : __begin_(0),
2669
- __end_(0)
2670
- {
2671
- if (__n)
2672
- {
2673
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
2674
- #ifndef _LIBCPP_NO_EXCEPTIONS
2675
- try
2676
- {
2677
- #endif // _LIBCPP_NO_EXCEPTIONS
2678
- for (; __n; ++__end_, ++__p, --__n)
2679
- ::new (__end_) value_type(*__p);
2680
- #ifndef _LIBCPP_NO_EXCEPTIONS
2681
- }
2682
- catch (...)
2683
- {
2684
- resize(0);
2685
- throw;
2686
- }
2687
- #endif // _LIBCPP_NO_EXCEPTIONS
2688
- }
2689
- }
2690
-
2691
- template <class _Tp>
2692
- valarray<_Tp>::valarray(const valarray& __v)
2693
- : __begin_(0),
2694
- __end_(0)
2695
- {
2696
- if (__v.size())
2697
- {
2698
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__v.size() * sizeof(value_type)));
2699
- #ifndef _LIBCPP_NO_EXCEPTIONS
2700
- try
2701
- {
2702
- #endif // _LIBCPP_NO_EXCEPTIONS
2703
- for (value_type* __p = __v.__begin_; __p != __v.__end_; ++__end_, ++__p)
2704
- ::new (__end_) value_type(*__p);
2705
- #ifndef _LIBCPP_NO_EXCEPTIONS
2706
- }
2707
- catch (...)
2708
- {
2709
- resize(0);
2710
- throw;
2711
- }
2712
- #endif // _LIBCPP_NO_EXCEPTIONS
2713
- }
2714
- }
2715
-
2716
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2717
-
2718
- template <class _Tp>
2719
- inline _LIBCPP_INLINE_VISIBILITY
2720
- valarray<_Tp>::valarray(valarray&& __v) _NOEXCEPT
2721
- : __begin_(__v.__begin_),
2722
- __end_(__v.__end_)
2723
- {
2724
- __v.__begin_ = __v.__end_ = nullptr;
2725
- }
2726
-
2727
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2728
-
2729
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2730
-
2731
- template <class _Tp>
2732
- valarray<_Tp>::valarray(initializer_list<value_type> __il)
2733
- : __begin_(0),
2734
- __end_(0)
2735
- {
2736
- size_t __n = __il.size();
2737
- if (__n)
2738
- {
2739
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
2740
- #ifndef _LIBCPP_NO_EXCEPTIONS
2741
- try
2742
- {
2743
- #endif // _LIBCPP_NO_EXCEPTIONS
2744
- for (const value_type* __p = __il.begin(); __n; ++__end_, ++__p, --__n)
2745
- ::new (__end_) value_type(*__p);
2746
- #ifndef _LIBCPP_NO_EXCEPTIONS
2747
- }
2748
- catch (...)
2749
- {
2750
- resize(0);
2751
- throw;
2752
- }
2753
- #endif // _LIBCPP_NO_EXCEPTIONS
2754
- }
2755
- }
2756
-
2757
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2758
-
2759
- template <class _Tp>
2760
- valarray<_Tp>::valarray(const slice_array<value_type>& __sa)
2761
- : __begin_(0),
2762
- __end_(0)
2763
- {
2764
- size_t __n = __sa.__size_;
2765
- if (__n)
2766
- {
2767
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
2768
- #ifndef _LIBCPP_NO_EXCEPTIONS
2769
- try
2770
- {
2771
- #endif // _LIBCPP_NO_EXCEPTIONS
2772
- for (const value_type* __p = __sa.__vp_; __n; ++__end_, __p += __sa.__stride_, --__n)
2773
- ::new (__end_) value_type(*__p);
2774
- #ifndef _LIBCPP_NO_EXCEPTIONS
2775
- }
2776
- catch (...)
2777
- {
2778
- resize(0);
2779
- throw;
2780
- }
2781
- #endif // _LIBCPP_NO_EXCEPTIONS
2782
- }
2783
- }
2784
-
2785
- template <class _Tp>
2786
- valarray<_Tp>::valarray(const gslice_array<value_type>& __ga)
2787
- : __begin_(0),
2788
- __end_(0)
2789
- {
2790
- size_t __n = __ga.__1d_.size();
2791
- if (__n)
2792
- {
2793
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
2794
- #ifndef _LIBCPP_NO_EXCEPTIONS
2795
- try
2796
- {
2797
- #endif // _LIBCPP_NO_EXCEPTIONS
2798
- typedef const size_t* _Ip;
2799
- const value_type* __s = __ga.__vp_;
2800
- for (_Ip __i = __ga.__1d_.__begin_, __e = __ga.__1d_.__end_;
2801
- __i != __e; ++__i, ++__end_)
2802
- ::new (__end_) value_type(__s[*__i]);
2803
- #ifndef _LIBCPP_NO_EXCEPTIONS
2804
- }
2805
- catch (...)
2806
- {
2807
- resize(0);
2808
- throw;
2809
- }
2810
- #endif // _LIBCPP_NO_EXCEPTIONS
2811
- }
2812
- }
2813
-
2814
- template <class _Tp>
2815
- valarray<_Tp>::valarray(const mask_array<value_type>& __ma)
2816
- : __begin_(0),
2817
- __end_(0)
2818
- {
2819
- size_t __n = __ma.__1d_.size();
2820
- if (__n)
2821
- {
2822
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
2823
- #ifndef _LIBCPP_NO_EXCEPTIONS
2824
- try
2825
- {
2826
- #endif // _LIBCPP_NO_EXCEPTIONS
2827
- typedef const size_t* _Ip;
2828
- const value_type* __s = __ma.__vp_;
2829
- for (_Ip __i = __ma.__1d_.__begin_, __e = __ma.__1d_.__end_;
2830
- __i != __e; ++__i, ++__end_)
2831
- ::new (__end_) value_type(__s[*__i]);
2832
- #ifndef _LIBCPP_NO_EXCEPTIONS
2833
- }
2834
- catch (...)
2835
- {
2836
- resize(0);
2837
- throw;
2838
- }
2839
- #endif // _LIBCPP_NO_EXCEPTIONS
2840
- }
2841
- }
2842
-
2843
- template <class _Tp>
2844
- valarray<_Tp>::valarray(const indirect_array<value_type>& __ia)
2845
- : __begin_(0),
2846
- __end_(0)
2847
- {
2848
- size_t __n = __ia.__1d_.size();
2849
- if (__n)
2850
- {
2851
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
2852
- #ifndef _LIBCPP_NO_EXCEPTIONS
2853
- try
2854
- {
2855
- #endif // _LIBCPP_NO_EXCEPTIONS
2856
- typedef const size_t* _Ip;
2857
- const value_type* __s = __ia.__vp_;
2858
- for (_Ip __i = __ia.__1d_.__begin_, __e = __ia.__1d_.__end_;
2859
- __i != __e; ++__i, ++__end_)
2860
- ::new (__end_) value_type(__s[*__i]);
2861
- #ifndef _LIBCPP_NO_EXCEPTIONS
2862
- }
2863
- catch (...)
2864
- {
2865
- resize(0);
2866
- throw;
2867
- }
2868
- #endif // _LIBCPP_NO_EXCEPTIONS
2869
- }
2870
- }
2871
-
2872
- template <class _Tp>
2873
- inline _LIBCPP_INLINE_VISIBILITY
2874
- valarray<_Tp>::~valarray()
2875
- {
2876
- resize(0);
2877
- }
2878
-
2879
- template <class _Tp>
2880
- valarray<_Tp>&
2881
- valarray<_Tp>::operator=(const valarray& __v)
2882
- {
2883
- if (this != &__v)
2884
- {
2885
- if (size() != __v.size())
2886
- resize(__v.size());
2887
- _VSTD::copy(__v.__begin_, __v.__end_, __begin_);
2888
- }
2889
- return *this;
2890
- }
2891
-
2892
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2893
-
2894
- template <class _Tp>
2895
- inline _LIBCPP_INLINE_VISIBILITY
2896
- valarray<_Tp>&
2897
- valarray<_Tp>::operator=(valarray&& __v) _NOEXCEPT
2898
- {
2899
- resize(0);
2900
- __begin_ = __v.__begin_;
2901
- __end_ = __v.__end_;
2902
- __v.__begin_ = nullptr;
2903
- __v.__end_ = nullptr;
2904
- return *this;
2905
- }
2906
-
2907
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2908
-
2909
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2910
-
2911
- template <class _Tp>
2912
- inline _LIBCPP_INLINE_VISIBILITY
2913
- valarray<_Tp>&
2914
- valarray<_Tp>::operator=(initializer_list<value_type> __il)
2915
- {
2916
- if (size() != __il.size())
2917
- resize(__il.size());
2918
- _VSTD::copy(__il.begin(), __il.end(), __begin_);
2919
- return *this;
2920
- }
2921
-
2922
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2923
-
2924
- template <class _Tp>
2925
- inline _LIBCPP_INLINE_VISIBILITY
2926
- valarray<_Tp>&
2927
- valarray<_Tp>::operator=(const value_type& __x)
2928
- {
2929
- _VSTD::fill(__begin_, __end_, __x);
2930
- return *this;
2931
- }
2932
-
2933
- template <class _Tp>
2934
- inline _LIBCPP_INLINE_VISIBILITY
2935
- valarray<_Tp>&
2936
- valarray<_Tp>::operator=(const slice_array<value_type>& __sa)
2937
- {
2938
- value_type* __t = __begin_;
2939
- const value_type* __s = __sa.__vp_;
2940
- for (size_t __n = __sa.__size_; __n; --__n, __s += __sa.__stride_, ++__t)
2941
- *__t = *__s;
2942
- return *this;
2943
- }
2944
-
2945
- template <class _Tp>
2946
- inline _LIBCPP_INLINE_VISIBILITY
2947
- valarray<_Tp>&
2948
- valarray<_Tp>::operator=(const gslice_array<value_type>& __ga)
2949
- {
2950
- typedef const size_t* _Ip;
2951
- value_type* __t = __begin_;
2952
- const value_type* __s = __ga.__vp_;
2953
- for (_Ip __i = __ga.__1d_.__begin_, __e = __ga.__1d_.__end_;
2954
- __i != __e; ++__i, ++__t)
2955
- *__t = __s[*__i];
2956
- return *this;
2957
- }
2958
-
2959
- template <class _Tp>
2960
- inline _LIBCPP_INLINE_VISIBILITY
2961
- valarray<_Tp>&
2962
- valarray<_Tp>::operator=(const mask_array<value_type>& __ma)
2963
- {
2964
- typedef const size_t* _Ip;
2965
- value_type* __t = __begin_;
2966
- const value_type* __s = __ma.__vp_;
2967
- for (_Ip __i = __ma.__1d_.__begin_, __e = __ma.__1d_.__end_;
2968
- __i != __e; ++__i, ++__t)
2969
- *__t = __s[*__i];
2970
- return *this;
2971
- }
2972
-
2973
- template <class _Tp>
2974
- inline _LIBCPP_INLINE_VISIBILITY
2975
- valarray<_Tp>&
2976
- valarray<_Tp>::operator=(const indirect_array<value_type>& __ia)
2977
- {
2978
- typedef const size_t* _Ip;
2979
- value_type* __t = __begin_;
2980
- const value_type* __s = __ia.__vp_;
2981
- for (_Ip __i = __ia.__1d_.__begin_, __e = __ia.__1d_.__end_;
2982
- __i != __e; ++__i, ++__t)
2983
- *__t = __s[*__i];
2984
- return *this;
2985
- }
2986
-
2987
- template <class _Tp>
2988
- template <class _ValExpr>
2989
- inline _LIBCPP_INLINE_VISIBILITY
2990
- valarray<_Tp>&
2991
- valarray<_Tp>::operator=(const __val_expr<_ValExpr>& __v)
2992
- {
2993
- size_t __n = __v.size();
2994
- if (size() != __n)
2995
- resize(__n);
2996
- value_type* __t = __begin_;
2997
- for (size_t __i = 0; __i != __n; ++__t, ++__i)
2998
- *__t = result_type(__v[__i]);
2999
- return *this;
3000
- }
3001
-
3002
- template <class _Tp>
3003
- inline _LIBCPP_INLINE_VISIBILITY
3004
- __val_expr<__slice_expr<const valarray<_Tp>&> >
3005
- valarray<_Tp>::operator[](slice __s) const
3006
- {
3007
- return __val_expr<__slice_expr<const valarray&> >(__slice_expr<const valarray&>(__s, *this));
3008
- }
3009
-
3010
- template <class _Tp>
3011
- inline _LIBCPP_INLINE_VISIBILITY
3012
- slice_array<_Tp>
3013
- valarray<_Tp>::operator[](slice __s)
3014
- {
3015
- return slice_array<value_type>(__s, *this);
3016
- }
3017
-
3018
- template <class _Tp>
3019
- inline _LIBCPP_INLINE_VISIBILITY
3020
- __val_expr<__indirect_expr<const valarray<_Tp>&> >
3021
- valarray<_Tp>::operator[](const gslice& __gs) const
3022
- {
3023
- return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(__gs.__1d_, *this));
3024
- }
3025
-
3026
- template <class _Tp>
3027
- inline _LIBCPP_INLINE_VISIBILITY
3028
- gslice_array<_Tp>
3029
- valarray<_Tp>::operator[](const gslice& __gs)
3030
- {
3031
- return gslice_array<value_type>(__gs, *this);
3032
- }
3033
-
3034
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
3035
-
3036
- template <class _Tp>
3037
- inline _LIBCPP_INLINE_VISIBILITY
3038
- __val_expr<__indirect_expr<const valarray<_Tp>&> >
3039
- valarray<_Tp>::operator[](gslice&& __gs) const
3040
- {
3041
- return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(move(__gs.__1d_), *this));
3042
- }
3043
-
3044
- template <class _Tp>
3045
- inline _LIBCPP_INLINE_VISIBILITY
3046
- gslice_array<_Tp>
3047
- valarray<_Tp>::operator[](gslice&& __gs)
3048
- {
3049
- return gslice_array<value_type>(move(__gs), *this);
3050
- }
3051
-
3052
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
3053
-
3054
- template <class _Tp>
3055
- inline _LIBCPP_INLINE_VISIBILITY
3056
- __val_expr<__mask_expr<const valarray<_Tp>&> >
3057
- valarray<_Tp>::operator[](const valarray<bool>& __vb) const
3058
- {
3059
- return __val_expr<__mask_expr<const valarray&> >(__mask_expr<const valarray&>(__vb, *this));
3060
- }
3061
-
3062
- template <class _Tp>
3063
- inline _LIBCPP_INLINE_VISIBILITY
3064
- mask_array<_Tp>
3065
- valarray<_Tp>::operator[](const valarray<bool>& __vb)
3066
- {
3067
- return mask_array<value_type>(__vb, *this);
3068
- }
3069
-
3070
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
3071
-
3072
- template <class _Tp>
3073
- inline _LIBCPP_INLINE_VISIBILITY
3074
- __val_expr<__mask_expr<const valarray<_Tp>&> >
3075
- valarray<_Tp>::operator[](valarray<bool>&& __vb) const
3076
- {
3077
- return __val_expr<__mask_expr<const valarray&> >(__mask_expr<const valarray&>(move(__vb), *this));
3078
- }
3079
-
3080
- template <class _Tp>
3081
- inline _LIBCPP_INLINE_VISIBILITY
3082
- mask_array<_Tp>
3083
- valarray<_Tp>::operator[](valarray<bool>&& __vb)
3084
- {
3085
- return mask_array<value_type>(move(__vb), *this);
3086
- }
3087
-
3088
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
3089
-
3090
- template <class _Tp>
3091
- inline _LIBCPP_INLINE_VISIBILITY
3092
- __val_expr<__indirect_expr<const valarray<_Tp>&> >
3093
- valarray<_Tp>::operator[](const valarray<size_t>& __vs) const
3094
- {
3095
- return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(__vs, *this));
3096
- }
3097
-
3098
- template <class _Tp>
3099
- inline _LIBCPP_INLINE_VISIBILITY
3100
- indirect_array<_Tp>
3101
- valarray<_Tp>::operator[](const valarray<size_t>& __vs)
3102
- {
3103
- return indirect_array<value_type>(__vs, *this);
3104
- }
3105
-
3106
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
3107
-
3108
- template <class _Tp>
3109
- inline _LIBCPP_INLINE_VISIBILITY
3110
- __val_expr<__indirect_expr<const valarray<_Tp>&> >
3111
- valarray<_Tp>::operator[](valarray<size_t>&& __vs) const
3112
- {
3113
- return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(move(__vs), *this));
3114
- }
3115
-
3116
- template <class _Tp>
3117
- inline _LIBCPP_INLINE_VISIBILITY
3118
- indirect_array<_Tp>
3119
- valarray<_Tp>::operator[](valarray<size_t>&& __vs)
3120
- {
3121
- return indirect_array<value_type>(move(__vs), *this);
3122
- }
3123
-
3124
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
3125
-
3126
- template <class _Tp>
3127
- valarray<_Tp>
3128
- valarray<_Tp>::operator+() const
3129
- {
3130
- valarray<value_type> __r;
3131
- size_t __n = size();
3132
- if (__n)
3133
- {
3134
- __r.__begin_ =
3135
- __r.__end_ =
3136
- static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3137
- for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
3138
- ::new (__r.__end_) value_type(+*__p);
3139
- }
3140
- return __r;
3141
- }
3142
-
3143
- template <class _Tp>
3144
- valarray<_Tp>
3145
- valarray<_Tp>::operator-() const
3146
- {
3147
- valarray<value_type> __r;
3148
- size_t __n = size();
3149
- if (__n)
3150
- {
3151
- __r.__begin_ =
3152
- __r.__end_ =
3153
- static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3154
- for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
3155
- ::new (__r.__end_) value_type(-*__p);
3156
- }
3157
- return __r;
3158
- }
3159
-
3160
- template <class _Tp>
3161
- valarray<_Tp>
3162
- valarray<_Tp>::operator~() const
3163
- {
3164
- valarray<value_type> __r;
3165
- size_t __n = size();
3166
- if (__n)
3167
- {
3168
- __r.__begin_ =
3169
- __r.__end_ =
3170
- static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3171
- for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
3172
- ::new (__r.__end_) value_type(~*__p);
3173
- }
3174
- return __r;
3175
- }
3176
-
3177
- template <class _Tp>
3178
- valarray<bool>
3179
- valarray<_Tp>::operator!() const
3180
- {
3181
- valarray<bool> __r;
3182
- size_t __n = size();
3183
- if (__n)
3184
- {
3185
- __r.__begin_ =
3186
- __r.__end_ =
3187
- static_cast<bool*>(::operator new(__n * sizeof(bool)));
3188
- for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
3189
- ::new (__r.__end_) bool(!*__p);
3190
- }
3191
- return __r;
3192
- }
3193
-
3194
- template <class _Tp>
3195
- inline _LIBCPP_INLINE_VISIBILITY
3196
- valarray<_Tp>&
3197
- valarray<_Tp>::operator*=(const value_type& __x)
3198
- {
3199
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3200
- *__p *= __x;
3201
- return *this;
3202
- }
3203
-
3204
- template <class _Tp>
3205
- inline _LIBCPP_INLINE_VISIBILITY
3206
- valarray<_Tp>&
3207
- valarray<_Tp>::operator/=(const value_type& __x)
3208
- {
3209
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3210
- *__p /= __x;
3211
- return *this;
3212
- }
3213
-
3214
- template <class _Tp>
3215
- inline _LIBCPP_INLINE_VISIBILITY
3216
- valarray<_Tp>&
3217
- valarray<_Tp>::operator%=(const value_type& __x)
3218
- {
3219
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3220
- *__p %= __x;
3221
- return *this;
3222
- }
3223
-
3224
- template <class _Tp>
3225
- inline _LIBCPP_INLINE_VISIBILITY
3226
- valarray<_Tp>&
3227
- valarray<_Tp>::operator+=(const value_type& __x)
3228
- {
3229
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3230
- *__p += __x;
3231
- return *this;
3232
- }
3233
-
3234
- template <class _Tp>
3235
- inline _LIBCPP_INLINE_VISIBILITY
3236
- valarray<_Tp>&
3237
- valarray<_Tp>::operator-=(const value_type& __x)
3238
- {
3239
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3240
- *__p -= __x;
3241
- return *this;
3242
- }
3243
-
3244
- template <class _Tp>
3245
- inline _LIBCPP_INLINE_VISIBILITY
3246
- valarray<_Tp>&
3247
- valarray<_Tp>::operator^=(const value_type& __x)
3248
- {
3249
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3250
- *__p ^= __x;
3251
- return *this;
3252
- }
3253
-
3254
- template <class _Tp>
3255
- inline _LIBCPP_INLINE_VISIBILITY
3256
- valarray<_Tp>&
3257
- valarray<_Tp>::operator&=(const value_type& __x)
3258
- {
3259
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3260
- *__p &= __x;
3261
- return *this;
3262
- }
3263
-
3264
- template <class _Tp>
3265
- inline _LIBCPP_INLINE_VISIBILITY
3266
- valarray<_Tp>&
3267
- valarray<_Tp>::operator|=(const value_type& __x)
3268
- {
3269
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3270
- *__p |= __x;
3271
- return *this;
3272
- }
3273
-
3274
- template <class _Tp>
3275
- inline _LIBCPP_INLINE_VISIBILITY
3276
- valarray<_Tp>&
3277
- valarray<_Tp>::operator<<=(const value_type& __x)
3278
- {
3279
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3280
- *__p <<= __x;
3281
- return *this;
3282
- }
3283
-
3284
- template <class _Tp>
3285
- inline _LIBCPP_INLINE_VISIBILITY
3286
- valarray<_Tp>&
3287
- valarray<_Tp>::operator>>=(const value_type& __x)
3288
- {
3289
- for (value_type* __p = __begin_; __p != __end_; ++__p)
3290
- *__p >>= __x;
3291
- return *this;
3292
- }
3293
-
3294
- template <class _Tp>
3295
- template <class _Expr>
3296
- inline _LIBCPP_INLINE_VISIBILITY
3297
- typename enable_if
3298
- <
3299
- __is_val_expr<_Expr>::value,
3300
- valarray<_Tp>&
3301
- >::type
3302
- valarray<_Tp>::operator*=(const _Expr& __v)
3303
- {
3304
- size_t __i = 0;
3305
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3306
- *__t *= __v[__i];
3307
- return *this;
3308
- }
3309
-
3310
- template <class _Tp>
3311
- template <class _Expr>
3312
- inline _LIBCPP_INLINE_VISIBILITY
3313
- typename enable_if
3314
- <
3315
- __is_val_expr<_Expr>::value,
3316
- valarray<_Tp>&
3317
- >::type
3318
- valarray<_Tp>::operator/=(const _Expr& __v)
3319
- {
3320
- size_t __i = 0;
3321
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3322
- *__t /= __v[__i];
3323
- return *this;
3324
- }
3325
-
3326
- template <class _Tp>
3327
- template <class _Expr>
3328
- inline _LIBCPP_INLINE_VISIBILITY
3329
- typename enable_if
3330
- <
3331
- __is_val_expr<_Expr>::value,
3332
- valarray<_Tp>&
3333
- >::type
3334
- valarray<_Tp>::operator%=(const _Expr& __v)
3335
- {
3336
- size_t __i = 0;
3337
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3338
- *__t %= __v[__i];
3339
- return *this;
3340
- }
3341
-
3342
- template <class _Tp>
3343
- template <class _Expr>
3344
- inline _LIBCPP_INLINE_VISIBILITY
3345
- typename enable_if
3346
- <
3347
- __is_val_expr<_Expr>::value,
3348
- valarray<_Tp>&
3349
- >::type
3350
- valarray<_Tp>::operator+=(const _Expr& __v)
3351
- {
3352
- size_t __i = 0;
3353
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3354
- *__t += __v[__i];
3355
- return *this;
3356
- }
3357
-
3358
- template <class _Tp>
3359
- template <class _Expr>
3360
- inline _LIBCPP_INLINE_VISIBILITY
3361
- typename enable_if
3362
- <
3363
- __is_val_expr<_Expr>::value,
3364
- valarray<_Tp>&
3365
- >::type
3366
- valarray<_Tp>::operator-=(const _Expr& __v)
3367
- {
3368
- size_t __i = 0;
3369
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3370
- *__t -= __v[__i];
3371
- return *this;
3372
- }
3373
-
3374
- template <class _Tp>
3375
- template <class _Expr>
3376
- inline _LIBCPP_INLINE_VISIBILITY
3377
- typename enable_if
3378
- <
3379
- __is_val_expr<_Expr>::value,
3380
- valarray<_Tp>&
3381
- >::type
3382
- valarray<_Tp>::operator^=(const _Expr& __v)
3383
- {
3384
- size_t __i = 0;
3385
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3386
- *__t ^= __v[__i];
3387
- return *this;
3388
- }
3389
-
3390
- template <class _Tp>
3391
- template <class _Expr>
3392
- inline _LIBCPP_INLINE_VISIBILITY
3393
- typename enable_if
3394
- <
3395
- __is_val_expr<_Expr>::value,
3396
- valarray<_Tp>&
3397
- >::type
3398
- valarray<_Tp>::operator|=(const _Expr& __v)
3399
- {
3400
- size_t __i = 0;
3401
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3402
- *__t |= __v[__i];
3403
- return *this;
3404
- }
3405
-
3406
- template <class _Tp>
3407
- template <class _Expr>
3408
- inline _LIBCPP_INLINE_VISIBILITY
3409
- typename enable_if
3410
- <
3411
- __is_val_expr<_Expr>::value,
3412
- valarray<_Tp>&
3413
- >::type
3414
- valarray<_Tp>::operator&=(const _Expr& __v)
3415
- {
3416
- size_t __i = 0;
3417
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3418
- *__t &= __v[__i];
3419
- return *this;
3420
- }
3421
-
3422
- template <class _Tp>
3423
- template <class _Expr>
3424
- inline _LIBCPP_INLINE_VISIBILITY
3425
- typename enable_if
3426
- <
3427
- __is_val_expr<_Expr>::value,
3428
- valarray<_Tp>&
3429
- >::type
3430
- valarray<_Tp>::operator<<=(const _Expr& __v)
3431
- {
3432
- size_t __i = 0;
3433
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3434
- *__t <<= __v[__i];
3435
- return *this;
3436
- }
3437
-
3438
- template <class _Tp>
3439
- template <class _Expr>
3440
- inline _LIBCPP_INLINE_VISIBILITY
3441
- typename enable_if
3442
- <
3443
- __is_val_expr<_Expr>::value,
3444
- valarray<_Tp>&
3445
- >::type
3446
- valarray<_Tp>::operator>>=(const _Expr& __v)
3447
- {
3448
- size_t __i = 0;
3449
- for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
3450
- *__t >>= __v[__i];
3451
- return *this;
3452
- }
3453
-
3454
- template <class _Tp>
3455
- inline _LIBCPP_INLINE_VISIBILITY
3456
- void
3457
- valarray<_Tp>::swap(valarray& __v) _NOEXCEPT
3458
- {
3459
- _VSTD::swap(__begin_, __v.__begin_);
3460
- _VSTD::swap(__end_, __v.__end_);
3461
- }
3462
-
3463
- template <class _Tp>
3464
- inline _LIBCPP_INLINE_VISIBILITY
3465
- _Tp
3466
- valarray<_Tp>::sum() const
3467
- {
3468
- if (__begin_ == __end_)
3469
- return value_type();
3470
- const value_type* __p = __begin_;
3471
- _Tp __r = *__p;
3472
- for (++__p; __p != __end_; ++__p)
3473
- __r += *__p;
3474
- return __r;
3475
- }
3476
-
3477
- template <class _Tp>
3478
- inline _LIBCPP_INLINE_VISIBILITY
3479
- _Tp
3480
- valarray<_Tp>::min() const
3481
- {
3482
- if (__begin_ == __end_)
3483
- return value_type();
3484
- return *_VSTD::min_element(__begin_, __end_);
3485
- }
3486
-
3487
- template <class _Tp>
3488
- inline _LIBCPP_INLINE_VISIBILITY
3489
- _Tp
3490
- valarray<_Tp>::max() const
3491
- {
3492
- if (__begin_ == __end_)
3493
- return value_type();
3494
- return *_VSTD::max_element(__begin_, __end_);
3495
- }
3496
-
3497
- template <class _Tp>
3498
- valarray<_Tp>
3499
- valarray<_Tp>::shift(int __i) const
3500
- {
3501
- valarray<value_type> __r;
3502
- size_t __n = size();
3503
- if (__n)
3504
- {
3505
- __r.__begin_ =
3506
- __r.__end_ =
3507
- static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3508
- const value_type* __sb;
3509
- value_type* __tb;
3510
- value_type* __te;
3511
- if (__i >= 0)
3512
- {
3513
- __i = _VSTD::min(__i, static_cast<int>(__n));
3514
- __sb = __begin_ + __i;
3515
- __tb = __r.__begin_;
3516
- __te = __r.__begin_ + (__n - __i);
3517
- }
3518
- else
3519
- {
3520
- __i = _VSTD::min(-__i, static_cast<int>(__n));
3521
- __sb = __begin_;
3522
- __tb = __r.__begin_ + __i;
3523
- __te = __r.__begin_ + __n;
3524
- }
3525
- for (; __r.__end_ != __tb; ++__r.__end_)
3526
- ::new (__r.__end_) value_type();
3527
- for (; __r.__end_ != __te; ++__r.__end_, ++__sb)
3528
- ::new (__r.__end_) value_type(*__sb);
3529
- for (__te = __r.__begin_ + __n; __r.__end_ != __te; ++__r.__end_)
3530
- ::new (__r.__end_) value_type();
3531
- }
3532
- return __r;
3533
- }
3534
-
3535
- template <class _Tp>
3536
- valarray<_Tp>
3537
- valarray<_Tp>::cshift(int __i) const
3538
- {
3539
- valarray<value_type> __r;
3540
- size_t __n = size();
3541
- if (__n)
3542
- {
3543
- __r.__begin_ =
3544
- __r.__end_ =
3545
- static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3546
- __i %= static_cast<int>(__n);
3547
- const value_type* __m = __i >= 0 ? __begin_ + __i : __end_ + __i;
3548
- for (const value_type* __s = __m; __s != __end_; ++__r.__end_, ++__s)
3549
- ::new (__r.__end_) value_type(*__s);
3550
- for (const value_type* __s = __begin_; __s != __m; ++__r.__end_, ++__s)
3551
- ::new (__r.__end_) value_type(*__s);
3552
- }
3553
- return __r;
3554
- }
3555
-
3556
- template <class _Tp>
3557
- valarray<_Tp>
3558
- valarray<_Tp>::apply(value_type __f(value_type)) const
3559
- {
3560
- valarray<value_type> __r;
3561
- size_t __n = size();
3562
- if (__n)
3563
- {
3564
- __r.__begin_ =
3565
- __r.__end_ =
3566
- static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3567
- for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
3568
- ::new (__r.__end_) value_type(__f(*__p));
3569
- }
3570
- return __r;
3571
- }
3572
-
3573
- template <class _Tp>
3574
- valarray<_Tp>
3575
- valarray<_Tp>::apply(value_type __f(const value_type&)) const
3576
- {
3577
- valarray<value_type> __r;
3578
- size_t __n = size();
3579
- if (__n)
3580
- {
3581
- __r.__begin_ =
3582
- __r.__end_ =
3583
- static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3584
- for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
3585
- ::new (__r.__end_) value_type(__f(*__p));
3586
- }
3587
- return __r;
3588
- }
3589
-
3590
- template <class _Tp>
3591
- void
3592
- valarray<_Tp>::resize(size_t __n, value_type __x)
3593
- {
3594
- if (__begin_ != nullptr)
3595
- {
3596
- while (__end_ != __begin_)
3597
- (--__end_)->~value_type();
3598
- ::operator delete(__begin_);
3599
- __begin_ = __end_ = nullptr;
3600
- }
3601
- if (__n)
3602
- {
3603
- __begin_ = __end_ = static_cast<value_type*>(::operator new(__n * sizeof(value_type)));
3604
- #ifndef _LIBCPP_NO_EXCEPTIONS
3605
- try
3606
- {
3607
- #endif // _LIBCPP_NO_EXCEPTIONS
3608
- for (; __n; --__n, ++__end_)
3609
- ::new (__end_) value_type(__x);
3610
- #ifndef _LIBCPP_NO_EXCEPTIONS
3611
- }
3612
- catch (...)
3613
- {
3614
- resize(0);
3615
- throw;
3616
- }
3617
- #endif // _LIBCPP_NO_EXCEPTIONS
3618
- }
3619
- }
3620
-
3621
- template<class _Tp>
3622
- inline _LIBCPP_INLINE_VISIBILITY
3623
- void
3624
- swap(valarray<_Tp>& __x, valarray<_Tp>& __y) _NOEXCEPT
3625
- {
3626
- __x.swap(__y);
3627
- }
3628
-
3629
- template<class _Expr1, class _Expr2>
3630
- inline _LIBCPP_INLINE_VISIBILITY
3631
- typename enable_if
3632
- <
3633
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3634
- __val_expr<_BinaryOp<multiplies<typename _Expr1::value_type>, _Expr1, _Expr2> >
3635
- >::type
3636
- operator*(const _Expr1& __x, const _Expr2& __y)
3637
- {
3638
- typedef typename _Expr1::value_type value_type;
3639
- typedef _BinaryOp<multiplies<value_type>, _Expr1, _Expr2> _Op;
3640
- return __val_expr<_Op>(_Op(multiplies<value_type>(), __x, __y));
3641
- }
3642
-
3643
- template<class _Expr>
3644
- inline _LIBCPP_INLINE_VISIBILITY
3645
- typename enable_if
3646
- <
3647
- __is_val_expr<_Expr>::value,
3648
- __val_expr<_BinaryOp<multiplies<typename _Expr::value_type>,
3649
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3650
- >::type
3651
- operator*(const _Expr& __x, const typename _Expr::value_type& __y)
3652
- {
3653
- typedef typename _Expr::value_type value_type;
3654
- typedef _BinaryOp<multiplies<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3655
- return __val_expr<_Op>(_Op(multiplies<value_type>(),
3656
- __x, __scalar_expr<value_type>(__y, __x.size())));
3657
- }
3658
-
3659
- template<class _Expr>
3660
- inline _LIBCPP_INLINE_VISIBILITY
3661
- typename enable_if
3662
- <
3663
- __is_val_expr<_Expr>::value,
3664
- __val_expr<_BinaryOp<multiplies<typename _Expr::value_type>,
3665
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3666
- >::type
3667
- operator*(const typename _Expr::value_type& __x, const _Expr& __y)
3668
- {
3669
- typedef typename _Expr::value_type value_type;
3670
- typedef _BinaryOp<multiplies<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3671
- return __val_expr<_Op>(_Op(multiplies<value_type>(),
3672
- __scalar_expr<value_type>(__x, __y.size()), __y));
3673
- }
3674
-
3675
- template<class _Expr1, class _Expr2>
3676
- inline _LIBCPP_INLINE_VISIBILITY
3677
- typename enable_if
3678
- <
3679
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3680
- __val_expr<_BinaryOp<divides<typename _Expr1::value_type>, _Expr1, _Expr2> >
3681
- >::type
3682
- operator/(const _Expr1& __x, const _Expr2& __y)
3683
- {
3684
- typedef typename _Expr1::value_type value_type;
3685
- typedef _BinaryOp<divides<value_type>, _Expr1, _Expr2> _Op;
3686
- return __val_expr<_Op>(_Op(divides<value_type>(), __x, __y));
3687
- }
3688
-
3689
- template<class _Expr>
3690
- inline _LIBCPP_INLINE_VISIBILITY
3691
- typename enable_if
3692
- <
3693
- __is_val_expr<_Expr>::value,
3694
- __val_expr<_BinaryOp<divides<typename _Expr::value_type>,
3695
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3696
- >::type
3697
- operator/(const _Expr& __x, const typename _Expr::value_type& __y)
3698
- {
3699
- typedef typename _Expr::value_type value_type;
3700
- typedef _BinaryOp<divides<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3701
- return __val_expr<_Op>(_Op(divides<value_type>(),
3702
- __x, __scalar_expr<value_type>(__y, __x.size())));
3703
- }
3704
-
3705
- template<class _Expr>
3706
- inline _LIBCPP_INLINE_VISIBILITY
3707
- typename enable_if
3708
- <
3709
- __is_val_expr<_Expr>::value,
3710
- __val_expr<_BinaryOp<divides<typename _Expr::value_type>,
3711
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3712
- >::type
3713
- operator/(const typename _Expr::value_type& __x, const _Expr& __y)
3714
- {
3715
- typedef typename _Expr::value_type value_type;
3716
- typedef _BinaryOp<divides<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3717
- return __val_expr<_Op>(_Op(divides<value_type>(),
3718
- __scalar_expr<value_type>(__x, __y.size()), __y));
3719
- }
3720
-
3721
- template<class _Expr1, class _Expr2>
3722
- inline _LIBCPP_INLINE_VISIBILITY
3723
- typename enable_if
3724
- <
3725
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3726
- __val_expr<_BinaryOp<modulus<typename _Expr1::value_type>, _Expr1, _Expr2> >
3727
- >::type
3728
- operator%(const _Expr1& __x, const _Expr2& __y)
3729
- {
3730
- typedef typename _Expr1::value_type value_type;
3731
- typedef _BinaryOp<modulus<value_type>, _Expr1, _Expr2> _Op;
3732
- return __val_expr<_Op>(_Op(modulus<value_type>(), __x, __y));
3733
- }
3734
-
3735
- template<class _Expr>
3736
- inline _LIBCPP_INLINE_VISIBILITY
3737
- typename enable_if
3738
- <
3739
- __is_val_expr<_Expr>::value,
3740
- __val_expr<_BinaryOp<modulus<typename _Expr::value_type>,
3741
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3742
- >::type
3743
- operator%(const _Expr& __x, const typename _Expr::value_type& __y)
3744
- {
3745
- typedef typename _Expr::value_type value_type;
3746
- typedef _BinaryOp<modulus<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3747
- return __val_expr<_Op>(_Op(modulus<value_type>(),
3748
- __x, __scalar_expr<value_type>(__y, __x.size())));
3749
- }
3750
-
3751
- template<class _Expr>
3752
- inline _LIBCPP_INLINE_VISIBILITY
3753
- typename enable_if
3754
- <
3755
- __is_val_expr<_Expr>::value,
3756
- __val_expr<_BinaryOp<modulus<typename _Expr::value_type>,
3757
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3758
- >::type
3759
- operator%(const typename _Expr::value_type& __x, const _Expr& __y)
3760
- {
3761
- typedef typename _Expr::value_type value_type;
3762
- typedef _BinaryOp<modulus<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3763
- return __val_expr<_Op>(_Op(modulus<value_type>(),
3764
- __scalar_expr<value_type>(__x, __y.size()), __y));
3765
- }
3766
-
3767
- template<class _Expr1, class _Expr2>
3768
- inline _LIBCPP_INLINE_VISIBILITY
3769
- typename enable_if
3770
- <
3771
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3772
- __val_expr<_BinaryOp<plus<typename _Expr1::value_type>, _Expr1, _Expr2> >
3773
- >::type
3774
- operator+(const _Expr1& __x, const _Expr2& __y)
3775
- {
3776
- typedef typename _Expr1::value_type value_type;
3777
- typedef _BinaryOp<plus<value_type>, _Expr1, _Expr2> _Op;
3778
- return __val_expr<_Op>(_Op(plus<value_type>(), __x, __y));
3779
- }
3780
-
3781
- template<class _Expr>
3782
- inline _LIBCPP_INLINE_VISIBILITY
3783
- typename enable_if
3784
- <
3785
- __is_val_expr<_Expr>::value,
3786
- __val_expr<_BinaryOp<plus<typename _Expr::value_type>,
3787
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3788
- >::type
3789
- operator+(const _Expr& __x, const typename _Expr::value_type& __y)
3790
- {
3791
- typedef typename _Expr::value_type value_type;
3792
- typedef _BinaryOp<plus<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3793
- return __val_expr<_Op>(_Op(plus<value_type>(),
3794
- __x, __scalar_expr<value_type>(__y, __x.size())));
3795
- }
3796
-
3797
- template<class _Expr>
3798
- inline _LIBCPP_INLINE_VISIBILITY
3799
- typename enable_if
3800
- <
3801
- __is_val_expr<_Expr>::value,
3802
- __val_expr<_BinaryOp<plus<typename _Expr::value_type>,
3803
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3804
- >::type
3805
- operator+(const typename _Expr::value_type& __x, const _Expr& __y)
3806
- {
3807
- typedef typename _Expr::value_type value_type;
3808
- typedef _BinaryOp<plus<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3809
- return __val_expr<_Op>(_Op(plus<value_type>(),
3810
- __scalar_expr<value_type>(__x, __y.size()), __y));
3811
- }
3812
-
3813
- template<class _Expr1, class _Expr2>
3814
- inline _LIBCPP_INLINE_VISIBILITY
3815
- typename enable_if
3816
- <
3817
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3818
- __val_expr<_BinaryOp<minus<typename _Expr1::value_type>, _Expr1, _Expr2> >
3819
- >::type
3820
- operator-(const _Expr1& __x, const _Expr2& __y)
3821
- {
3822
- typedef typename _Expr1::value_type value_type;
3823
- typedef _BinaryOp<minus<value_type>, _Expr1, _Expr2> _Op;
3824
- return __val_expr<_Op>(_Op(minus<value_type>(), __x, __y));
3825
- }
3826
-
3827
- template<class _Expr>
3828
- inline _LIBCPP_INLINE_VISIBILITY
3829
- typename enable_if
3830
- <
3831
- __is_val_expr<_Expr>::value,
3832
- __val_expr<_BinaryOp<minus<typename _Expr::value_type>,
3833
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3834
- >::type
3835
- operator-(const _Expr& __x, const typename _Expr::value_type& __y)
3836
- {
3837
- typedef typename _Expr::value_type value_type;
3838
- typedef _BinaryOp<minus<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3839
- return __val_expr<_Op>(_Op(minus<value_type>(),
3840
- __x, __scalar_expr<value_type>(__y, __x.size())));
3841
- }
3842
-
3843
- template<class _Expr>
3844
- inline _LIBCPP_INLINE_VISIBILITY
3845
- typename enable_if
3846
- <
3847
- __is_val_expr<_Expr>::value,
3848
- __val_expr<_BinaryOp<minus<typename _Expr::value_type>,
3849
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3850
- >::type
3851
- operator-(const typename _Expr::value_type& __x, const _Expr& __y)
3852
- {
3853
- typedef typename _Expr::value_type value_type;
3854
- typedef _BinaryOp<minus<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3855
- return __val_expr<_Op>(_Op(minus<value_type>(),
3856
- __scalar_expr<value_type>(__x, __y.size()), __y));
3857
- }
3858
-
3859
- template<class _Expr1, class _Expr2>
3860
- inline _LIBCPP_INLINE_VISIBILITY
3861
- typename enable_if
3862
- <
3863
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3864
- __val_expr<_BinaryOp<bit_xor<typename _Expr1::value_type>, _Expr1, _Expr2> >
3865
- >::type
3866
- operator^(const _Expr1& __x, const _Expr2& __y)
3867
- {
3868
- typedef typename _Expr1::value_type value_type;
3869
- typedef _BinaryOp<bit_xor<value_type>, _Expr1, _Expr2> _Op;
3870
- return __val_expr<_Op>(_Op(bit_xor<value_type>(), __x, __y));
3871
- }
3872
-
3873
- template<class _Expr>
3874
- inline _LIBCPP_INLINE_VISIBILITY
3875
- typename enable_if
3876
- <
3877
- __is_val_expr<_Expr>::value,
3878
- __val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>,
3879
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3880
- >::type
3881
- operator^(const _Expr& __x, const typename _Expr::value_type& __y)
3882
- {
3883
- typedef typename _Expr::value_type value_type;
3884
- typedef _BinaryOp<bit_xor<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3885
- return __val_expr<_Op>(_Op(bit_xor<value_type>(),
3886
- __x, __scalar_expr<value_type>(__y, __x.size())));
3887
- }
3888
-
3889
- template<class _Expr>
3890
- inline _LIBCPP_INLINE_VISIBILITY
3891
- typename enable_if
3892
- <
3893
- __is_val_expr<_Expr>::value,
3894
- __val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>,
3895
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3896
- >::type
3897
- operator^(const typename _Expr::value_type& __x, const _Expr& __y)
3898
- {
3899
- typedef typename _Expr::value_type value_type;
3900
- typedef _BinaryOp<bit_xor<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3901
- return __val_expr<_Op>(_Op(bit_xor<value_type>(),
3902
- __scalar_expr<value_type>(__x, __y.size()), __y));
3903
- }
3904
-
3905
- template<class _Expr1, class _Expr2>
3906
- inline _LIBCPP_INLINE_VISIBILITY
3907
- typename enable_if
3908
- <
3909
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3910
- __val_expr<_BinaryOp<bit_and<typename _Expr1::value_type>, _Expr1, _Expr2> >
3911
- >::type
3912
- operator&(const _Expr1& __x, const _Expr2& __y)
3913
- {
3914
- typedef typename _Expr1::value_type value_type;
3915
- typedef _BinaryOp<bit_and<value_type>, _Expr1, _Expr2> _Op;
3916
- return __val_expr<_Op>(_Op(bit_and<value_type>(), __x, __y));
3917
- }
3918
-
3919
- template<class _Expr>
3920
- inline _LIBCPP_INLINE_VISIBILITY
3921
- typename enable_if
3922
- <
3923
- __is_val_expr<_Expr>::value,
3924
- __val_expr<_BinaryOp<bit_and<typename _Expr::value_type>,
3925
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3926
- >::type
3927
- operator&(const _Expr& __x, const typename _Expr::value_type& __y)
3928
- {
3929
- typedef typename _Expr::value_type value_type;
3930
- typedef _BinaryOp<bit_and<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3931
- return __val_expr<_Op>(_Op(bit_and<value_type>(),
3932
- __x, __scalar_expr<value_type>(__y, __x.size())));
3933
- }
3934
-
3935
- template<class _Expr>
3936
- inline _LIBCPP_INLINE_VISIBILITY
3937
- typename enable_if
3938
- <
3939
- __is_val_expr<_Expr>::value,
3940
- __val_expr<_BinaryOp<bit_and<typename _Expr::value_type>,
3941
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3942
- >::type
3943
- operator&(const typename _Expr::value_type& __x, const _Expr& __y)
3944
- {
3945
- typedef typename _Expr::value_type value_type;
3946
- typedef _BinaryOp<bit_and<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3947
- return __val_expr<_Op>(_Op(bit_and<value_type>(),
3948
- __scalar_expr<value_type>(__x, __y.size()), __y));
3949
- }
3950
-
3951
- template<class _Expr1, class _Expr2>
3952
- inline _LIBCPP_INLINE_VISIBILITY
3953
- typename enable_if
3954
- <
3955
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
3956
- __val_expr<_BinaryOp<bit_or<typename _Expr1::value_type>, _Expr1, _Expr2> >
3957
- >::type
3958
- operator|(const _Expr1& __x, const _Expr2& __y)
3959
- {
3960
- typedef typename _Expr1::value_type value_type;
3961
- typedef _BinaryOp<bit_or<value_type>, _Expr1, _Expr2> _Op;
3962
- return __val_expr<_Op>(_Op(bit_or<value_type>(), __x, __y));
3963
- }
3964
-
3965
- template<class _Expr>
3966
- inline _LIBCPP_INLINE_VISIBILITY
3967
- typename enable_if
3968
- <
3969
- __is_val_expr<_Expr>::value,
3970
- __val_expr<_BinaryOp<bit_or<typename _Expr::value_type>,
3971
- _Expr, __scalar_expr<typename _Expr::value_type> > >
3972
- >::type
3973
- operator|(const _Expr& __x, const typename _Expr::value_type& __y)
3974
- {
3975
- typedef typename _Expr::value_type value_type;
3976
- typedef _BinaryOp<bit_or<value_type>, _Expr, __scalar_expr<value_type> > _Op;
3977
- return __val_expr<_Op>(_Op(bit_or<value_type>(),
3978
- __x, __scalar_expr<value_type>(__y, __x.size())));
3979
- }
3980
-
3981
- template<class _Expr>
3982
- inline _LIBCPP_INLINE_VISIBILITY
3983
- typename enable_if
3984
- <
3985
- __is_val_expr<_Expr>::value,
3986
- __val_expr<_BinaryOp<bit_or<typename _Expr::value_type>,
3987
- __scalar_expr<typename _Expr::value_type>, _Expr> >
3988
- >::type
3989
- operator|(const typename _Expr::value_type& __x, const _Expr& __y)
3990
- {
3991
- typedef typename _Expr::value_type value_type;
3992
- typedef _BinaryOp<bit_or<value_type>, __scalar_expr<value_type>, _Expr> _Op;
3993
- return __val_expr<_Op>(_Op(bit_or<value_type>(),
3994
- __scalar_expr<value_type>(__x, __y.size()), __y));
3995
- }
3996
-
3997
- template<class _Expr1, class _Expr2>
3998
- inline _LIBCPP_INLINE_VISIBILITY
3999
- typename enable_if
4000
- <
4001
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4002
- __val_expr<_BinaryOp<__bit_shift_left<typename _Expr1::value_type>, _Expr1, _Expr2> >
4003
- >::type
4004
- operator<<(const _Expr1& __x, const _Expr2& __y)
4005
- {
4006
- typedef typename _Expr1::value_type value_type;
4007
- typedef _BinaryOp<__bit_shift_left<value_type>, _Expr1, _Expr2> _Op;
4008
- return __val_expr<_Op>(_Op(__bit_shift_left<value_type>(), __x, __y));
4009
- }
4010
-
4011
- template<class _Expr>
4012
- inline _LIBCPP_INLINE_VISIBILITY
4013
- typename enable_if
4014
- <
4015
- __is_val_expr<_Expr>::value,
4016
- __val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>,
4017
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4018
- >::type
4019
- operator<<(const _Expr& __x, const typename _Expr::value_type& __y)
4020
- {
4021
- typedef typename _Expr::value_type value_type;
4022
- typedef _BinaryOp<__bit_shift_left<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4023
- return __val_expr<_Op>(_Op(__bit_shift_left<value_type>(),
4024
- __x, __scalar_expr<value_type>(__y, __x.size())));
4025
- }
4026
-
4027
- template<class _Expr>
4028
- inline _LIBCPP_INLINE_VISIBILITY
4029
- typename enable_if
4030
- <
4031
- __is_val_expr<_Expr>::value,
4032
- __val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>,
4033
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4034
- >::type
4035
- operator<<(const typename _Expr::value_type& __x, const _Expr& __y)
4036
- {
4037
- typedef typename _Expr::value_type value_type;
4038
- typedef _BinaryOp<__bit_shift_left<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4039
- return __val_expr<_Op>(_Op(__bit_shift_left<value_type>(),
4040
- __scalar_expr<value_type>(__x, __y.size()), __y));
4041
- }
4042
-
4043
- template<class _Expr1, class _Expr2>
4044
- inline _LIBCPP_INLINE_VISIBILITY
4045
- typename enable_if
4046
- <
4047
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4048
- __val_expr<_BinaryOp<__bit_shift_right<typename _Expr1::value_type>, _Expr1, _Expr2> >
4049
- >::type
4050
- operator>>(const _Expr1& __x, const _Expr2& __y)
4051
- {
4052
- typedef typename _Expr1::value_type value_type;
4053
- typedef _BinaryOp<__bit_shift_right<value_type>, _Expr1, _Expr2> _Op;
4054
- return __val_expr<_Op>(_Op(__bit_shift_right<value_type>(), __x, __y));
4055
- }
4056
-
4057
- template<class _Expr>
4058
- inline _LIBCPP_INLINE_VISIBILITY
4059
- typename enable_if
4060
- <
4061
- __is_val_expr<_Expr>::value,
4062
- __val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>,
4063
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4064
- >::type
4065
- operator>>(const _Expr& __x, const typename _Expr::value_type& __y)
4066
- {
4067
- typedef typename _Expr::value_type value_type;
4068
- typedef _BinaryOp<__bit_shift_right<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4069
- return __val_expr<_Op>(_Op(__bit_shift_right<value_type>(),
4070
- __x, __scalar_expr<value_type>(__y, __x.size())));
4071
- }
4072
-
4073
- template<class _Expr>
4074
- inline _LIBCPP_INLINE_VISIBILITY
4075
- typename enable_if
4076
- <
4077
- __is_val_expr<_Expr>::value,
4078
- __val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>,
4079
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4080
- >::type
4081
- operator>>(const typename _Expr::value_type& __x, const _Expr& __y)
4082
- {
4083
- typedef typename _Expr::value_type value_type;
4084
- typedef _BinaryOp<__bit_shift_right<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4085
- return __val_expr<_Op>(_Op(__bit_shift_right<value_type>(),
4086
- __scalar_expr<value_type>(__x, __y.size()), __y));
4087
- }
4088
-
4089
- template<class _Expr1, class _Expr2>
4090
- inline _LIBCPP_INLINE_VISIBILITY
4091
- typename enable_if
4092
- <
4093
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4094
- __val_expr<_BinaryOp<logical_and<typename _Expr1::value_type>, _Expr1, _Expr2> >
4095
- >::type
4096
- operator&&(const _Expr1& __x, const _Expr2& __y)
4097
- {
4098
- typedef typename _Expr1::value_type value_type;
4099
- typedef _BinaryOp<logical_and<value_type>, _Expr1, _Expr2> _Op;
4100
- return __val_expr<_Op>(_Op(logical_and<value_type>(), __x, __y));
4101
- }
4102
-
4103
- template<class _Expr>
4104
- inline _LIBCPP_INLINE_VISIBILITY
4105
- typename enable_if
4106
- <
4107
- __is_val_expr<_Expr>::value,
4108
- __val_expr<_BinaryOp<logical_and<typename _Expr::value_type>,
4109
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4110
- >::type
4111
- operator&&(const _Expr& __x, const typename _Expr::value_type& __y)
4112
- {
4113
- typedef typename _Expr::value_type value_type;
4114
- typedef _BinaryOp<logical_and<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4115
- return __val_expr<_Op>(_Op(logical_and<value_type>(),
4116
- __x, __scalar_expr<value_type>(__y, __x.size())));
4117
- }
4118
-
4119
- template<class _Expr>
4120
- inline _LIBCPP_INLINE_VISIBILITY
4121
- typename enable_if
4122
- <
4123
- __is_val_expr<_Expr>::value,
4124
- __val_expr<_BinaryOp<logical_and<typename _Expr::value_type>,
4125
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4126
- >::type
4127
- operator&&(const typename _Expr::value_type& __x, const _Expr& __y)
4128
- {
4129
- typedef typename _Expr::value_type value_type;
4130
- typedef _BinaryOp<logical_and<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4131
- return __val_expr<_Op>(_Op(logical_and<value_type>(),
4132
- __scalar_expr<value_type>(__x, __y.size()), __y));
4133
- }
4134
-
4135
- template<class _Expr1, class _Expr2>
4136
- inline _LIBCPP_INLINE_VISIBILITY
4137
- typename enable_if
4138
- <
4139
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4140
- __val_expr<_BinaryOp<logical_or<typename _Expr1::value_type>, _Expr1, _Expr2> >
4141
- >::type
4142
- operator||(const _Expr1& __x, const _Expr2& __y)
4143
- {
4144
- typedef typename _Expr1::value_type value_type;
4145
- typedef _BinaryOp<logical_or<value_type>, _Expr1, _Expr2> _Op;
4146
- return __val_expr<_Op>(_Op(logical_or<value_type>(), __x, __y));
4147
- }
4148
-
4149
- template<class _Expr>
4150
- inline _LIBCPP_INLINE_VISIBILITY
4151
- typename enable_if
4152
- <
4153
- __is_val_expr<_Expr>::value,
4154
- __val_expr<_BinaryOp<logical_or<typename _Expr::value_type>,
4155
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4156
- >::type
4157
- operator||(const _Expr& __x, const typename _Expr::value_type& __y)
4158
- {
4159
- typedef typename _Expr::value_type value_type;
4160
- typedef _BinaryOp<logical_or<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4161
- return __val_expr<_Op>(_Op(logical_or<value_type>(),
4162
- __x, __scalar_expr<value_type>(__y, __x.size())));
4163
- }
4164
-
4165
- template<class _Expr>
4166
- inline _LIBCPP_INLINE_VISIBILITY
4167
- typename enable_if
4168
- <
4169
- __is_val_expr<_Expr>::value,
4170
- __val_expr<_BinaryOp<logical_or<typename _Expr::value_type>,
4171
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4172
- >::type
4173
- operator||(const typename _Expr::value_type& __x, const _Expr& __y)
4174
- {
4175
- typedef typename _Expr::value_type value_type;
4176
- typedef _BinaryOp<logical_or<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4177
- return __val_expr<_Op>(_Op(logical_or<value_type>(),
4178
- __scalar_expr<value_type>(__x, __y.size()), __y));
4179
- }
4180
-
4181
- template<class _Expr1, class _Expr2>
4182
- inline _LIBCPP_INLINE_VISIBILITY
4183
- typename enable_if
4184
- <
4185
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4186
- __val_expr<_BinaryOp<equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> >
4187
- >::type
4188
- operator==(const _Expr1& __x, const _Expr2& __y)
4189
- {
4190
- typedef typename _Expr1::value_type value_type;
4191
- typedef _BinaryOp<equal_to<value_type>, _Expr1, _Expr2> _Op;
4192
- return __val_expr<_Op>(_Op(equal_to<value_type>(), __x, __y));
4193
- }
4194
-
4195
- template<class _Expr>
4196
- inline _LIBCPP_INLINE_VISIBILITY
4197
- typename enable_if
4198
- <
4199
- __is_val_expr<_Expr>::value,
4200
- __val_expr<_BinaryOp<equal_to<typename _Expr::value_type>,
4201
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4202
- >::type
4203
- operator==(const _Expr& __x, const typename _Expr::value_type& __y)
4204
- {
4205
- typedef typename _Expr::value_type value_type;
4206
- typedef _BinaryOp<equal_to<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4207
- return __val_expr<_Op>(_Op(equal_to<value_type>(),
4208
- __x, __scalar_expr<value_type>(__y, __x.size())));
4209
- }
4210
-
4211
- template<class _Expr>
4212
- inline _LIBCPP_INLINE_VISIBILITY
4213
- typename enable_if
4214
- <
4215
- __is_val_expr<_Expr>::value,
4216
- __val_expr<_BinaryOp<equal_to<typename _Expr::value_type>,
4217
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4218
- >::type
4219
- operator==(const typename _Expr::value_type& __x, const _Expr& __y)
4220
- {
4221
- typedef typename _Expr::value_type value_type;
4222
- typedef _BinaryOp<equal_to<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4223
- return __val_expr<_Op>(_Op(equal_to<value_type>(),
4224
- __scalar_expr<value_type>(__x, __y.size()), __y));
4225
- }
4226
-
4227
- template<class _Expr1, class _Expr2>
4228
- inline _LIBCPP_INLINE_VISIBILITY
4229
- typename enable_if
4230
- <
4231
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4232
- __val_expr<_BinaryOp<not_equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> >
4233
- >::type
4234
- operator!=(const _Expr1& __x, const _Expr2& __y)
4235
- {
4236
- typedef typename _Expr1::value_type value_type;
4237
- typedef _BinaryOp<not_equal_to<value_type>, _Expr1, _Expr2> _Op;
4238
- return __val_expr<_Op>(_Op(not_equal_to<value_type>(), __x, __y));
4239
- }
4240
-
4241
- template<class _Expr>
4242
- inline _LIBCPP_INLINE_VISIBILITY
4243
- typename enable_if
4244
- <
4245
- __is_val_expr<_Expr>::value,
4246
- __val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>,
4247
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4248
- >::type
4249
- operator!=(const _Expr& __x, const typename _Expr::value_type& __y)
4250
- {
4251
- typedef typename _Expr::value_type value_type;
4252
- typedef _BinaryOp<not_equal_to<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4253
- return __val_expr<_Op>(_Op(not_equal_to<value_type>(),
4254
- __x, __scalar_expr<value_type>(__y, __x.size())));
4255
- }
4256
-
4257
- template<class _Expr>
4258
- inline _LIBCPP_INLINE_VISIBILITY
4259
- typename enable_if
4260
- <
4261
- __is_val_expr<_Expr>::value,
4262
- __val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>,
4263
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4264
- >::type
4265
- operator!=(const typename _Expr::value_type& __x, const _Expr& __y)
4266
- {
4267
- typedef typename _Expr::value_type value_type;
4268
- typedef _BinaryOp<not_equal_to<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4269
- return __val_expr<_Op>(_Op(not_equal_to<value_type>(),
4270
- __scalar_expr<value_type>(__x, __y.size()), __y));
4271
- }
4272
-
4273
- template<class _Expr1, class _Expr2>
4274
- inline _LIBCPP_INLINE_VISIBILITY
4275
- typename enable_if
4276
- <
4277
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4278
- __val_expr<_BinaryOp<less<typename _Expr1::value_type>, _Expr1, _Expr2> >
4279
- >::type
4280
- operator<(const _Expr1& __x, const _Expr2& __y)
4281
- {
4282
- typedef typename _Expr1::value_type value_type;
4283
- typedef _BinaryOp<less<value_type>, _Expr1, _Expr2> _Op;
4284
- return __val_expr<_Op>(_Op(less<value_type>(), __x, __y));
4285
- }
4286
-
4287
- template<class _Expr>
4288
- inline _LIBCPP_INLINE_VISIBILITY
4289
- typename enable_if
4290
- <
4291
- __is_val_expr<_Expr>::value,
4292
- __val_expr<_BinaryOp<less<typename _Expr::value_type>,
4293
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4294
- >::type
4295
- operator<(const _Expr& __x, const typename _Expr::value_type& __y)
4296
- {
4297
- typedef typename _Expr::value_type value_type;
4298
- typedef _BinaryOp<less<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4299
- return __val_expr<_Op>(_Op(less<value_type>(),
4300
- __x, __scalar_expr<value_type>(__y, __x.size())));
4301
- }
4302
-
4303
- template<class _Expr>
4304
- inline _LIBCPP_INLINE_VISIBILITY
4305
- typename enable_if
4306
- <
4307
- __is_val_expr<_Expr>::value,
4308
- __val_expr<_BinaryOp<less<typename _Expr::value_type>,
4309
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4310
- >::type
4311
- operator<(const typename _Expr::value_type& __x, const _Expr& __y)
4312
- {
4313
- typedef typename _Expr::value_type value_type;
4314
- typedef _BinaryOp<less<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4315
- return __val_expr<_Op>(_Op(less<value_type>(),
4316
- __scalar_expr<value_type>(__x, __y.size()), __y));
4317
- }
4318
-
4319
- template<class _Expr1, class _Expr2>
4320
- inline _LIBCPP_INLINE_VISIBILITY
4321
- typename enable_if
4322
- <
4323
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4324
- __val_expr<_BinaryOp<greater<typename _Expr1::value_type>, _Expr1, _Expr2> >
4325
- >::type
4326
- operator>(const _Expr1& __x, const _Expr2& __y)
4327
- {
4328
- typedef typename _Expr1::value_type value_type;
4329
- typedef _BinaryOp<greater<value_type>, _Expr1, _Expr2> _Op;
4330
- return __val_expr<_Op>(_Op(greater<value_type>(), __x, __y));
4331
- }
4332
-
4333
- template<class _Expr>
4334
- inline _LIBCPP_INLINE_VISIBILITY
4335
- typename enable_if
4336
- <
4337
- __is_val_expr<_Expr>::value,
4338
- __val_expr<_BinaryOp<greater<typename _Expr::value_type>,
4339
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4340
- >::type
4341
- operator>(const _Expr& __x, const typename _Expr::value_type& __y)
4342
- {
4343
- typedef typename _Expr::value_type value_type;
4344
- typedef _BinaryOp<greater<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4345
- return __val_expr<_Op>(_Op(greater<value_type>(),
4346
- __x, __scalar_expr<value_type>(__y, __x.size())));
4347
- }
4348
-
4349
- template<class _Expr>
4350
- inline _LIBCPP_INLINE_VISIBILITY
4351
- typename enable_if
4352
- <
4353
- __is_val_expr<_Expr>::value,
4354
- __val_expr<_BinaryOp<greater<typename _Expr::value_type>,
4355
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4356
- >::type
4357
- operator>(const typename _Expr::value_type& __x, const _Expr& __y)
4358
- {
4359
- typedef typename _Expr::value_type value_type;
4360
- typedef _BinaryOp<greater<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4361
- return __val_expr<_Op>(_Op(greater<value_type>(),
4362
- __scalar_expr<value_type>(__x, __y.size()), __y));
4363
- }
4364
-
4365
- template<class _Expr1, class _Expr2>
4366
- inline _LIBCPP_INLINE_VISIBILITY
4367
- typename enable_if
4368
- <
4369
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4370
- __val_expr<_BinaryOp<less_equal<typename _Expr1::value_type>, _Expr1, _Expr2> >
4371
- >::type
4372
- operator<=(const _Expr1& __x, const _Expr2& __y)
4373
- {
4374
- typedef typename _Expr1::value_type value_type;
4375
- typedef _BinaryOp<less_equal<value_type>, _Expr1, _Expr2> _Op;
4376
- return __val_expr<_Op>(_Op(less_equal<value_type>(), __x, __y));
4377
- }
4378
-
4379
- template<class _Expr>
4380
- inline _LIBCPP_INLINE_VISIBILITY
4381
- typename enable_if
4382
- <
4383
- __is_val_expr<_Expr>::value,
4384
- __val_expr<_BinaryOp<less_equal<typename _Expr::value_type>,
4385
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4386
- >::type
4387
- operator<=(const _Expr& __x, const typename _Expr::value_type& __y)
4388
- {
4389
- typedef typename _Expr::value_type value_type;
4390
- typedef _BinaryOp<less_equal<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4391
- return __val_expr<_Op>(_Op(less_equal<value_type>(),
4392
- __x, __scalar_expr<value_type>(__y, __x.size())));
4393
- }
4394
-
4395
- template<class _Expr>
4396
- inline _LIBCPP_INLINE_VISIBILITY
4397
- typename enable_if
4398
- <
4399
- __is_val_expr<_Expr>::value,
4400
- __val_expr<_BinaryOp<less_equal<typename _Expr::value_type>,
4401
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4402
- >::type
4403
- operator<=(const typename _Expr::value_type& __x, const _Expr& __y)
4404
- {
4405
- typedef typename _Expr::value_type value_type;
4406
- typedef _BinaryOp<less_equal<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4407
- return __val_expr<_Op>(_Op(less_equal<value_type>(),
4408
- __scalar_expr<value_type>(__x, __y.size()), __y));
4409
- }
4410
-
4411
- template<class _Expr1, class _Expr2>
4412
- inline _LIBCPP_INLINE_VISIBILITY
4413
- typename enable_if
4414
- <
4415
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4416
- __val_expr<_BinaryOp<greater_equal<typename _Expr1::value_type>, _Expr1, _Expr2> >
4417
- >::type
4418
- operator>=(const _Expr1& __x, const _Expr2& __y)
4419
- {
4420
- typedef typename _Expr1::value_type value_type;
4421
- typedef _BinaryOp<greater_equal<value_type>, _Expr1, _Expr2> _Op;
4422
- return __val_expr<_Op>(_Op(greater_equal<value_type>(), __x, __y));
4423
- }
4424
-
4425
- template<class _Expr>
4426
- inline _LIBCPP_INLINE_VISIBILITY
4427
- typename enable_if
4428
- <
4429
- __is_val_expr<_Expr>::value,
4430
- __val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>,
4431
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4432
- >::type
4433
- operator>=(const _Expr& __x, const typename _Expr::value_type& __y)
4434
- {
4435
- typedef typename _Expr::value_type value_type;
4436
- typedef _BinaryOp<greater_equal<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4437
- return __val_expr<_Op>(_Op(greater_equal<value_type>(),
4438
- __x, __scalar_expr<value_type>(__y, __x.size())));
4439
- }
4440
-
4441
- template<class _Expr>
4442
- inline _LIBCPP_INLINE_VISIBILITY
4443
- typename enable_if
4444
- <
4445
- __is_val_expr<_Expr>::value,
4446
- __val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>,
4447
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4448
- >::type
4449
- operator>=(const typename _Expr::value_type& __x, const _Expr& __y)
4450
- {
4451
- typedef typename _Expr::value_type value_type;
4452
- typedef _BinaryOp<greater_equal<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4453
- return __val_expr<_Op>(_Op(greater_equal<value_type>(),
4454
- __scalar_expr<value_type>(__x, __y.size()), __y));
4455
- }
4456
-
4457
- template<class _Expr>
4458
- inline _LIBCPP_INLINE_VISIBILITY
4459
- typename enable_if
4460
- <
4461
- __is_val_expr<_Expr>::value,
4462
- __val_expr<_UnaryOp<__abs_expr<typename _Expr::value_type>, _Expr> >
4463
- >::type
4464
- abs(const _Expr& __x)
4465
- {
4466
- typedef typename _Expr::value_type value_type;
4467
- typedef _UnaryOp<__abs_expr<value_type>, _Expr> _Op;
4468
- return __val_expr<_Op>(_Op(__abs_expr<value_type>(), __x));
4469
- }
4470
-
4471
- template<class _Expr>
4472
- inline _LIBCPP_INLINE_VISIBILITY
4473
- typename enable_if
4474
- <
4475
- __is_val_expr<_Expr>::value,
4476
- __val_expr<_UnaryOp<__acos_expr<typename _Expr::value_type>, _Expr> >
4477
- >::type
4478
- acos(const _Expr& __x)
4479
- {
4480
- typedef typename _Expr::value_type value_type;
4481
- typedef _UnaryOp<__acos_expr<value_type>, _Expr> _Op;
4482
- return __val_expr<_Op>(_Op(__acos_expr<value_type>(), __x));
4483
- }
4484
-
4485
- template<class _Expr>
4486
- inline _LIBCPP_INLINE_VISIBILITY
4487
- typename enable_if
4488
- <
4489
- __is_val_expr<_Expr>::value,
4490
- __val_expr<_UnaryOp<__asin_expr<typename _Expr::value_type>, _Expr> >
4491
- >::type
4492
- asin(const _Expr& __x)
4493
- {
4494
- typedef typename _Expr::value_type value_type;
4495
- typedef _UnaryOp<__asin_expr<value_type>, _Expr> _Op;
4496
- return __val_expr<_Op>(_Op(__asin_expr<value_type>(), __x));
4497
- }
4498
-
4499
- template<class _Expr>
4500
- inline _LIBCPP_INLINE_VISIBILITY
4501
- typename enable_if
4502
- <
4503
- __is_val_expr<_Expr>::value,
4504
- __val_expr<_UnaryOp<__atan_expr<typename _Expr::value_type>, _Expr> >
4505
- >::type
4506
- atan(const _Expr& __x)
4507
- {
4508
- typedef typename _Expr::value_type value_type;
4509
- typedef _UnaryOp<__atan_expr<value_type>, _Expr> _Op;
4510
- return __val_expr<_Op>(_Op(__atan_expr<value_type>(), __x));
4511
- }
4512
-
4513
- template<class _Expr1, class _Expr2>
4514
- inline _LIBCPP_INLINE_VISIBILITY
4515
- typename enable_if
4516
- <
4517
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4518
- __val_expr<_BinaryOp<__atan2_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
4519
- >::type
4520
- atan2(const _Expr1& __x, const _Expr2& __y)
4521
- {
4522
- typedef typename _Expr1::value_type value_type;
4523
- typedef _BinaryOp<__atan2_expr<value_type>, _Expr1, _Expr2> _Op;
4524
- return __val_expr<_Op>(_Op(__atan2_expr<value_type>(), __x, __y));
4525
- }
4526
-
4527
- template<class _Expr>
4528
- inline _LIBCPP_INLINE_VISIBILITY
4529
- typename enable_if
4530
- <
4531
- __is_val_expr<_Expr>::value,
4532
- __val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>,
4533
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4534
- >::type
4535
- atan2(const _Expr& __x, const typename _Expr::value_type& __y)
4536
- {
4537
- typedef typename _Expr::value_type value_type;
4538
- typedef _BinaryOp<__atan2_expr<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4539
- return __val_expr<_Op>(_Op(__atan2_expr<value_type>(),
4540
- __x, __scalar_expr<value_type>(__y, __x.size())));
4541
- }
4542
-
4543
- template<class _Expr>
4544
- inline _LIBCPP_INLINE_VISIBILITY
4545
- typename enable_if
4546
- <
4547
- __is_val_expr<_Expr>::value,
4548
- __val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>,
4549
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4550
- >::type
4551
- atan2(const typename _Expr::value_type& __x, const _Expr& __y)
4552
- {
4553
- typedef typename _Expr::value_type value_type;
4554
- typedef _BinaryOp<__atan2_expr<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4555
- return __val_expr<_Op>(_Op(__atan2_expr<value_type>(),
4556
- __scalar_expr<value_type>(__x, __y.size()), __y));
4557
- }
4558
-
4559
- template<class _Expr>
4560
- inline _LIBCPP_INLINE_VISIBILITY
4561
- typename enable_if
4562
- <
4563
- __is_val_expr<_Expr>::value,
4564
- __val_expr<_UnaryOp<__cos_expr<typename _Expr::value_type>, _Expr> >
4565
- >::type
4566
- cos(const _Expr& __x)
4567
- {
4568
- typedef typename _Expr::value_type value_type;
4569
- typedef _UnaryOp<__cos_expr<value_type>, _Expr> _Op;
4570
- return __val_expr<_Op>(_Op(__cos_expr<value_type>(), __x));
4571
- }
4572
-
4573
- template<class _Expr>
4574
- inline _LIBCPP_INLINE_VISIBILITY
4575
- typename enable_if
4576
- <
4577
- __is_val_expr<_Expr>::value,
4578
- __val_expr<_UnaryOp<__cosh_expr<typename _Expr::value_type>, _Expr> >
4579
- >::type
4580
- cosh(const _Expr& __x)
4581
- {
4582
- typedef typename _Expr::value_type value_type;
4583
- typedef _UnaryOp<__cosh_expr<value_type>, _Expr> _Op;
4584
- return __val_expr<_Op>(_Op(__cosh_expr<value_type>(), __x));
4585
- }
4586
-
4587
- template<class _Expr>
4588
- inline _LIBCPP_INLINE_VISIBILITY
4589
- typename enable_if
4590
- <
4591
- __is_val_expr<_Expr>::value,
4592
- __val_expr<_UnaryOp<__exp_expr<typename _Expr::value_type>, _Expr> >
4593
- >::type
4594
- exp(const _Expr& __x)
4595
- {
4596
- typedef typename _Expr::value_type value_type;
4597
- typedef _UnaryOp<__exp_expr<value_type>, _Expr> _Op;
4598
- return __val_expr<_Op>(_Op(__exp_expr<value_type>(), __x));
4599
- }
4600
-
4601
- template<class _Expr>
4602
- inline _LIBCPP_INLINE_VISIBILITY
4603
- typename enable_if
4604
- <
4605
- __is_val_expr<_Expr>::value,
4606
- __val_expr<_UnaryOp<__log_expr<typename _Expr::value_type>, _Expr> >
4607
- >::type
4608
- log(const _Expr& __x)
4609
- {
4610
- typedef typename _Expr::value_type value_type;
4611
- typedef _UnaryOp<__log_expr<value_type>, _Expr> _Op;
4612
- return __val_expr<_Op>(_Op(__log_expr<value_type>(), __x));
4613
- }
4614
-
4615
- template<class _Expr>
4616
- inline _LIBCPP_INLINE_VISIBILITY
4617
- typename enable_if
4618
- <
4619
- __is_val_expr<_Expr>::value,
4620
- __val_expr<_UnaryOp<__log10_expr<typename _Expr::value_type>, _Expr> >
4621
- >::type
4622
- log10(const _Expr& __x)
4623
- {
4624
- typedef typename _Expr::value_type value_type;
4625
- typedef _UnaryOp<__log10_expr<value_type>, _Expr> _Op;
4626
- return __val_expr<_Op>(_Op(__log10_expr<value_type>(), __x));
4627
- }
4628
-
4629
- template<class _Expr1, class _Expr2>
4630
- inline _LIBCPP_INLINE_VISIBILITY
4631
- typename enable_if
4632
- <
4633
- __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
4634
- __val_expr<_BinaryOp<__pow_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
4635
- >::type
4636
- pow(const _Expr1& __x, const _Expr2& __y)
4637
- {
4638
- typedef typename _Expr1::value_type value_type;
4639
- typedef _BinaryOp<__pow_expr<value_type>, _Expr1, _Expr2> _Op;
4640
- return __val_expr<_Op>(_Op(__pow_expr<value_type>(), __x, __y));
4641
- }
4642
-
4643
- template<class _Expr>
4644
- inline _LIBCPP_INLINE_VISIBILITY
4645
- typename enable_if
4646
- <
4647
- __is_val_expr<_Expr>::value,
4648
- __val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>,
4649
- _Expr, __scalar_expr<typename _Expr::value_type> > >
4650
- >::type
4651
- pow(const _Expr& __x, const typename _Expr::value_type& __y)
4652
- {
4653
- typedef typename _Expr::value_type value_type;
4654
- typedef _BinaryOp<__pow_expr<value_type>, _Expr, __scalar_expr<value_type> > _Op;
4655
- return __val_expr<_Op>(_Op(__pow_expr<value_type>(),
4656
- __x, __scalar_expr<value_type>(__y, __x.size())));
4657
- }
4658
-
4659
- template<class _Expr>
4660
- inline _LIBCPP_INLINE_VISIBILITY
4661
- typename enable_if
4662
- <
4663
- __is_val_expr<_Expr>::value,
4664
- __val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>,
4665
- __scalar_expr<typename _Expr::value_type>, _Expr> >
4666
- >::type
4667
- pow(const typename _Expr::value_type& __x, const _Expr& __y)
4668
- {
4669
- typedef typename _Expr::value_type value_type;
4670
- typedef _BinaryOp<__pow_expr<value_type>, __scalar_expr<value_type>, _Expr> _Op;
4671
- return __val_expr<_Op>(_Op(__pow_expr<value_type>(),
4672
- __scalar_expr<value_type>(__x, __y.size()), __y));
4673
- }
4674
-
4675
- template<class _Expr>
4676
- inline _LIBCPP_INLINE_VISIBILITY
4677
- typename enable_if
4678
- <
4679
- __is_val_expr<_Expr>::value,
4680
- __val_expr<_UnaryOp<__sin_expr<typename _Expr::value_type>, _Expr> >
4681
- >::type
4682
- sin(const _Expr& __x)
4683
- {
4684
- typedef typename _Expr::value_type value_type;
4685
- typedef _UnaryOp<__sin_expr<value_type>, _Expr> _Op;
4686
- return __val_expr<_Op>(_Op(__sin_expr<value_type>(), __x));
4687
- }
4688
-
4689
- template<class _Expr>
4690
- inline _LIBCPP_INLINE_VISIBILITY
4691
- typename enable_if
4692
- <
4693
- __is_val_expr<_Expr>::value,
4694
- __val_expr<_UnaryOp<__sinh_expr<typename _Expr::value_type>, _Expr> >
4695
- >::type
4696
- sinh(const _Expr& __x)
4697
- {
4698
- typedef typename _Expr::value_type value_type;
4699
- typedef _UnaryOp<__sinh_expr<value_type>, _Expr> _Op;
4700
- return __val_expr<_Op>(_Op(__sinh_expr<value_type>(), __x));
4701
- }
4702
-
4703
- template<class _Expr>
4704
- inline _LIBCPP_INLINE_VISIBILITY
4705
- typename enable_if
4706
- <
4707
- __is_val_expr<_Expr>::value,
4708
- __val_expr<_UnaryOp<__sqrt_expr<typename _Expr::value_type>, _Expr> >
4709
- >::type
4710
- sqrt(const _Expr& __x)
4711
- {
4712
- typedef typename _Expr::value_type value_type;
4713
- typedef _UnaryOp<__sqrt_expr<value_type>, _Expr> _Op;
4714
- return __val_expr<_Op>(_Op(__sqrt_expr<value_type>(), __x));
4715
- }
4716
-
4717
- template<class _Expr>
4718
- inline _LIBCPP_INLINE_VISIBILITY
4719
- typename enable_if
4720
- <
4721
- __is_val_expr<_Expr>::value,
4722
- __val_expr<_UnaryOp<__tan_expr<typename _Expr::value_type>, _Expr> >
4723
- >::type
4724
- tan(const _Expr& __x)
4725
- {
4726
- typedef typename _Expr::value_type value_type;
4727
- typedef _UnaryOp<__tan_expr<value_type>, _Expr> _Op;
4728
- return __val_expr<_Op>(_Op(__tan_expr<value_type>(), __x));
4729
- }
4730
-
4731
- template<class _Expr>
4732
- inline _LIBCPP_INLINE_VISIBILITY
4733
- typename enable_if
4734
- <
4735
- __is_val_expr<_Expr>::value,
4736
- __val_expr<_UnaryOp<__tanh_expr<typename _Expr::value_type>, _Expr> >
4737
- >::type
4738
- tanh(const _Expr& __x)
4739
- {
4740
- typedef typename _Expr::value_type value_type;
4741
- typedef _UnaryOp<__tanh_expr<value_type>, _Expr> _Op;
4742
- return __val_expr<_Op>(_Op(__tanh_expr<value_type>(), __x));
4743
- }
4744
-
4745
- template <class _Tp>
4746
- inline _LIBCPP_INLINE_VISIBILITY
4747
- _Tp*
4748
- begin(valarray<_Tp>& __v)
4749
- {
4750
- return __v.__begin_;
4751
- }
4752
-
4753
- template <class _Tp>
4754
- inline _LIBCPP_INLINE_VISIBILITY
4755
- const _Tp*
4756
- begin(const valarray<_Tp>& __v)
4757
- {
4758
- return __v.__begin_;
4759
- }
4760
-
4761
- template <class _Tp>
4762
- inline _LIBCPP_INLINE_VISIBILITY
4763
- _Tp*
4764
- end(valarray<_Tp>& __v)
4765
- {
4766
- return __v.__end_;
4767
- }
4768
-
4769
- template <class _Tp>
4770
- inline _LIBCPP_INLINE_VISIBILITY
4771
- const _Tp*
4772
- end(const valarray<_Tp>& __v)
4773
- {
4774
- return __v.__end_;
4775
- }
4776
-
4777
- _LIBCPP_END_NAMESPACE_STD
4778
-
4779
- #endif // _LIBCPP_VALARRAY