datahike 0.7.1630

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 (282) hide show
  1. package/README.md +226 -0
  2. package/cljs.analyzer.api.js +427 -0
  3. package/cljs.analyzer.api.js.map +1 -0
  4. package/cljs.analyzer.impl.js +86 -0
  5. package/cljs.analyzer.impl.js.map +1 -0
  6. package/cljs.analyzer.impl.namespaces.js +219 -0
  7. package/cljs.analyzer.impl.namespaces.js.map +1 -0
  8. package/cljs.analyzer.js +7186 -0
  9. package/cljs.analyzer.js.map +1 -0
  10. package/cljs.analyzer.passes.and_or.js +141 -0
  11. package/cljs.analyzer.passes.and_or.js.map +1 -0
  12. package/cljs.analyzer.passes.js +104 -0
  13. package/cljs.analyzer.passes.js.map +1 -0
  14. package/cljs.cache.js +1145 -0
  15. package/cljs.cache.js.map +1 -0
  16. package/cljs.cache.wrapped.js +352 -0
  17. package/cljs.cache.wrapped.js.map +1 -0
  18. package/cljs.core.async.impl.buffers.js +489 -0
  19. package/cljs.core.async.impl.buffers.js.map +1 -0
  20. package/cljs.core.async.impl.channels.js +711 -0
  21. package/cljs.core.async.impl.channels.js.map +1 -0
  22. package/cljs.core.async.impl.dispatch.js +81 -0
  23. package/cljs.core.async.impl.dispatch.js.map +1 -0
  24. package/cljs.core.async.impl.ioc_helpers.js +192 -0
  25. package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
  26. package/cljs.core.async.impl.protocols.js +368 -0
  27. package/cljs.core.async.impl.protocols.js.map +1 -0
  28. package/cljs.core.async.impl.timers.js +510 -0
  29. package/cljs.core.async.impl.timers.js.map +1 -0
  30. package/cljs.core.async.js +8813 -0
  31. package/cljs.core.async.js.map +1 -0
  32. package/cljs.core.js +38764 -0
  33. package/cljs.core.js.map +1 -0
  34. package/cljs.env.js +60 -0
  35. package/cljs.env.js.map +1 -0
  36. package/cljs.nodejs.js +80 -0
  37. package/cljs.nodejs.js.map +1 -0
  38. package/cljs.reader.js +462 -0
  39. package/cljs.reader.js.map +1 -0
  40. package/cljs.spec.alpha.js +5312 -0
  41. package/cljs.spec.alpha.js.map +1 -0
  42. package/cljs.spec.gen.alpha.js +2020 -0
  43. package/cljs.spec.gen.alpha.js.map +1 -0
  44. package/cljs.tagged_literals.js +103 -0
  45. package/cljs.tagged_literals.js.map +1 -0
  46. package/cljs.tools.reader.edn.js +960 -0
  47. package/cljs.tools.reader.edn.js.map +1 -0
  48. package/cljs.tools.reader.impl.commons.js +217 -0
  49. package/cljs.tools.reader.impl.commons.js.map +1 -0
  50. package/cljs.tools.reader.impl.errors.js +441 -0
  51. package/cljs.tools.reader.impl.errors.js.map +1 -0
  52. package/cljs.tools.reader.impl.inspect.js +182 -0
  53. package/cljs.tools.reader.impl.inspect.js.map +1 -0
  54. package/cljs.tools.reader.impl.utils.js +429 -0
  55. package/cljs.tools.reader.impl.utils.js.map +1 -0
  56. package/cljs.tools.reader.js +1830 -0
  57. package/cljs.tools.reader.js.map +1 -0
  58. package/cljs.tools.reader.reader_types.js +838 -0
  59. package/cljs.tools.reader.reader_types.js.map +1 -0
  60. package/cljs_env.js +18192 -0
  61. package/cljs_node_io.core.js +1278 -0
  62. package/cljs_node_io.core.js.map +1 -0
  63. package/cljs_node_io.file.js +918 -0
  64. package/cljs_node_io.file.js.map +1 -0
  65. package/cljs_node_io.fs.js +3911 -0
  66. package/cljs_node_io.fs.js.map +1 -0
  67. package/clojure.data.js +319 -0
  68. package/clojure.data.js.map +1 -0
  69. package/clojure.edn.js +119 -0
  70. package/clojure.edn.js.map +1 -0
  71. package/clojure.set.js +406 -0
  72. package/clojure.set.js.map +1 -0
  73. package/clojure.string.js +502 -0
  74. package/clojure.string.js.map +1 -0
  75. package/clojure.walk.js +156 -0
  76. package/clojure.walk.js.map +1 -0
  77. package/datahike.api.impl.js +621 -0
  78. package/datahike.api.impl.js.map +1 -0
  79. package/datahike.api.specification.js +85 -0
  80. package/datahike.api.specification.js.map +1 -0
  81. package/datahike.array.js +275 -0
  82. package/datahike.array.js.map +1 -0
  83. package/datahike.config.js +437 -0
  84. package/datahike.config.js.map +1 -0
  85. package/datahike.connections.js +55 -0
  86. package/datahike.connections.js.map +1 -0
  87. package/datahike.connector.js +1248 -0
  88. package/datahike.connector.js.map +1 -0
  89. package/datahike.constants.js +66 -0
  90. package/datahike.constants.js.map +1 -0
  91. package/datahike.core.js +628 -0
  92. package/datahike.core.js.map +1 -0
  93. package/datahike.datom.js +963 -0
  94. package/datahike.datom.js.map +1 -0
  95. package/datahike.db.interface.js +819 -0
  96. package/datahike.db.interface.js.map +1 -0
  97. package/datahike.db.js +3095 -0
  98. package/datahike.db.js.map +1 -0
  99. package/datahike.db.search.js +1004 -0
  100. package/datahike.db.search.js.map +1 -0
  101. package/datahike.db.transaction.js +1904 -0
  102. package/datahike.db.transaction.js.map +1 -0
  103. package/datahike.db.utils.js +642 -0
  104. package/datahike.db.utils.js.map +1 -0
  105. package/datahike.gc.js +1618 -0
  106. package/datahike.gc.js.map +1 -0
  107. package/datahike.impl.entity.js +604 -0
  108. package/datahike.impl.entity.js.map +1 -0
  109. package/datahike.index.interface.js +484 -0
  110. package/datahike.index.interface.js.map +1 -0
  111. package/datahike.index.js +50 -0
  112. package/datahike.index.js.map +1 -0
  113. package/datahike.index.persistent_set.js +1250 -0
  114. package/datahike.index.persistent_set.js.map +1 -0
  115. package/datahike.js.api.js +2211 -0
  116. package/datahike.js.api.js.map +1 -0
  117. package/datahike.lru.js +404 -0
  118. package/datahike.lru.js.map +1 -0
  119. package/datahike.pull_api.js +533 -0
  120. package/datahike.pull_api.js.map +1 -0
  121. package/datahike.query.js +11891 -0
  122. package/datahike.query.js.map +1 -0
  123. package/datahike.query_stats.js +152 -0
  124. package/datahike.query_stats.js.map +1 -0
  125. package/datahike.readers.js +166 -0
  126. package/datahike.readers.js.map +1 -0
  127. package/datahike.schema.js +251 -0
  128. package/datahike.schema.js.map +1 -0
  129. package/datahike.schema_cache.js +66 -0
  130. package/datahike.schema_cache.js.map +1 -0
  131. package/datahike.spec.js +70 -0
  132. package/datahike.spec.js.map +1 -0
  133. package/datahike.store.js +514 -0
  134. package/datahike.store.js.map +1 -0
  135. package/datahike.tools.js +436 -0
  136. package/datahike.tools.js.map +1 -0
  137. package/datahike.writer.js +3463 -0
  138. package/datahike.writer.js.map +1 -0
  139. package/datahike.writing.js +3168 -0
  140. package/datahike.writing.js.map +1 -0
  141. package/datalog.parser.impl.js +1421 -0
  142. package/datalog.parser.impl.js.map +1 -0
  143. package/datalog.parser.impl.proto.js +213 -0
  144. package/datalog.parser.impl.proto.js.map +1 -0
  145. package/datalog.parser.impl.util.js +117 -0
  146. package/datalog.parser.impl.util.js.map +1 -0
  147. package/datalog.parser.js +47 -0
  148. package/datalog.parser.js.map +1 -0
  149. package/datalog.parser.pull.js +2603 -0
  150. package/datalog.parser.pull.js.map +1 -0
  151. package/datalog.parser.type.js +7502 -0
  152. package/datalog.parser.type.js.map +1 -0
  153. package/datalog.parser.util.js +60 -0
  154. package/datalog.parser.util.js.map +1 -0
  155. package/environ.core.js +263 -0
  156. package/environ.core.js.map +1 -0
  157. package/fress.api.js +607 -0
  158. package/fress.api.js.map +1 -0
  159. package/fress.impl.adler32.js +435 -0
  160. package/fress.impl.adler32.js.map +1 -0
  161. package/fress.impl.bigint.js +185 -0
  162. package/fress.impl.bigint.js.map +1 -0
  163. package/fress.impl.buffer.js +1087 -0
  164. package/fress.impl.buffer.js.map +1 -0
  165. package/fress.impl.codes.js +105 -0
  166. package/fress.impl.codes.js.map +1 -0
  167. package/fress.impl.hopmap.js +603 -0
  168. package/fress.impl.hopmap.js.map +1 -0
  169. package/fress.impl.ranges.js +49 -0
  170. package/fress.impl.ranges.js.map +1 -0
  171. package/fress.impl.raw_input.js +837 -0
  172. package/fress.impl.raw_input.js.map +1 -0
  173. package/fress.impl.raw_output.js +653 -0
  174. package/fress.impl.raw_output.js.map +1 -0
  175. package/fress.impl.table.js +133 -0
  176. package/fress.impl.table.js.map +1 -0
  177. package/fress.reader.js +2312 -0
  178. package/fress.reader.js.map +1 -0
  179. package/fress.util.js +458 -0
  180. package/fress.util.js.map +1 -0
  181. package/fress.writer.js +2141 -0
  182. package/fress.writer.js.map +1 -0
  183. package/geheimnis.aes.js +132 -0
  184. package/geheimnis.aes.js.map +1 -0
  185. package/hasch.base64.js +42 -0
  186. package/hasch.base64.js.map +1 -0
  187. package/hasch.benc.js +201 -0
  188. package/hasch.benc.js.map +1 -0
  189. package/hasch.core.js +188 -0
  190. package/hasch.core.js.map +1 -0
  191. package/hasch.platform.js +221 -0
  192. package/hasch.platform.js.map +1 -0
  193. package/incognito.base.js +276 -0
  194. package/incognito.base.js.map +1 -0
  195. package/incognito.edn.js +54 -0
  196. package/incognito.edn.js.map +1 -0
  197. package/incognito.fressian.js +330 -0
  198. package/incognito.fressian.js.map +1 -0
  199. package/index.d.ts +660 -0
  200. package/is.simm.partial_cps.async.js +142 -0
  201. package/is.simm.partial_cps.async.js.map +1 -0
  202. package/is.simm.partial_cps.runtime.js +65 -0
  203. package/is.simm.partial_cps.runtime.js.map +1 -0
  204. package/is.simm.partial_cps.sequence.js +1255 -0
  205. package/is.simm.partial_cps.sequence.js.map +1 -0
  206. package/konserve.cache.js +2519 -0
  207. package/konserve.cache.js.map +1 -0
  208. package/konserve.compressor.js +502 -0
  209. package/konserve.compressor.js.map +1 -0
  210. package/konserve.core.js +8052 -0
  211. package/konserve.core.js.map +1 -0
  212. package/konserve.encryptor.js +553 -0
  213. package/konserve.encryptor.js.map +1 -0
  214. package/konserve.gc.js +541 -0
  215. package/konserve.gc.js.map +1 -0
  216. package/konserve.impl.defaults.js +8290 -0
  217. package/konserve.impl.defaults.js.map +1 -0
  218. package/konserve.impl.storage_layout.js +849 -0
  219. package/konserve.impl.storage_layout.js.map +1 -0
  220. package/konserve.memory.js +2102 -0
  221. package/konserve.memory.js.map +1 -0
  222. package/konserve.node_filestore.js +2951 -0
  223. package/konserve.node_filestore.js.map +1 -0
  224. package/konserve.protocols.js +590 -0
  225. package/konserve.protocols.js.map +1 -0
  226. package/konserve.serializers.js +562 -0
  227. package/konserve.serializers.js.map +1 -0
  228. package/konserve.store.js +2245 -0
  229. package/konserve.store.js.map +1 -0
  230. package/konserve.tiered.js +9574 -0
  231. package/konserve.tiered.js.map +1 -0
  232. package/konserve.utils.js +180 -0
  233. package/konserve.utils.js.map +1 -0
  234. package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
  235. package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
  236. package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
  237. package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
  238. package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
  239. package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
  240. package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
  241. package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
  242. package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
  243. package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
  244. package/me.tonsky.persistent_sorted_set.js +890 -0
  245. package/me.tonsky.persistent_sorted_set.js.map +1 -0
  246. package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
  247. package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
  248. package/me.tonsky.persistent_sorted_set.util.js +402 -0
  249. package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
  250. package/medley.core.js +1857 -0
  251. package/medley.core.js.map +1 -0
  252. package/package.json +38 -0
  253. package/spec_tools.core.js +1925 -0
  254. package/spec_tools.core.js.map +1 -0
  255. package/spec_tools.data_spec.js +1291 -0
  256. package/spec_tools.data_spec.js.map +1 -0
  257. package/spec_tools.form.js +185 -0
  258. package/spec_tools.form.js.map +1 -0
  259. package/spec_tools.impl.js +362 -0
  260. package/spec_tools.impl.js.map +1 -0
  261. package/spec_tools.parse.js +427 -0
  262. package/spec_tools.parse.js.map +1 -0
  263. package/spec_tools.transform.js +288 -0
  264. package/spec_tools.transform.js.map +1 -0
  265. package/superv.async.js +8617 -0
  266. package/superv.async.js.map +1 -0
  267. package/tailrecursion.priority_map.js +994 -0
  268. package/tailrecursion.priority_map.js.map +1 -0
  269. package/taoensso.encore.js +12385 -0
  270. package/taoensso.encore.js.map +1 -0
  271. package/taoensso.timbre.appenders.core.js +239 -0
  272. package/taoensso.timbre.appenders.core.js.map +1 -0
  273. package/taoensso.timbre.js +1264 -0
  274. package/taoensso.timbre.js.map +1 -0
  275. package/taoensso.truss.impl.js +442 -0
  276. package/taoensso.truss.impl.js.map +1 -0
  277. package/taoensso.truss.js +743 -0
  278. package/taoensso.truss.js.map +1 -0
  279. package/test-config-keys.js +33 -0
  280. package/test-final.js +36 -0
  281. package/test-key-duplication.js +67 -0
  282. package/test.js +557 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["me/tonsky/persistent_sorted_set/leaf.cljs"],"mappings":"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","names":["cljs.core/PROTOCOL_SENTINEL","p__44277","map__44278","cljs.core/--destructure-map","cljs.core.get","p__44365","map__44376","p__44456","map__44458","p__44490","map__44492","p__44629","map__44630","p__44751","map__44752","p__44796","map__44797","p__44845","map__44846","this__5287__auto__","writer__5288__auto__","opt__5289__auto__","cljs.core/-write","me.tonsky.persistent-sorted-set.leaf/Leaf","me.tonsky.persistent-sorted-set.leaf/->Leaf","keys","settings","_","cljs.core/pr-str*","cljs.core/vec","arr__42079__auto__","next","me.tonsky.persistent-sorted-set.arrays/aconcat","ks","me.tonsky.persistent-sorted-set.util/merge-n-split","me.tonsky.persistent_sorted_set.util.return_array","this","storage","key","cmp","sync?","branching-factor","idx","me.tonsky.persistent-sorted-set.util/binary-search-l","keys-l","result","G__44295","G__44296","middle","me.tonsky.persistent-sorted-set.util/cut-n-splice","me.tonsky.persistent-sorted-set.util/splice","G__44301","G__44302","is.simm.partial-cps.async/*in-trampoline*","G__44348","*in-trampoline*-orig-val__44351","*in-trampoline*-temp-val__44352","result__42659__auto__","G__44357","is.simm.partial_cps.runtime/Thunk","fexpr__44358","t__42660__auto__","e44347","G__44390","G__44391","G__44401","*in-trampoline*-orig-val__44407","*in-trampoline*-temp-val__44408","G__44418","fexpr__44437","e44398","me.tonsky.persistent_sorted_set.leaf.goog$module$goog$array.binarySearch","G__44467","G__44468","G__44475","*in-trampoline*-orig-val__44476","*in-trampoline*-temp-val__44477","G__44478","fexpr__44480","e44473","G__44803","G__44805","G__44820","*in-trampoline*-orig-val__44833","*in-trampoline*-temp-val__44834","G__44836","fexpr__44841","e44817","left","right","root?","G__44532","G__44533","G__44595","*in-trampoline*-orig-val__44599","*in-trampoline*-temp-val__44600","G__44605","fexpr__44614","e44594","new-keys","me.tonsky.persistent-sorted-set.util/rotate","old-key","new-key","js/Error","G__44917","G__44918","G__44941","*in-trampoline*-orig-val__44953","*in-trampoline*-temp-val__44954","G__44960","fexpr__44972","e44936","me.tonsky.persistent-sorted-set.arrays/aclone","opts","G__44636","G__44637","v__42647__auto__","*in-trampoline*-orig-val__44665","*in-trampoline*-temp-val__44666","result__42648__auto__","fexpr__44671","t__42649__auto__","e44661","fexpr__44678","safe-r__42646__auto__","*in-trampoline*-orig-val__44680","*in-trampoline*-temp-val__44681","*in-trampoline*-orig-val__44708","*in-trampoline*-temp-val__44709","fexpr__44716","e44706","fexpr__44726","fexpr__44736","e44644","me.tonsky.persistent-sorted-set.impl.storage/store","on-address","G__44760","G__44761","G__44766","*in-trampoline*-orig-val__44770","*in-trampoline*-temp-val__44771","G__44775","fexpr__44779","e44763"],"sourcesContent":["(ns me.tonsky.persistent-sorted-set.leaf\n (:require-macros [me.tonsky.persistent-sorted-set.macros :refer [async+sync]])\n (:require [is.simm.partial-cps.async :refer [await] :refer-macros [async]]\n [goog.array :as garr]\n [me.tonsky.persistent-sorted-set.arrays :as arrays]\n [me.tonsky.persistent-sorted-set.impl.node :as node :refer [INode]]\n [me.tonsky.persistent-sorted-set.impl.storage :as storage]\n [me.tonsky.persistent-sorted-set.util :as util]))\n\n(deftype Leaf [keys settings]\n Object\n (toString [_] (pr-str* (vec keys)))\n INode\n (len [_] (arrays/alength keys))\n (level [_] 0)\n (max-key [_] (arrays/alast keys))\n (merge [_ next] (Leaf. (arrays/aconcat keys (.-keys next)) settings))\n (merge-split [_ next]\n (let [ks (util/merge-n-split keys (.-keys next))]\n (util/return-array (Leaf. (arrays/aget ks 0) settings)\n (Leaf. (arrays/aget ks 1) settings))))\n ($add [this storage key cmp {:keys [sync?] :or {sync? true}}]\n (let [branching-factor (:branching-factor settings)\n idx (util/binary-search-l cmp keys (dec (arrays/alength keys)) key)\n keys-l (arrays/alength keys)\n result (cond\n (and (< idx keys-l) (== 0 (cmp key (arrays/aget keys idx))))\n nil\n\n (== keys-l branching-factor)\n (let [middle (arrays/half (inc keys-l))]\n (if (> idx middle)\n (arrays/array\n (Leaf. (.slice keys 0 middle) settings)\n (Leaf. (util/cut-n-splice keys middle keys-l idx idx (arrays/array key)) settings))\n (arrays/array\n (Leaf. (util/cut-n-splice keys 0 middle idx idx (arrays/array key)) settings)\n (Leaf. (.slice keys middle keys-l) settings))))\n\n :else\n (arrays/array (Leaf. (util/splice keys idx idx (arrays/array key)) settings)))]\n (if sync?\n result\n (async result))))\n ($contains? [this storage key cmp {:keys [sync?] :or {sync? true}}]\n (async+sync sync?\n (async (<= 0 ^number (garr/binarySearch keys key cmp)))))\n ($count [this storage {:keys [sync?] :or {sync? true}}]\n (if sync?\n (alength keys)\n (async (alength keys))))\n ($lookup [this storage key cmp {:keys [sync?] :or {sync? true}}]\n (async+sync sync?\n (async\n (let [idx (garr/binarySearch keys key cmp)]\n (when (<= 0 idx)\n (arrays/aget keys idx))))))\n ($remove [this storage key left right cmp {:keys [sync?] :or {sync? true}}]\n (let [root? (and (nil? left) (nil? right))\n idx (garr/binarySearch keys key cmp)]\n (async+sync sync?\n (async\n (when (<= 0 idx)\n (let [new-keys (util/splice keys idx (inc idx) (arrays/array))]\n (util/rotate (Leaf. new-keys settings) root? left right settings)))))))\n ($replace [this storage old-key new-key cmp {:keys [sync?] :or {sync? true}}]\n (assert (== 0 (cmp old-key new-key)) \"old-key and new-key must compare as equal (cmp must return 0)\")\n (async+sync sync?\n (async\n (let [idx (garr/binarySearch keys old-key cmp)]\n (when (<= 0 idx)\n ;; Always create new leaf (no transient support at node level for now)\n (let [new-keys (arrays/aclone keys)]\n (aset new-keys idx new-key)\n (arrays/array (Leaf. new-keys settings))))))))\n ($store [this storage {:keys [sync?] :or {sync? true} :as opts}]\n (async+sync sync?\n (async\n (await (storage/store storage this opts)))))\n ($walk-addresses [this storage on-address {:keys [sync?] :or {sync? true}}]\n (when-not sync? (async))))"],"x_google_ignoreList":[0]}
@@ -0,0 +1,402 @@
1
+ var $CLJS = require("./cljs_env");
2
+ var $jscomp = $CLJS.$jscomp;
3
+ var COMPILED = false;
4
+ require("./cljs.core.js");
5
+ require("./me.tonsky.persistent_sorted_set.arrays.js");
6
+ require("./me.tonsky.persistent_sorted_set.impl.node.js");
7
+ var environ=$CLJS.environ || ($CLJS.environ = {});
8
+ var fress=$CLJS.fress || ($CLJS.fress = {});
9
+ var datahike=$CLJS.datahike || ($CLJS.datahike = {});
10
+ var clojure=$CLJS.clojure || ($CLJS.clojure = {});
11
+ var hasch=$CLJS.hasch || ($CLJS.hasch = {});
12
+ var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
13
+ var superv=$CLJS.superv || ($CLJS.superv = {});
14
+ var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
15
+ var is=$CLJS.is || ($CLJS.is = {});
16
+ var cljs=$CLJS.cljs || ($CLJS.cljs = {});
17
+ var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
18
+ var goog=$CLJS.goog || ($CLJS.goog = {});
19
+ var konserve=$CLJS.konserve || ($CLJS.konserve = {});
20
+ var datalog=$CLJS.datalog || ($CLJS.datalog = {});
21
+ var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
22
+ var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
23
+ var incognito=$CLJS.incognito || ($CLJS.incognito = {});
24
+ var medley=$CLJS.medley || ($CLJS.medley = {});
25
+ var me=$CLJS.me || ($CLJS.me = {});
26
+
27
+ $CLJS.SHADOW_ENV.setLoaded("me.tonsky.persistent_sorted_set.util.js");
28
+
29
+ goog.provide('me.tonsky.persistent_sorted_set.util');
30
+ me.tonsky.persistent_sorted_set.util.binary_search_l = (function me$tonsky$persistent_sorted_set$util$binary_search_l(cmp,arr,r,k){
31
+ var l = (0);
32
+ var r__$1 = cljs.core.long$(r);
33
+ while(true){
34
+ if((l <= r__$1)){
35
+ var m = ((l + r__$1) >>> (1));
36
+ var mk = (arr[m]);
37
+ if(((cmp.cljs$core$IFn$_invoke$arity$2 ? cmp.cljs$core$IFn$_invoke$arity$2(mk,k) : cmp.call(null, mk,k)) < (0))){
38
+ var G__44012 = (m + (1));
39
+ var G__44013 = r__$1;
40
+ l = G__44012;
41
+ r__$1 = G__44013;
42
+ continue;
43
+ } else {
44
+ var G__44014 = l;
45
+ var G__44015 = (m - (1));
46
+ l = G__44014;
47
+ r__$1 = G__44015;
48
+ continue;
49
+ }
50
+ } else {
51
+ return l;
52
+ }
53
+ break;
54
+ }
55
+ });
56
+ me.tonsky.persistent_sorted_set.util.binary_search_r = (function me$tonsky$persistent_sorted_set$util$binary_search_r(cmp,arr,r,k){
57
+ var l = (0);
58
+ var r__$1 = cljs.core.long$(r);
59
+ while(true){
60
+ if((l <= r__$1)){
61
+ var m = ((l + r__$1) >>> (1));
62
+ var mk = (arr[m]);
63
+ if(((cmp.cljs$core$IFn$_invoke$arity$2 ? cmp.cljs$core$IFn$_invoke$arity$2(mk,k) : cmp.call(null, mk,k)) > (0))){
64
+ var G__44016 = l;
65
+ var G__44017 = (m - (1));
66
+ l = G__44016;
67
+ r__$1 = G__44017;
68
+ continue;
69
+ } else {
70
+ var G__44018 = (m + (1));
71
+ var G__44019 = r__$1;
72
+ l = G__44018;
73
+ r__$1 = G__44019;
74
+ continue;
75
+ }
76
+ } else {
77
+ return l;
78
+ }
79
+ break;
80
+ }
81
+ });
82
+ me.tonsky.persistent_sorted_set.util.cut_n_splice = (function me$tonsky$persistent_sorted_set$util$cut_n_splice(arr,cut_from,cut_to,splice_from,splice_to,xs){
83
+ var xs_l = xs.length;
84
+ var l1 = (splice_from - cut_from);
85
+ var l2 = (cut_to - splice_to);
86
+ var l1xs = (l1 + xs_l);
87
+ var new_arr = me.tonsky.persistent_sorted_set.arrays.make_array(((l1 + xs_l) + l2));
88
+ var l__41988__auto___44020 = (splice_from - cut_from);
89
+ var n__5593__auto___44021 = l__41988__auto___44020;
90
+ var i__41989__auto___44022 = (0);
91
+ while(true){
92
+ if((i__41989__auto___44022 < n__5593__auto___44021)){
93
+ (new_arr[(i__41989__auto___44022 + (0))] = (arr[(i__41989__auto___44022 + cut_from)]));
94
+
95
+ var G__44023 = (i__41989__auto___44022 + (1));
96
+ i__41989__auto___44022 = G__44023;
97
+ continue;
98
+ } else {
99
+ }
100
+ break;
101
+ }
102
+
103
+ var l__41988__auto___44024 = (xs_l - (0));
104
+ var n__5593__auto___44025 = l__41988__auto___44024;
105
+ var i__41989__auto___44026 = (0);
106
+ while(true){
107
+ if((i__41989__auto___44026 < n__5593__auto___44025)){
108
+ (new_arr[(i__41989__auto___44026 + l1)] = (xs[(i__41989__auto___44026 + (0))]));
109
+
110
+ var G__44027 = (i__41989__auto___44026 + (1));
111
+ i__41989__auto___44026 = G__44027;
112
+ continue;
113
+ } else {
114
+ }
115
+ break;
116
+ }
117
+
118
+ var l__41988__auto___44028 = (cut_to - splice_to);
119
+ var n__5593__auto___44029 = l__41988__auto___44028;
120
+ var i__41989__auto___44031 = (0);
121
+ while(true){
122
+ if((i__41989__auto___44031 < n__5593__auto___44029)){
123
+ (new_arr[(i__41989__auto___44031 + l1xs)] = (arr[(i__41989__auto___44031 + splice_to)]));
124
+
125
+ var G__44034 = (i__41989__auto___44031 + (1));
126
+ i__41989__auto___44031 = G__44034;
127
+ continue;
128
+ } else {
129
+ }
130
+ break;
131
+ }
132
+
133
+ return new_arr;
134
+ });
135
+ me.tonsky.persistent_sorted_set.util.splice = (function me$tonsky$persistent_sorted_set$util$splice(arr,splice_from,splice_to,xs){
136
+ return me.tonsky.persistent_sorted_set.util.cut_n_splice(arr,(0),arr.length,splice_from,splice_to,xs);
137
+ });
138
+ me.tonsky.persistent_sorted_set.util.eq_arr = (function me$tonsky$persistent_sorted_set$util$eq_arr(cmp,a1,a1_from,a1_to,a2,a2_from,a2_to){
139
+ var len = (a1_to - a1_from);
140
+ var and__5000__auto__ = (len === (a2_to - a2_from));
141
+ if(and__5000__auto__){
142
+ var i = (0);
143
+ while(true){
144
+ if((i === len)){
145
+ return true;
146
+ } else {
147
+ if((!(((0) === (function (){var G__43920 = (a1[(i + a1_from)]);
148
+ var G__43921 = (a2[(i + a2_from)]);
149
+ return (cmp.cljs$core$IFn$_invoke$arity$2 ? cmp.cljs$core$IFn$_invoke$arity$2(G__43920,G__43921) : cmp.call(null, G__43920,G__43921));
150
+ })())))){
151
+ return false;
152
+ } else {
153
+ var G__44039 = (i + (1));
154
+ i = G__44039;
155
+ continue;
156
+
157
+ }
158
+ }
159
+ break;
160
+ }
161
+ } else {
162
+ return and__5000__auto__;
163
+ }
164
+ });
165
+ me.tonsky.persistent_sorted_set.util.check_n_splice = (function me$tonsky$persistent_sorted_set$util$check_n_splice(cmp,arr,from,to,new_arr){
166
+ if(me.tonsky.persistent_sorted_set.util.eq_arr(cmp,arr,from,to,new_arr,(0),new_arr.length)){
167
+ return arr;
168
+ } else {
169
+ return me.tonsky.persistent_sorted_set.util.splice(arr,from,to,new_arr);
170
+ }
171
+ });
172
+ /**
173
+ * Drop non-nil references and return array of arguments
174
+ */
175
+ me.tonsky.persistent_sorted_set.util.return_array = (function me$tonsky$persistent_sorted_set$util$return_array(var_args){
176
+ var G__43954 = arguments.length;
177
+ switch (G__43954) {
178
+ case 1:
179
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
180
+
181
+ break;
182
+ case 2:
183
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
184
+
185
+ break;
186
+ case 3:
187
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
188
+
189
+ break;
190
+ default:
191
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
192
+
193
+ }
194
+ });
195
+
196
+ (me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$1 = (function (a1){
197
+ return [a1];
198
+ }));
199
+
200
+ (me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$2 = (function (a1,a2){
201
+ if(cljs.core.truth_(a1)){
202
+ if(cljs.core.truth_(a2)){
203
+ return [a1,a2];
204
+ } else {
205
+ return [a1];
206
+ }
207
+ } else {
208
+ return [a2];
209
+ }
210
+ }));
211
+
212
+ (me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$3 = (function (a1,a2,a3){
213
+ if(cljs.core.truth_(a1)){
214
+ if(cljs.core.truth_(a2)){
215
+ if(cljs.core.truth_(a3)){
216
+ return [a1,a2,a3];
217
+ } else {
218
+ return [a1,a2];
219
+ }
220
+ } else {
221
+ if(cljs.core.truth_(a3)){
222
+ return [a1,a3];
223
+ } else {
224
+ return [a1];
225
+ }
226
+ }
227
+ } else {
228
+ if(cljs.core.truth_(a2)){
229
+ if(cljs.core.truth_(a3)){
230
+ return [a2,a3];
231
+ } else {
232
+ return [a2];
233
+ }
234
+ } else {
235
+ return [a3];
236
+ }
237
+ }
238
+ }));
239
+
240
+ (me.tonsky.persistent_sorted_set.util.return_array.cljs$lang$maxFixedArity = 3);
241
+
242
+ me.tonsky.persistent_sorted_set.util.rotate = (function me$tonsky$persistent_sorted_set$util$rotate(node,root_QMARK_,left,right,settings){
243
+ var min_len = (new cljs.core.Keyword(null,"branching-factor","branching-factor",1903198601).cljs$core$IFn$_invoke$arity$2(settings,(32)) / (2));
244
+ if(cljs.core.truth_(root_QMARK_)){
245
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$1(node);
246
+ } else {
247
+ if((me.tonsky.persistent_sorted_set.impl.node.len(node) > min_len)){
248
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$3(left,node,right);
249
+ } else {
250
+ if(cljs.core.truth_((function (){var and__5000__auto__ = left;
251
+ if(cljs.core.truth_(and__5000__auto__)){
252
+ return (me.tonsky.persistent_sorted_set.impl.node.len(left) <= min_len);
253
+ } else {
254
+ return and__5000__auto__;
255
+ }
256
+ })())){
257
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$2(me.tonsky.persistent_sorted_set.impl.node.merge(left,node),right);
258
+ } else {
259
+ if(cljs.core.truth_((function (){var and__5000__auto__ = right;
260
+ if(cljs.core.truth_(and__5000__auto__)){
261
+ return (me.tonsky.persistent_sorted_set.impl.node.len(right) <= min_len);
262
+ } else {
263
+ return and__5000__auto__;
264
+ }
265
+ })())){
266
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$2(left,me.tonsky.persistent_sorted_set.impl.node.merge(node,right));
267
+ } else {
268
+ if(cljs.core.truth_((function (){var and__5000__auto__ = left;
269
+ if(cljs.core.truth_(and__5000__auto__)){
270
+ return (((right == null)) || ((me.tonsky.persistent_sorted_set.impl.node.len(left) < me.tonsky.persistent_sorted_set.impl.node.len(right))));
271
+ } else {
272
+ return and__5000__auto__;
273
+ }
274
+ })())){
275
+ var nodes = me.tonsky.persistent_sorted_set.impl.node.merge_split(left,node);
276
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$3((nodes[(0)]),(nodes[(1)]),right);
277
+ } else {
278
+ var nodes = me.tonsky.persistent_sorted_set.impl.node.merge_split(node,right);
279
+ return me.tonsky.persistent_sorted_set.util.return_array.cljs$core$IFn$_invoke$arity$3(left,(nodes[(0)]),(nodes[(1)]));
280
+
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ });
287
+ me.tonsky.persistent_sorted_set.util.lookup_exact = (function me$tonsky$persistent_sorted_set$util$lookup_exact(cmp,arr,key){
288
+ var arr_l = arr.length;
289
+ var idx = me.tonsky.persistent_sorted_set.util.binary_search_l(cmp,arr,(arr_l - (1)),key);
290
+ if((((idx < arr_l)) && (((0) === (function (){var G__43969 = (arr[idx]);
291
+ var G__43970 = key;
292
+ return (cmp.cljs$core$IFn$_invoke$arity$2 ? cmp.cljs$core$IFn$_invoke$arity$2(G__43969,G__43970) : cmp.call(null, G__43969,G__43970));
293
+ })())))){
294
+ return idx;
295
+ } else {
296
+ return (-1);
297
+ }
298
+ });
299
+ me.tonsky.persistent_sorted_set.util.merge_n_split = (function me$tonsky$persistent_sorted_set$util$merge_n_split(a1,a2){
300
+ var a1_l = a1.length;
301
+ var a2_l = a2.length;
302
+ var total_l = (a1_l + a2_l);
303
+ var r1_l = (total_l >>> (1));
304
+ var r2_l = (total_l - r1_l);
305
+ var r1 = me.tonsky.persistent_sorted_set.arrays.make_array(r1_l);
306
+ var r2 = me.tonsky.persistent_sorted_set.arrays.make_array(r2_l);
307
+ if((a1_l <= r1_l)){
308
+ var l__41988__auto___44055 = (a1_l - (0));
309
+ var n__5593__auto___44056 = l__41988__auto___44055;
310
+ var i__41989__auto___44057 = (0);
311
+ while(true){
312
+ if((i__41989__auto___44057 < n__5593__auto___44056)){
313
+ (r1[(i__41989__auto___44057 + (0))] = (a1[(i__41989__auto___44057 + (0))]));
314
+
315
+ var G__44058 = (i__41989__auto___44057 + (1));
316
+ i__41989__auto___44057 = G__44058;
317
+ continue;
318
+ } else {
319
+ }
320
+ break;
321
+ }
322
+
323
+ var l__41988__auto___44059 = ((r1_l - a1_l) - (0));
324
+ var n__5593__auto___44066 = l__41988__auto___44059;
325
+ var i__41989__auto___44067 = (0);
326
+ while(true){
327
+ if((i__41989__auto___44067 < n__5593__auto___44066)){
328
+ (r1[(i__41989__auto___44067 + a1_l)] = (a2[(i__41989__auto___44067 + (0))]));
329
+
330
+ var G__44068 = (i__41989__auto___44067 + (1));
331
+ i__41989__auto___44067 = G__44068;
332
+ continue;
333
+ } else {
334
+ }
335
+ break;
336
+ }
337
+
338
+ var l__41988__auto___44069 = (a2_l - (r1_l - a1_l));
339
+ var n__5593__auto___44070 = l__41988__auto___44069;
340
+ var i__41989__auto___44071 = (0);
341
+ while(true){
342
+ if((i__41989__auto___44071 < n__5593__auto___44070)){
343
+ (r2[(i__41989__auto___44071 + (0))] = (a2[(i__41989__auto___44071 + (r1_l - a1_l))]));
344
+
345
+ var G__44072 = (i__41989__auto___44071 + (1));
346
+ i__41989__auto___44071 = G__44072;
347
+ continue;
348
+ } else {
349
+ }
350
+ break;
351
+ }
352
+ } else {
353
+ var l__41988__auto___44073 = (r1_l - (0));
354
+ var n__5593__auto___44074 = l__41988__auto___44073;
355
+ var i__41989__auto___44075 = (0);
356
+ while(true){
357
+ if((i__41989__auto___44075 < n__5593__auto___44074)){
358
+ (r1[(i__41989__auto___44075 + (0))] = (a1[(i__41989__auto___44075 + (0))]));
359
+
360
+ var G__44076 = (i__41989__auto___44075 + (1));
361
+ i__41989__auto___44075 = G__44076;
362
+ continue;
363
+ } else {
364
+ }
365
+ break;
366
+ }
367
+
368
+ var l__41988__auto___44077 = (a1_l - r1_l);
369
+ var n__5593__auto___44078 = l__41988__auto___44077;
370
+ var i__41989__auto___44079 = (0);
371
+ while(true){
372
+ if((i__41989__auto___44079 < n__5593__auto___44078)){
373
+ (r2[(i__41989__auto___44079 + (0))] = (a1[(i__41989__auto___44079 + r1_l)]));
374
+
375
+ var G__44080 = (i__41989__auto___44079 + (1));
376
+ i__41989__auto___44079 = G__44080;
377
+ continue;
378
+ } else {
379
+ }
380
+ break;
381
+ }
382
+
383
+ var l__41988__auto___44084 = (a2_l - (0));
384
+ var n__5593__auto___44085 = l__41988__auto___44084;
385
+ var i__41989__auto___44086 = (0);
386
+ while(true){
387
+ if((i__41989__auto___44086 < n__5593__auto___44085)){
388
+ (r2[(i__41989__auto___44086 + (a1_l - r1_l))] = (a2[(i__41989__auto___44086 + (0))]));
389
+
390
+ var G__44092 = (i__41989__auto___44086 + (1));
391
+ i__41989__auto___44086 = G__44092;
392
+ continue;
393
+ } else {
394
+ }
395
+ break;
396
+ }
397
+ }
398
+
399
+ return [r1,r2];
400
+ });
401
+
402
+ //# sourceMappingURL=me.tonsky.persistent_sorted_set.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["me/tonsky/persistent_sorted_set/util.cljs"],"mappings":"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","names":["me.tonsky.persistent-sorted-set.util/binary-search-l","cmp","arr","r","k","l","cljs.core/long","m","mk","me.tonsky.persistent-sorted-set.util/binary-search-r","me.tonsky.persistent-sorted-set.util/cut-n-splice","cut-from","cut-to","splice-from","splice-to","xs","xs-l","l1","l2","l1xs","new-arr","me.tonsky.persistent-sorted-set.arrays/make-array","l__41988__auto__","n__5593__auto__","i__41989__auto__","me.tonsky.persistent-sorted-set.util/splice","me.tonsky.persistent-sorted-set.util/eq-arr","a1","a1-from","a1-to","a2","a2-from","a2-to","len","and__5000__auto__","i","G__43920","G__43921","me.tonsky.persistent-sorted-set.util/check-n-splice","from","to","var_args","G__43954","me.tonsky.persistent-sorted-set.util/return-array","js/Error","a3","me.tonsky.persistent-sorted-set.util/rotate","node","root?","left","right","settings","min-len","me.tonsky.persistent_sorted_set.util.return_array","me.tonsky.persistent-sorted-set.impl.node/len","me.tonsky.persistent-sorted-set.impl.node/merge","nodes","me.tonsky.persistent-sorted-set.impl.node/merge-split","me.tonsky.persistent-sorted-set.util/lookup-exact","key","arr-l","idx","G__43969","G__43970","me.tonsky.persistent-sorted-set.util/merge-n-split","a1-l","a2-l","total-l","r1-l","r2-l","r1","r2"],"sourcesContent":["(ns me.tonsky.persistent-sorted-set.util\n (:require [me.tonsky.persistent-sorted-set.arrays :as arrays]\n [me.tonsky.persistent-sorted-set.impl.node :as node]))\n\n(defn- binary-search-l [cmp arr r k]\n (loop [l 0\n r (long r)]\n (if (<= l r)\n (let [m (arrays/half (+ l r))\n mk (arrays/aget arr m)]\n (if (neg? (cmp mk k))\n (recur (inc m) r)\n (recur l (dec m))))\n l)))\n\n(defn- binary-search-r [cmp arr r k]\n (loop [l 0\n r (long r)]\n (if (<= l r)\n (let [m (arrays/half (+ l r))\n mk (arrays/aget arr m)]\n (if (pos? (cmp mk k))\n (recur l (dec m))\n (recur (inc m) r)))\n l)))\n\n(defn cut-n-splice\n [arr cut-from cut-to splice-from splice-to xs]\n (let [xs-l (arrays/alength xs)\n l1 (- splice-from cut-from)\n l2 (- cut-to splice-to)\n l1xs (+ l1 xs-l)\n new-arr (arrays/make-array (+ l1 xs-l l2))]\n (arrays/acopy arr cut-from splice-from new-arr 0)\n (arrays/acopy xs 0 xs-l new-arr l1)\n (arrays/acopy arr splice-to cut-to new-arr l1xs)\n new-arr))\n\n(defn splice [arr splice-from splice-to xs]\n (cut-n-splice arr 0 (arrays/alength arr) splice-from splice-to xs))\n\n(defn- ^boolean eq-arr [cmp a1 a1-from a1-to a2 a2-from a2-to]\n (let [len (- a1-to a1-from)]\n (and\n (== len (- a2-to a2-from))\n (loop [i 0]\n (cond\n (== i len)\n true\n\n (not (== 0 (cmp\n (arrays/aget a1 (+ i a1-from))\n (arrays/aget a2 (+ i a2-from)))))\n false\n\n :else\n (recur (inc i)))))))\n\n(defn check-n-splice [cmp arr from to new-arr]\n (if (eq-arr cmp arr from to new-arr 0 (arrays/alength new-arr))\n arr\n (splice arr from to new-arr)))\n\n(defn return-array\n \"Drop non-nil references and return array of arguments\"\n ([a1]\n (arrays/array a1))\n ([a1 a2]\n (if a1\n (if a2\n (arrays/array a1 a2)\n (arrays/array a1))\n (arrays/array a2)))\n ([a1 a2 a3]\n (if a1\n (if a2\n (if a3\n (arrays/array a1 a2 a3)\n (arrays/array a1 a2))\n (if a3\n (arrays/array a1 a3)\n (arrays/array a1)))\n (if a2\n (if a3\n (arrays/array a2 a3)\n (arrays/array a2))\n (arrays/array a3)))))\n\n(defn rotate [node root? left right settings]\n (let [min-len (/ (:branching-factor settings 32) 2)]\n (cond\n ;; root never merges\n root?\n (return-array node)\n\n ;; enough keys, nothing to merge\n (> (node/len node) min-len)\n (return-array left node right)\n\n ;; left and this can be merged to one\n (and left (<= (node/len left) min-len))\n (return-array (node/merge left node) right)\n\n ;; right and this can be merged to one\n (and right (<= (node/len right) min-len))\n (return-array left (node/merge node right))\n\n ;; left has fewer nodes, redestribute with it\n (and left (or (nil? right)\n (< (node/len left) (node/len right))))\n (let [nodes (node/merge-split left node)]\n (return-array (arrays/aget nodes 0) (arrays/aget nodes 1) right))\n\n ;; right has fewer nodes, redestribute with it\n :else\n (let [nodes (node/merge-split node right)]\n (return-array left (arrays/aget nodes 0) (arrays/aget nodes 1))))))\n\n(defn lookup-exact [cmp arr key]\n (let [arr-l (arrays/alength arr)\n idx (binary-search-l cmp arr (dec arr-l) key)]\n (if (and (< idx arr-l)\n (== 0 (cmp (arrays/aget arr idx) key)))\n idx\n -1)))\n\n(defn merge-n-split [a1 a2]\n (let [a1-l (arrays/alength a1)\n a2-l (arrays/alength a2)\n total-l (+ a1-l a2-l)\n r1-l (arrays/half total-l)\n r2-l (- total-l r1-l)\n r1 (arrays/make-array r1-l)\n r2 (arrays/make-array r2-l)]\n (if (<= a1-l r1-l)\n (do\n (arrays/acopy a1 0 a1-l r1 0)\n (arrays/acopy a2 0 (- r1-l a1-l) r1 a1-l)\n (arrays/acopy a2 (- r1-l a1-l) a2-l r2 0))\n (do\n (arrays/acopy a1 0 r1-l r1 0)\n (arrays/acopy a1 r1-l a1-l r2 0)\n (arrays/acopy a2 0 a2-l r2 (- a1-l r1-l))))\n (arrays/array r1 r2)))"],"x_google_ignoreList":[0]}