@tellahq/rescript 10.1.4-republish-2 → 10.1.4-republish-3

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 (616) hide show
  1. package/darwin/bsb_helper.exe +0 -0
  2. package/darwin/bsc.exe +0 -0
  3. package/darwin/ninja.exe +0 -0
  4. package/darwin/rescript.exe +0 -0
  5. package/darwinarm64/bsb_helper.exe +0 -0
  6. package/darwinarm64/bsc.exe +0 -0
  7. package/darwinarm64/ninja.exe +0 -0
  8. package/darwinarm64/rescript.exe +0 -0
  9. package/lib/ocaml/arg.cmi +0 -0
  10. package/lib/ocaml/arg.cmt +0 -0
  11. package/lib/ocaml/arg.cmti +0 -0
  12. package/lib/ocaml/arg.ml +359 -0
  13. package/lib/ocaml/arg.mli +185 -0
  14. package/lib/ocaml/array.cmi +0 -0
  15. package/lib/ocaml/array.cmt +0 -0
  16. package/lib/ocaml/array.cmti +0 -0
  17. package/lib/ocaml/array.ml +307 -0
  18. package/lib/ocaml/array.mli +275 -0
  19. package/lib/ocaml/arrayLabels.cmi +0 -0
  20. package/lib/ocaml/arrayLabels.cmt +0 -0
  21. package/lib/ocaml/arrayLabels.cmti +0 -0
  22. package/lib/ocaml/arrayLabels.ml +307 -0
  23. package/lib/ocaml/arrayLabels.mli +276 -0
  24. package/lib/ocaml/belt.cmi +0 -0
  25. package/lib/ocaml/belt.cmt +0 -0
  26. package/lib/ocaml/belt.ml +352 -0
  27. package/lib/ocaml/belt_Array.cmi +0 -0
  28. package/lib/ocaml/belt_Array.cmt +0 -0
  29. package/lib/ocaml/belt_Array.cmti +0 -0
  30. package/lib/ocaml/belt_Array.ml +525 -0
  31. package/lib/ocaml/belt_Array.mli +707 -0
  32. package/lib/ocaml/belt_Float.cmi +0 -0
  33. package/lib/ocaml/belt_Float.cmt +0 -0
  34. package/lib/ocaml/belt_Float.cmti +0 -0
  35. package/lib/ocaml/belt_Float.ml +50 -0
  36. package/lib/ocaml/belt_Float.mli +106 -0
  37. package/lib/ocaml/belt_HashMap.cmi +0 -0
  38. package/lib/ocaml/belt_HashMap.cmt +0 -0
  39. package/lib/ocaml/belt_HashMap.cmti +0 -0
  40. package/lib/ocaml/belt_HashMap.ml +226 -0
  41. package/lib/ocaml/belt_HashMap.mli +436 -0
  42. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  43. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  44. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  45. package/lib/ocaml/belt_HashMapInt.ml +206 -0
  46. package/lib/ocaml/belt_HashMapInt.mli +50 -0
  47. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  48. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  49. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  50. package/lib/ocaml/belt_HashMapString.ml +206 -0
  51. package/lib/ocaml/belt_HashMapString.mli +50 -0
  52. package/lib/ocaml/belt_HashSet.cmi +0 -0
  53. package/lib/ocaml/belt_HashSet.cmt +0 -0
  54. package/lib/ocaml/belt_HashSet.cmti +0 -0
  55. package/lib/ocaml/belt_HashSet.ml +196 -0
  56. package/lib/ocaml/belt_HashSet.mli +125 -0
  57. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  58. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  59. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  60. package/lib/ocaml/belt_HashSetInt.ml +155 -0
  61. package/lib/ocaml/belt_HashSetInt.mli +74 -0
  62. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  63. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  64. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  65. package/lib/ocaml/belt_HashSetString.ml +156 -0
  66. package/lib/ocaml/belt_HashSetString.mli +74 -0
  67. package/lib/ocaml/belt_Id.cmi +0 -0
  68. package/lib/ocaml/belt_Id.cmt +0 -0
  69. package/lib/ocaml/belt_Id.cmti +0 -0
  70. package/lib/ocaml/belt_Id.ml +133 -0
  71. package/lib/ocaml/belt_Id.mli +171 -0
  72. package/lib/ocaml/belt_Int.cmi +0 -0
  73. package/lib/ocaml/belt_Int.cmt +0 -0
  74. package/lib/ocaml/belt_Int.cmti +0 -0
  75. package/lib/ocaml/belt_Int.ml +50 -0
  76. package/lib/ocaml/belt_Int.mli +103 -0
  77. package/lib/ocaml/belt_List.cmi +0 -0
  78. package/lib/ocaml/belt_List.cmt +0 -0
  79. package/lib/ocaml/belt_List.cmti +0 -0
  80. package/lib/ocaml/belt_List.ml +803 -0
  81. package/lib/ocaml/belt_List.mli +844 -0
  82. package/lib/ocaml/belt_Map.cmi +0 -0
  83. package/lib/ocaml/belt_Map.cmt +0 -0
  84. package/lib/ocaml/belt_Map.cmti +0 -0
  85. package/lib/ocaml/belt_Map.ml +170 -0
  86. package/lib/ocaml/belt_Map.mli +496 -0
  87. package/lib/ocaml/belt_MapDict.cmi +0 -0
  88. package/lib/ocaml/belt_MapDict.cmt +0 -0
  89. package/lib/ocaml/belt_MapDict.cmti +0 -0
  90. package/lib/ocaml/belt_MapDict.ml +278 -0
  91. package/lib/ocaml/belt_MapDict.mli +268 -0
  92. package/lib/ocaml/belt_MapInt.cmi +0 -0
  93. package/lib/ocaml/belt_MapInt.cmt +0 -0
  94. package/lib/ocaml/belt_MapInt.cmti +0 -0
  95. package/lib/ocaml/belt_MapInt.ml +169 -0
  96. package/lib/ocaml/belt_MapInt.mli +187 -0
  97. package/lib/ocaml/belt_MapString.cmi +0 -0
  98. package/lib/ocaml/belt_MapString.cmt +0 -0
  99. package/lib/ocaml/belt_MapString.cmti +0 -0
  100. package/lib/ocaml/belt_MapString.ml +169 -0
  101. package/lib/ocaml/belt_MapString.mli +187 -0
  102. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  103. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  104. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  105. package/lib/ocaml/belt_MutableMap.ml +241 -0
  106. package/lib/ocaml/belt_MutableMap.mli +145 -0
  107. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  108. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  109. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  110. package/lib/ocaml/belt_MutableMapInt.ml +172 -0
  111. package/lib/ocaml/belt_MutableMapInt.mli +135 -0
  112. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  113. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  114. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  115. package/lib/ocaml/belt_MutableMapString.ml +172 -0
  116. package/lib/ocaml/belt_MutableMapString.mli +135 -0
  117. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  118. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  119. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  120. package/lib/ocaml/belt_MutableQueue.ml +222 -0
  121. package/lib/ocaml/belt_MutableQueue.mli +116 -0
  122. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  123. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  124. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  125. package/lib/ocaml/belt_MutableSet.ml +371 -0
  126. package/lib/ocaml/belt_MutableSet.mli +617 -0
  127. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  128. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  129. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  130. package/lib/ocaml/belt_MutableSetInt.ml +342 -0
  131. package/lib/ocaml/belt_MutableSetInt.mli +124 -0
  132. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  133. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  134. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  135. package/lib/ocaml/belt_MutableSetString.ml +342 -0
  136. package/lib/ocaml/belt_MutableSetString.mli +124 -0
  137. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  138. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  139. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  140. package/lib/ocaml/belt_MutableStack.ml +106 -0
  141. package/lib/ocaml/belt_MutableStack.mli +63 -0
  142. package/lib/ocaml/belt_Option.cmi +0 -0
  143. package/lib/ocaml/belt_Option.cmt +0 -0
  144. package/lib/ocaml/belt_Option.cmti +0 -0
  145. package/lib/ocaml/belt_Option.ml +93 -0
  146. package/lib/ocaml/belt_Option.mli +270 -0
  147. package/lib/ocaml/belt_Range.cmi +0 -0
  148. package/lib/ocaml/belt_Range.cmt +0 -0
  149. package/lib/ocaml/belt_Range.cmti +0 -0
  150. package/lib/ocaml/belt_Range.ml +76 -0
  151. package/lib/ocaml/belt_Range.mli +114 -0
  152. package/lib/ocaml/belt_Result.cmi +0 -0
  153. package/lib/ocaml/belt_Result.cmt +0 -0
  154. package/lib/ocaml/belt_Result.cmti +0 -0
  155. package/lib/ocaml/belt_Result.ml +75 -0
  156. package/lib/ocaml/belt_Result.mli +205 -0
  157. package/lib/ocaml/belt_Set.cmi +0 -0
  158. package/lib/ocaml/belt_Set.cmt +0 -0
  159. package/lib/ocaml/belt_Set.cmti +0 -0
  160. package/lib/ocaml/belt_Set.cppo.ml +205 -0
  161. package/lib/ocaml/belt_Set.cppo.mli +153 -0
  162. package/lib/ocaml/belt_Set.ml +164 -0
  163. package/lib/ocaml/belt_Set.mli +523 -0
  164. package/lib/ocaml/belt_SetDict.cmi +0 -0
  165. package/lib/ocaml/belt_SetDict.cmt +0 -0
  166. package/lib/ocaml/belt_SetDict.cmti +0 -0
  167. package/lib/ocaml/belt_SetDict.ml +237 -0
  168. package/lib/ocaml/belt_SetDict.mli +567 -0
  169. package/lib/ocaml/belt_SetInt.cmi +0 -0
  170. package/lib/ocaml/belt_SetInt.cmt +0 -0
  171. package/lib/ocaml/belt_SetInt.cmti +0 -0
  172. package/lib/ocaml/belt_SetInt.ml +201 -0
  173. package/lib/ocaml/belt_SetInt.mli +151 -0
  174. package/lib/ocaml/belt_SetString.cmi +0 -0
  175. package/lib/ocaml/belt_SetString.cmt +0 -0
  176. package/lib/ocaml/belt_SetString.cmti +0 -0
  177. package/lib/ocaml/belt_SetString.ml +201 -0
  178. package/lib/ocaml/belt_SetString.mli +151 -0
  179. package/lib/ocaml/belt_SortArray.cmi +0 -0
  180. package/lib/ocaml/belt_SortArray.cmt +0 -0
  181. package/lib/ocaml/belt_SortArray.cmti +0 -0
  182. package/lib/ocaml/belt_SortArray.ml +322 -0
  183. package/lib/ocaml/belt_SortArray.mli +146 -0
  184. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  185. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  186. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  187. package/lib/ocaml/belt_SortArrayInt.ml +263 -0
  188. package/lib/ocaml/belt_SortArrayInt.mli +93 -0
  189. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  190. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  191. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  192. package/lib/ocaml/belt_SortArrayString.ml +263 -0
  193. package/lib/ocaml/belt_SortArrayString.mli +93 -0
  194. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  195. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  196. package/lib/ocaml/belt_internalAVLset.ml +665 -0
  197. package/lib/ocaml/belt_internalAVLset.mli +124 -0
  198. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  199. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  200. package/lib/ocaml/belt_internalAVLtree.ml +762 -0
  201. package/lib/ocaml/belt_internalAVLtree.mli +215 -0
  202. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  203. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  204. package/lib/ocaml/belt_internalBuckets.ml +218 -0
  205. package/lib/ocaml/belt_internalBuckets.mli +57 -0
  206. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  207. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  208. package/lib/ocaml/belt_internalBucketsType.ml +59 -0
  209. package/lib/ocaml/belt_internalBucketsType.mli +46 -0
  210. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  211. package/lib/ocaml/belt_internalMapInt.ml +227 -0
  212. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  213. package/lib/ocaml/belt_internalMapString.ml +227 -0
  214. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  215. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  216. package/lib/ocaml/belt_internalSetBuckets.ml +157 -0
  217. package/lib/ocaml/belt_internalSetBuckets.mli +47 -0
  218. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  219. package/lib/ocaml/belt_internalSetInt.ml +129 -0
  220. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  221. package/lib/ocaml/belt_internalSetString.ml +129 -0
  222. package/lib/ocaml/belt_internals.cmti +0 -0
  223. package/lib/ocaml/belt_internals.mli +79 -0
  224. package/lib/ocaml/buffer.cmi +0 -0
  225. package/lib/ocaml/buffer.cmt +0 -0
  226. package/lib/ocaml/buffer.cmti +0 -0
  227. package/lib/ocaml/buffer.ml +250 -0
  228. package/lib/ocaml/buffer.mli +149 -0
  229. package/lib/ocaml/bytes.cmi +0 -0
  230. package/lib/ocaml/bytes.cmt +0 -0
  231. package/lib/ocaml/bytes.cmti +0 -0
  232. package/lib/ocaml/bytes.ml +431 -0
  233. package/lib/ocaml/bytes.mli +430 -0
  234. package/lib/ocaml/bytesLabels.cmi +0 -0
  235. package/lib/ocaml/bytesLabels.cmt +0 -0
  236. package/lib/ocaml/bytesLabels.cmti +0 -0
  237. package/lib/ocaml/bytesLabels.ml +428 -0
  238. package/lib/ocaml/bytesLabels.mli +276 -0
  239. package/lib/ocaml/callback.cmi +0 -0
  240. package/lib/ocaml/callback.cmt +0 -0
  241. package/lib/ocaml/callback.cmti +0 -0
  242. package/lib/ocaml/callback.ml +20 -0
  243. package/lib/ocaml/callback.mli +34 -0
  244. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  245. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  246. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  247. package/lib/ocaml/camlinternalLazy.ml +89 -0
  248. package/lib/ocaml/camlinternalLazy.mli +27 -0
  249. package/lib/ocaml/camlinternalMod.cmi +0 -0
  250. package/lib/ocaml/camlinternalMod.cmt +0 -0
  251. package/lib/ocaml/camlinternalMod.cmti +0 -0
  252. package/lib/ocaml/camlinternalMod.ml +21 -0
  253. package/lib/ocaml/camlinternalMod.mli +25 -0
  254. package/lib/ocaml/char.cmi +0 -0
  255. package/lib/ocaml/char.cmt +0 -0
  256. package/lib/ocaml/char.cmti +0 -0
  257. package/lib/ocaml/char.ml +76 -0
  258. package/lib/ocaml/char.mli +72 -0
  259. package/lib/ocaml/complex.cmi +0 -0
  260. package/lib/ocaml/complex.cmt +0 -0
  261. package/lib/ocaml/complex.cmti +0 -0
  262. package/lib/ocaml/complex.ml +87 -0
  263. package/lib/ocaml/complex.mli +86 -0
  264. package/lib/ocaml/digest.cmi +0 -0
  265. package/lib/ocaml/digest.cmt +0 -0
  266. package/lib/ocaml/digest.cmti +0 -0
  267. package/lib/ocaml/digest.ml +66 -0
  268. package/lib/ocaml/digest.mli +68 -0
  269. package/lib/ocaml/dom.cmi +0 -0
  270. package/lib/ocaml/dom.cmt +0 -0
  271. package/lib/ocaml/dom.ml +296 -0
  272. package/lib/ocaml/dom_storage.cmi +0 -0
  273. package/lib/ocaml/dom_storage.cmt +0 -0
  274. package/lib/ocaml/dom_storage.ml +22 -0
  275. package/lib/ocaml/dom_storage2.cmi +0 -0
  276. package/lib/ocaml/dom_storage2.cmt +0 -0
  277. package/lib/ocaml/dom_storage2.ml +11 -0
  278. package/lib/ocaml/filename.cmi +0 -0
  279. package/lib/ocaml/filename.cmt +0 -0
  280. package/lib/ocaml/filename.cmti +0 -0
  281. package/lib/ocaml/filename.ml +233 -0
  282. package/lib/ocaml/filename.mli +134 -0
  283. package/lib/ocaml/genlex.cmi +0 -0
  284. package/lib/ocaml/genlex.cmt +0 -0
  285. package/lib/ocaml/genlex.cmti +0 -0
  286. package/lib/ocaml/genlex.ml +201 -0
  287. package/lib/ocaml/genlex.mli +73 -0
  288. package/lib/ocaml/hashmap.cppo.ml +214 -0
  289. package/lib/ocaml/hashmap.cppo.mli +54 -0
  290. package/lib/ocaml/hashset.cppo.ml +165 -0
  291. package/lib/ocaml/hashset.cppo.mli +77 -0
  292. package/lib/ocaml/hashtbl.cmi +0 -0
  293. package/lib/ocaml/hashtbl.cmt +0 -0
  294. package/lib/ocaml/hashtbl.cmti +0 -0
  295. package/lib/ocaml/hashtbl.ml +541 -0
  296. package/lib/ocaml/hashtbl.mli +411 -0
  297. package/lib/ocaml/hashtblLabels.cmi +0 -0
  298. package/lib/ocaml/hashtblLabels.cmt +0 -0
  299. package/lib/ocaml/hashtblLabels.ml +130 -0
  300. package/lib/ocaml/int32.cmi +0 -0
  301. package/lib/ocaml/int32.cmt +0 -0
  302. package/lib/ocaml/int32.cmti +0 -0
  303. package/lib/ocaml/int32.ml +64 -0
  304. package/lib/ocaml/int32.mli +186 -0
  305. package/lib/ocaml/int64.cmi +0 -0
  306. package/lib/ocaml/int64.cmt +0 -0
  307. package/lib/ocaml/int64.cmti +0 -0
  308. package/lib/ocaml/int64.ml +72 -0
  309. package/lib/ocaml/int64.mli +197 -0
  310. package/lib/ocaml/internal_map.cppo.ml +230 -0
  311. package/lib/ocaml/internal_set.cppo.ml +134 -0
  312. package/lib/ocaml/js.cmi +0 -0
  313. package/lib/ocaml/js.cmt +0 -0
  314. package/lib/ocaml/js.ml +316 -0
  315. package/lib/ocaml/js_OO.cmi +0 -0
  316. package/lib/ocaml/js_OO.cmt +0 -0
  317. package/lib/ocaml/js_OO.ml +180 -0
  318. package/lib/ocaml/js_array.cmi +0 -0
  319. package/lib/ocaml/js_array.cmt +0 -0
  320. package/lib/ocaml/js_array.ml +970 -0
  321. package/lib/ocaml/js_array2.cmi +0 -0
  322. package/lib/ocaml/js_array2.cmt +0 -0
  323. package/lib/ocaml/js_array2.ml +1065 -0
  324. package/lib/ocaml/js_bigint.cmi +0 -0
  325. package/lib/ocaml/js_bigint.cmt +0 -0
  326. package/lib/ocaml/js_bigint.ml +3 -0
  327. package/lib/ocaml/js_cast.cmi +0 -0
  328. package/lib/ocaml/js_cast.cmt +0 -0
  329. package/lib/ocaml/js_cast.cmti +0 -0
  330. package/lib/ocaml/js_cast.ml +29 -0
  331. package/lib/ocaml/js_cast.mli +45 -0
  332. package/lib/ocaml/js_console.cmi +0 -0
  333. package/lib/ocaml/js_console.cmt +0 -0
  334. package/lib/ocaml/js_console.ml +51 -0
  335. package/lib/ocaml/js_date.cmi +0 -0
  336. package/lib/ocaml/js_date.cmt +0 -0
  337. package/lib/ocaml/js_date.ml +1263 -0
  338. package/lib/ocaml/js_dict.cmi +0 -0
  339. package/lib/ocaml/js_dict.cmt +0 -0
  340. package/lib/ocaml/js_dict.cmti +0 -0
  341. package/lib/ocaml/js_dict.ml +114 -0
  342. package/lib/ocaml/js_dict.mli +152 -0
  343. package/lib/ocaml/js_exn.cmi +0 -0
  344. package/lib/ocaml/js_exn.cmt +0 -0
  345. package/lib/ocaml/js_exn.cmti +0 -0
  346. package/lib/ocaml/js_exn.ml +102 -0
  347. package/lib/ocaml/js_exn.mli +79 -0
  348. package/lib/ocaml/js_float.cmi +0 -0
  349. package/lib/ocaml/js_float.cmt +0 -0
  350. package/lib/ocaml/js_float.ml +294 -0
  351. package/lib/ocaml/js_global.cmi +0 -0
  352. package/lib/ocaml/js_global.cmt +0 -0
  353. package/lib/ocaml/js_global.ml +185 -0
  354. package/lib/ocaml/js_int.cmi +0 -0
  355. package/lib/ocaml/js_int.cmt +0 -0
  356. package/lib/ocaml/js_int.ml +158 -0
  357. package/lib/ocaml/js_json.cmi +0 -0
  358. package/lib/ocaml/js_json.cmt +0 -0
  359. package/lib/ocaml/js_json.cmti +0 -0
  360. package/lib/ocaml/js_json.ml +195 -0
  361. package/lib/ocaml/js_json.mli +244 -0
  362. package/lib/ocaml/js_list.cmi +0 -0
  363. package/lib/ocaml/js_list.cmt +0 -0
  364. package/lib/ocaml/js_list.cmti +0 -0
  365. package/lib/ocaml/js_list.ml +174 -0
  366. package/lib/ocaml/js_list.mli +72 -0
  367. package/lib/ocaml/js_map.cmi +0 -0
  368. package/lib/ocaml/js_map.cmt +0 -0
  369. package/lib/ocaml/js_map.ml +3 -0
  370. package/lib/ocaml/js_mapperRt.cmi +0 -0
  371. package/lib/ocaml/js_mapperRt.cmt +0 -0
  372. package/lib/ocaml/js_mapperRt.cmti +0 -0
  373. package/lib/ocaml/js_mapperRt.ml +50 -0
  374. package/lib/ocaml/js_mapperRt.mli +44 -0
  375. package/lib/ocaml/js_math.cmi +0 -0
  376. package/lib/ocaml/js_math.cmt +0 -0
  377. package/lib/ocaml/js_math.ml +626 -0
  378. package/lib/ocaml/js_null.cmi +0 -0
  379. package/lib/ocaml/js_null.cmt +0 -0
  380. package/lib/ocaml/js_null.cmti +0 -0
  381. package/lib/ocaml/js_null.ml +57 -0
  382. package/lib/ocaml/js_null.mli +87 -0
  383. package/lib/ocaml/js_null_undefined.cmi +0 -0
  384. package/lib/ocaml/js_null_undefined.cmt +0 -0
  385. package/lib/ocaml/js_null_undefined.cmti +0 -0
  386. package/lib/ocaml/js_null_undefined.ml +50 -0
  387. package/lib/ocaml/js_null_undefined.mli +85 -0
  388. package/lib/ocaml/js_obj.cmi +0 -0
  389. package/lib/ocaml/js_obj.cmt +0 -0
  390. package/lib/ocaml/js_obj.ml +100 -0
  391. package/lib/ocaml/js_option.cmi +0 -0
  392. package/lib/ocaml/js_option.cmt +0 -0
  393. package/lib/ocaml/js_option.cmti +0 -0
  394. package/lib/ocaml/js_option.ml +203 -0
  395. package/lib/ocaml/js_option.mli +52 -0
  396. package/lib/ocaml/js_promise.cmi +0 -0
  397. package/lib/ocaml/js_promise.cmt +0 -0
  398. package/lib/ocaml/js_promise.ml +100 -0
  399. package/lib/ocaml/js_promise2.cmi +0 -0
  400. package/lib/ocaml/js_promise2.cmt +0 -0
  401. package/lib/ocaml/js_promise2.res +58 -0
  402. package/lib/ocaml/js_re.cmi +0 -0
  403. package/lib/ocaml/js_re.cmt +0 -0
  404. package/lib/ocaml/js_re.ml +184 -0
  405. package/lib/ocaml/js_result.cmi +0 -0
  406. package/lib/ocaml/js_result.cmt +0 -0
  407. package/lib/ocaml/js_result.cmti +0 -0
  408. package/lib/ocaml/js_result.ml +28 -0
  409. package/lib/ocaml/js_result.mli +28 -0
  410. package/lib/ocaml/js_set.cmi +0 -0
  411. package/lib/ocaml/js_set.cmt +0 -0
  412. package/lib/ocaml/js_set.ml +3 -0
  413. package/lib/ocaml/js_string.cmi +0 -0
  414. package/lib/ocaml/js_string.cmt +0 -0
  415. package/lib/ocaml/js_string.ml +914 -0
  416. package/lib/ocaml/js_string2.cmi +0 -0
  417. package/lib/ocaml/js_string2.cmt +0 -0
  418. package/lib/ocaml/js_string2.ml +912 -0
  419. package/lib/ocaml/js_typed_array.cmi +0 -0
  420. package/lib/ocaml/js_typed_array.cmt +0 -0
  421. package/lib/ocaml/js_typed_array.cppo.ml +429 -0
  422. package/lib/ocaml/js_typed_array.ml +1405 -0
  423. package/lib/ocaml/js_typed_array2.cmi +0 -0
  424. package/lib/ocaml/js_typed_array2.cmt +0 -0
  425. package/lib/ocaml/js_typed_array2.cppo.ml +296 -0
  426. package/lib/ocaml/js_typed_array2.ml +1269 -0
  427. package/lib/ocaml/js_types.cmi +0 -0
  428. package/lib/ocaml/js_types.cmt +0 -0
  429. package/lib/ocaml/js_types.cmti +0 -0
  430. package/lib/ocaml/js_types.ml +118 -0
  431. package/lib/ocaml/js_types.mli +78 -0
  432. package/lib/ocaml/js_undefined.cmi +0 -0
  433. package/lib/ocaml/js_undefined.cmt +0 -0
  434. package/lib/ocaml/js_undefined.cmti +0 -0
  435. package/lib/ocaml/js_undefined.ml +59 -0
  436. package/lib/ocaml/js_undefined.mli +92 -0
  437. package/lib/ocaml/js_vector.cmi +0 -0
  438. package/lib/ocaml/js_vector.cmt +0 -0
  439. package/lib/ocaml/js_vector.cmti +0 -0
  440. package/lib/ocaml/js_vector.ml +143 -0
  441. package/lib/ocaml/js_vector.mli +92 -0
  442. package/lib/ocaml/js_weakmap.cmi +0 -0
  443. package/lib/ocaml/js_weakmap.cmt +0 -0
  444. package/lib/ocaml/js_weakmap.ml +3 -0
  445. package/lib/ocaml/js_weakset.cmi +0 -0
  446. package/lib/ocaml/js_weakset.cmt +0 -0
  447. package/lib/ocaml/js_weakset.ml +3 -0
  448. package/lib/ocaml/jsx.cmi +0 -0
  449. package/lib/ocaml/jsx.cmt +0 -0
  450. package/lib/ocaml/jsx.res +40 -0
  451. package/lib/ocaml/jsxDOM.cmi +0 -0
  452. package/lib/ocaml/jsxDOM.cmt +0 -0
  453. package/lib/ocaml/jsxDOM.res +620 -0
  454. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  455. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  456. package/lib/ocaml/jsxDOMStyle.ml +781 -0
  457. package/lib/ocaml/jsxEvent.cmi +0 -0
  458. package/lib/ocaml/jsxEvent.cmt +0 -0
  459. package/lib/ocaml/jsxEvent.ml +358 -0
  460. package/lib/ocaml/jsxPPXReactSupport.cmi +0 -0
  461. package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
  462. package/lib/ocaml/jsxPPXReactSupport.res +48 -0
  463. package/lib/ocaml/lazy.cmi +0 -0
  464. package/lib/ocaml/lazy.cmt +0 -0
  465. package/lib/ocaml/lazy.cmti +0 -0
  466. package/lib/ocaml/lazy.ml +70 -0
  467. package/lib/ocaml/lazy.mli +95 -0
  468. package/lib/ocaml/lexing.cmi +0 -0
  469. package/lib/ocaml/lexing.cmt +0 -0
  470. package/lib/ocaml/lexing.cmti +0 -0
  471. package/lib/ocaml/lexing.ml +230 -0
  472. package/lib/ocaml/lexing.mli +172 -0
  473. package/lib/ocaml/list.cmi +0 -0
  474. package/lib/ocaml/list.cmt +0 -0
  475. package/lib/ocaml/list.cmti +0 -0
  476. package/lib/ocaml/list.ml +485 -0
  477. package/lib/ocaml/list.mli +347 -0
  478. package/lib/ocaml/listLabels.cmi +0 -0
  479. package/lib/ocaml/listLabels.cmt +0 -0
  480. package/lib/ocaml/listLabels.cmti +0 -0
  481. package/lib/ocaml/listLabels.ml +485 -0
  482. package/lib/ocaml/listLabels.mli +353 -0
  483. package/lib/ocaml/map.cmi +0 -0
  484. package/lib/ocaml/map.cmt +0 -0
  485. package/lib/ocaml/map.cmti +0 -0
  486. package/lib/ocaml/map.cppo.ml +174 -0
  487. package/lib/ocaml/map.cppo.mli +191 -0
  488. package/lib/ocaml/map.ml +480 -0
  489. package/lib/ocaml/map.mli +315 -0
  490. package/lib/ocaml/mapLabels.cmi +0 -0
  491. package/lib/ocaml/mapLabels.cmt +0 -0
  492. package/lib/ocaml/mapLabels.ml +480 -0
  493. package/lib/ocaml/mapm.cppo.ml +177 -0
  494. package/lib/ocaml/mapm.cppo.mli +138 -0
  495. package/lib/ocaml/moreLabels.cmi +0 -0
  496. package/lib/ocaml/moreLabels.cmt +0 -0
  497. package/lib/ocaml/moreLabels.cmti +0 -0
  498. package/lib/ocaml/moreLabels.ml +22 -0
  499. package/lib/ocaml/moreLabels.mli +198 -0
  500. package/lib/ocaml/node.cmi +0 -0
  501. package/lib/ocaml/node.cmt +0 -0
  502. package/lib/ocaml/node.ml +84 -0
  503. package/lib/ocaml/node_buffer.cmi +0 -0
  504. package/lib/ocaml/node_buffer.cmt +0 -0
  505. package/lib/ocaml/node_buffer.ml +47 -0
  506. package/lib/ocaml/node_child_process.cmi +0 -0
  507. package/lib/ocaml/node_child_process.cmt +0 -0
  508. package/lib/ocaml/node_child_process.ml +50 -0
  509. package/lib/ocaml/node_fs.cmi +0 -0
  510. package/lib/ocaml/node_fs.cmt +0 -0
  511. package/lib/ocaml/node_fs.ml +153 -0
  512. package/lib/ocaml/node_module.cmi +0 -0
  513. package/lib/ocaml/node_module.cmt +0 -0
  514. package/lib/ocaml/node_module.ml +29 -0
  515. package/lib/ocaml/node_path.cmi +0 -0
  516. package/lib/ocaml/node_path.cmt +0 -0
  517. package/lib/ocaml/node_path.ml +71 -0
  518. package/lib/ocaml/node_process.cmi +0 -0
  519. package/lib/ocaml/node_process.cmt +0 -0
  520. package/lib/ocaml/node_process.cmti +0 -0
  521. package/lib/ocaml/node_process.ml +59 -0
  522. package/lib/ocaml/node_process.mli +48 -0
  523. package/lib/ocaml/obj.cmi +0 -0
  524. package/lib/ocaml/obj.cmt +0 -0
  525. package/lib/ocaml/obj.cmti +0 -0
  526. package/lib/ocaml/obj.ml +29 -0
  527. package/lib/ocaml/obj.mli +62 -0
  528. package/lib/ocaml/parsing.cmi +0 -0
  529. package/lib/ocaml/parsing.cmt +0 -0
  530. package/lib/ocaml/parsing.cmti +0 -0
  531. package/lib/ocaml/parsing.ml +212 -0
  532. package/lib/ocaml/parsing.mli +105 -0
  533. package/lib/ocaml/pervasives.cmi +0 -0
  534. package/lib/ocaml/pervasives.cmt +0 -0
  535. package/lib/ocaml/pervasives.cmti +0 -0
  536. package/lib/ocaml/pervasives.ml +297 -0
  537. package/lib/ocaml/pervasives.mli +771 -0
  538. package/lib/ocaml/printexc.cmi +0 -0
  539. package/lib/ocaml/printexc.cmt +0 -0
  540. package/lib/ocaml/printexc.cmti +0 -0
  541. package/lib/ocaml/printexc.ml +75 -0
  542. package/lib/ocaml/printexc.mli +57 -0
  543. package/lib/ocaml/queue.cmi +0 -0
  544. package/lib/ocaml/queue.cmt +0 -0
  545. package/lib/ocaml/queue.cmti +0 -0
  546. package/lib/ocaml/queue.ml +132 -0
  547. package/lib/ocaml/queue.mli +82 -0
  548. package/lib/ocaml/random.cmi +0 -0
  549. package/lib/ocaml/random.cmt +0 -0
  550. package/lib/ocaml/random.cmti +0 -0
  551. package/lib/ocaml/random.ml +273 -0
  552. package/lib/ocaml/random.mli +102 -0
  553. package/lib/ocaml/set.cmi +0 -0
  554. package/lib/ocaml/set.cmt +0 -0
  555. package/lib/ocaml/set.cmti +0 -0
  556. package/lib/ocaml/set.ml +526 -0
  557. package/lib/ocaml/set.mli +266 -0
  558. package/lib/ocaml/setLabels.cmi +0 -0
  559. package/lib/ocaml/setLabels.cmt +0 -0
  560. package/lib/ocaml/setLabels.ml +526 -0
  561. package/lib/ocaml/setm.cppo.ml +346 -0
  562. package/lib/ocaml/setm.cppo.mli +126 -0
  563. package/lib/ocaml/sort.cmi +0 -0
  564. package/lib/ocaml/sort.cmt +0 -0
  565. package/lib/ocaml/sort.cmti +0 -0
  566. package/lib/ocaml/sort.cppo.ml +267 -0
  567. package/lib/ocaml/sort.cppo.mli +96 -0
  568. package/lib/ocaml/sort.ml +99 -0
  569. package/lib/ocaml/sort.mli +44 -0
  570. package/lib/ocaml/stack.cmi +0 -0
  571. package/lib/ocaml/stack.cmt +0 -0
  572. package/lib/ocaml/stack.cmti +0 -0
  573. package/lib/ocaml/stack.ml +44 -0
  574. package/lib/ocaml/stack.mli +63 -0
  575. package/lib/ocaml/stdLabels.cmi +0 -0
  576. package/lib/ocaml/stdLabels.cmt +0 -0
  577. package/lib/ocaml/stdLabels.cmti +0 -0
  578. package/lib/ocaml/stdLabels.ml +24 -0
  579. package/lib/ocaml/stdLabels.mli +29 -0
  580. package/lib/ocaml/stream.cmi +0 -0
  581. package/lib/ocaml/stream.cmt +0 -0
  582. package/lib/ocaml/stream.cmti +0 -0
  583. package/lib/ocaml/stream.ml +213 -0
  584. package/lib/ocaml/stream.mli +108 -0
  585. package/lib/ocaml/string.cmi +0 -0
  586. package/lib/ocaml/string.cmt +0 -0
  587. package/lib/ocaml/string.cmti +0 -0
  588. package/lib/ocaml/string.ml +190 -0
  589. package/lib/ocaml/string.mli +286 -0
  590. package/lib/ocaml/stringLabels.cmi +0 -0
  591. package/lib/ocaml/stringLabels.cmt +0 -0
  592. package/lib/ocaml/stringLabels.cmti +0 -0
  593. package/lib/ocaml/stringLabels.ml +190 -0
  594. package/lib/ocaml/stringLabels.mli +241 -0
  595. package/lib/ocaml/sys.cmi +0 -0
  596. package/lib/ocaml/sys.cmt +0 -0
  597. package/lib/ocaml/sys.cmti +0 -0
  598. package/lib/ocaml/sys.ml +135 -0
  599. package/lib/ocaml/sys.mli +333 -0
  600. package/lib/ocaml/uchar.cmi +0 -0
  601. package/lib/ocaml/uchar.cmt +0 -0
  602. package/lib/ocaml/uchar.cmti +0 -0
  603. package/lib/ocaml/uchar.ml +58 -0
  604. package/lib/ocaml/uchar.mli +98 -0
  605. package/linux/bsb_helper.exe +0 -0
  606. package/linux/bsc.exe +0 -0
  607. package/linux/ninja.exe +0 -0
  608. package/linux/rescript.exe +0 -0
  609. package/ninja.COPYING +202 -0
  610. package/package.json +1 -1
  611. package/vendor/ninja.tar.gz +0 -0
  612. package/win32/bsb_helper.exe +0 -0
  613. package/win32/bsc.exe +0 -0
  614. package/win32/ninja.exe +0 -0
  615. package/win32/refmt.exe +0 -0
  616. package/win32/rescript.exe +0 -0
@@ -0,0 +1,263 @@
1
+ # 2 "others/sort.cppo.ml"
2
+ type element = int
3
+
4
+ # 9 "others/sort.cppo.ml"
5
+ module A = Belt_Array
6
+
7
+ let rec sortedLengthAuxMore (xs : element array) prec acc len =
8
+ if acc >= len then acc
9
+ else
10
+ let v = A.getUnsafe xs acc in
11
+ if prec > v then
12
+ sortedLengthAuxMore xs v (acc + 1) len
13
+ else acc
14
+
15
+ let rec sortedLengthAuxLess (xs : element array) prec acc len =
16
+ if acc >= len then acc
17
+ else
18
+ let v = A.getUnsafe xs acc in
19
+ if prec < v then
20
+ sortedLengthAuxLess xs v (acc + 1) len
21
+ else acc
22
+
23
+ let strictlySortedLength (xs : element array) =
24
+ let len = A.length xs in
25
+ match len with
26
+ | 0 | 1 -> len
27
+ | _ ->
28
+ let x0, x1 = A.getUnsafe xs 0, A.getUnsafe xs 1 in
29
+ (* let c = cmp x0 x1 [@bs] in *)
30
+ if x0 < x1 then
31
+ sortedLengthAuxLess xs x1 2 len
32
+ else if x0 > x1 then
33
+ - (sortedLengthAuxMore xs x1 2 len)
34
+ else 1
35
+
36
+ let rec isSortedAux (a : element array) i last_bound =
37
+ (* when `i = len - 1`, it reaches the last element*)
38
+ if i = last_bound then true
39
+ else
40
+ if A.getUnsafe a i <= A.getUnsafe a (i+1) then
41
+ isSortedAux a (i + 1) last_bound
42
+ else false
43
+
44
+
45
+ let isSorted a =
46
+ let len = A.length a in
47
+ if len = 0 then true
48
+ else isSortedAux a 0 (len - 1)
49
+
50
+
51
+ let cutoff = 5
52
+
53
+ let merge (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
54
+ let src1r = src1ofs + src1len and src2r = src2ofs + src2len in
55
+ let rec loop i1 s1 i2 s2 d =
56
+ if s1 <= s2 then begin
57
+ A.setUnsafe dst d s1;
58
+ let i1 = i1 + 1 in
59
+ if i1 < src1r then
60
+ loop i1 (A.getUnsafe src i1) i2 s2 (d + 1)
61
+ else
62
+ A.blitUnsafe ~src:src2 ~srcOffset:i2 ~dst ~dstOffset:(d + 1) ~len:(src2r - i2)
63
+ end else begin
64
+ A.setUnsafe dst d s2;
65
+ let i2 = i2 + 1 in
66
+ if i2 < src2r then
67
+ loop i1 s1 i2 (A.getUnsafe src2 i2) (d + 1)
68
+ else
69
+ A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:(d + 1) ~len:(src1r - i1)
70
+ end
71
+ in
72
+ loop src1ofs (A.getUnsafe src src1ofs) src2ofs (A.getUnsafe src2 src2ofs) dstofs
73
+
74
+
75
+
76
+ let union (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
77
+ let src1r = src1ofs + src1len in
78
+ let src2r = src2ofs + src2len in
79
+ let rec loop i1 s1 i2 s2 d =
80
+ (* let c = cmp s1 s2 [@bs] in *)
81
+ if s1 < s2 then begin
82
+ (* `s1` is larger than all elements in `d` *)
83
+ A.setUnsafe dst d s1;
84
+ let i1 = i1 + 1 in
85
+ let d = d + 1 in
86
+ if i1 < src1r then
87
+ loop i1 (A.getUnsafe src i1) i2 s2 d
88
+ else
89
+ begin
90
+ A.blitUnsafe ~src:src2 ~srcOffset:i2 ~dst ~dstOffset:d ~len:(src2r - i2);
91
+ d + src2r - i2
92
+ end
93
+ end
94
+ else if s1 = s2 then begin
95
+ A.setUnsafe dst d s1;
96
+ let i1 = i1 + 1 in
97
+ let i2 = i2 + 1 in
98
+ let d = d + 1 in
99
+ if i1 < src1r && i2 < src2r then
100
+ loop i1 (A.getUnsafe src i1) i2 (A.getUnsafe src2 i2) d
101
+ else if i1 = src1r then
102
+ (A.blitUnsafe ~src:src2 ~srcOffset:i2 ~dst ~dstOffset:d ~len:(src2r - i2);
103
+ d + src2r - i2)
104
+ else
105
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
106
+ d + src1r - i1)
107
+ end
108
+ else begin
109
+ A.setUnsafe dst d s2;
110
+ let i2 = i2 + 1 in
111
+ let d = d + 1 in
112
+ if i2 < src2r then
113
+ loop i1 s1 i2 (A.getUnsafe src2 i2) d
114
+ else
115
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
116
+ d + src1r - i1
117
+ )
118
+ end
119
+ in
120
+ loop src1ofs
121
+ (A.getUnsafe src src1ofs)
122
+ src2ofs
123
+ (A.getUnsafe src2 src2ofs) dstofs
124
+
125
+ let intersect (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
126
+ let src1r = src1ofs + src1len in
127
+ let src2r = src2ofs + src2len in
128
+ let rec loop i1 s1 i2 s2 d =
129
+ (* let c = cmp s1 s2 [@bs] in *)
130
+ if s1 < s2 then begin
131
+ (* A.setUnsafe dst d s1; *)
132
+ let i1 = i1 + 1 in
133
+ if i1 < src1r then
134
+ loop i1 (A.getUnsafe src i1) i2 s2 d
135
+ else
136
+ d
137
+ end
138
+ else if s1 = s2 then begin
139
+ A.setUnsafe dst d s1;
140
+ let i1 = i1 + 1 in
141
+ let i2 = i2 + 1 in
142
+ let d = d + 1 in
143
+ if i1 < src1r && i2 < src2r then
144
+ loop i1 (A.getUnsafe src i1) i2 (A.getUnsafe src2 i2) d
145
+ else d
146
+ end
147
+ else begin
148
+ (* A.setUnsafe dst d s2; *)
149
+ let i2 = i2 + 1 in
150
+ if i2 < src2r then
151
+ loop i1 s1 i2 (A.getUnsafe src2 i2) d
152
+ else
153
+ d
154
+ end
155
+ in
156
+ loop src1ofs
157
+ (A.getUnsafe src src1ofs)
158
+ src2ofs
159
+ (A.getUnsafe src2 src2ofs) dstofs
160
+
161
+ let diff (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
162
+ let src1r = src1ofs + src1len in
163
+ let src2r = src2ofs + src2len in
164
+ let rec loop i1 s1 i2 s2 d =
165
+ (* let c = cmp s1 s2 [@bs] in *)
166
+ if s1 < s2 then begin
167
+ A.setUnsafe dst d s1;
168
+ let d = d + 1 in
169
+ let i1 = i1 + 1 in
170
+ if i1 < src1r then
171
+ loop i1 (A.getUnsafe src i1) i2 s2 d
172
+ else
173
+ d
174
+ end
175
+ else if s1 = s2 then begin
176
+ let i1 = i1 + 1 in
177
+ let i2 = i2 + 1 in
178
+ if i1 < src1r && i2 < src2r then
179
+ loop i1 (A.getUnsafe src i1) i2 (A.getUnsafe src2 i2) d
180
+ else if i1 = src1r then
181
+ d
182
+ else
183
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
184
+ d + src1r - i1)
185
+ end
186
+ else begin
187
+ let i2 = i2 + 1 in
188
+ if i2 < src2r then
189
+ loop i1 s1 i2 (A.getUnsafe src2 i2) d
190
+ else
191
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
192
+ d + src1r - i1)
193
+ end
194
+ in
195
+ loop src1ofs
196
+ (A.getUnsafe src src1ofs)
197
+ src2ofs
198
+ (A.getUnsafe src2 src2ofs) dstofs
199
+
200
+ let insertionSort (src : element array) srcofs dst dstofs len =
201
+ for i = 0 to len - 1 do
202
+ let e = (A.getUnsafe src (srcofs + i)) in
203
+ let j = ref (dstofs + i - 1) in
204
+ while j.contents >= dstofs && A.getUnsafe dst j.contents > e do
205
+ A.setUnsafe dst (j.contents + 1) (A.getUnsafe dst j.contents);
206
+ j.contents <- j.contents - 1;
207
+ done;
208
+ A.setUnsafe dst (j.contents + 1) e;
209
+ done
210
+
211
+ let rec sortTo (src : element array) srcofs dst dstofs len =
212
+ if len <= cutoff then insertionSort src srcofs dst dstofs len
213
+ else begin
214
+ let l1 = len / 2 in
215
+ let l2 = len - l1 in
216
+ sortTo src (srcofs + l1) dst (dstofs + l1) l2 ;
217
+ sortTo src srcofs src (srcofs + l2) l1 ;
218
+ merge src (srcofs + l2) l1 dst (dstofs + l1) l2 dst dstofs ;
219
+ end
220
+
221
+ let stableSortInPlace (a : element array) =
222
+ let l = A.length a in
223
+ if l <= cutoff then insertionSort a 0 a 0 l
224
+ else begin
225
+ let l1 = l / 2 in
226
+ let l2 = l - l1 in
227
+ let t = Belt_Array.makeUninitializedUnsafe l2 in
228
+ sortTo a l1 t 0 l2 ;
229
+ sortTo a 0 a l2 l1 ;
230
+ merge a l2 l1 t 0 l2 a 0 ;
231
+ end
232
+
233
+ let stableSort a = let b = A.copy a in stableSortInPlace b; b
234
+
235
+ let rec binarySearchAux (arr : element array) lo hi key =
236
+
237
+ let mid = (lo + hi)/2 in
238
+ let midVal = A.getUnsafe arr mid in
239
+ (* let c = cmp key midVal [@bs] in *)
240
+ if key = midVal then mid
241
+ else if key < midVal then (* a[lo] =< key < a[mid] <= a[hi] *)
242
+ if hi = mid then
243
+ if (A.getUnsafe arr lo) = key then lo
244
+ else - (hi + 1)
245
+ else binarySearchAux arr lo mid key
246
+ else (* a[lo] =< a[mid] < key <= a[hi] *)
247
+ if lo = mid then
248
+ if (A.getUnsafe arr hi) = key then hi
249
+ else - (hi + 1)
250
+ else binarySearchAux arr mid hi key
251
+
252
+ let binarySearch (sorted : element array) key : int =
253
+ let len = A.length sorted in
254
+ if len = 0 then -1
255
+ else
256
+ let lo = A.getUnsafe sorted 0 in
257
+ (* let c = cmp key lo [@bs] in *)
258
+ if key < lo then -1
259
+ else
260
+ let hi = A.getUnsafe sorted (len - 1) in
261
+ (* let c2 = cmp key hi [@bs]in *)
262
+ if key > hi then - (len + 1)
263
+ else binarySearchAux sorted 0 (len - 1) key
@@ -0,0 +1,93 @@
1
+
2
+ # 2 "others/sort.cppo.mli"
3
+ (* Copyright (C) 2017 Authors of ReScript
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU Lesser General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * In addition to the permissions granted to you by the LGPL, you may combine
11
+ * or link a "work that uses the Library" with a publicly distributed version
12
+ * of this file to produce a combined library or application, then distribute
13
+ * that combined work under the terms of your choosing, with no requirement
14
+ * to comply with the obligations normally placed on you by section 4 of the
15
+ * LGPL version 3 (or the corresponding section of a later version of the LGPL
16
+ * should you choose to use a later version).
17
+ *
18
+ * This program is distributed in the hope that it will be useful,
19
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ * GNU Lesser General Public License for more details.
22
+ *
23
+ * You should have received a copy of the GNU Lesser General Public License
24
+ * along with this program; if not, write to the Free Software
25
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
26
+
27
+
28
+ (** This is a specialized module for [`Belt_SortArray`](), the docs in that module also
29
+ applies here, except the comparator is fixed and inlined
30
+ *)
31
+
32
+ # 32 "others/sort.cppo.mli"
33
+ type element = int
34
+
35
+ # 39 "others/sort.cppo.mli"
36
+ val strictlySortedLength: element array -> int
37
+ (**
38
+ The same as [`Belt_SortArray.strictlySortedLength`]() except the comparator is fixed
39
+
40
+ **return** `+n` means increasing order `-n` means negative order
41
+ *)
42
+
43
+
44
+ val isSorted: element array -> bool
45
+ (** `sorted xs` return true if `xs` is in non strict increasing order *)
46
+
47
+ val stableSortInPlace: element array -> unit
48
+ (**
49
+ The same as [`Belt_SortArray.stableSortInPlaceBy`]() except the comparator is fixed
50
+ *)
51
+
52
+ val stableSort: element array -> element array
53
+ (** The same as [`Belt_SortArray.stableSortBy`]() except the comparator is fixed *)
54
+
55
+ val binarySearch: element array -> element -> int
56
+ (**
57
+ If value is not found and value is less than one or more elements in array,
58
+ the negative number returned is the bitwise complement of the index of the first element
59
+ that is larger than value.
60
+
61
+ If value is not found and value is greater than all elements in array,
62
+ the negative number returned is the bitwise complement of
63
+ (the index of the last element plus 1)
64
+
65
+ for example, if `key` is smaller than all elements return `-1` since `lnot (-1) = 0`
66
+ if `key` is larger than all elements return `- (len + 1)` since `lnot (-(len+1)) = len`
67
+ *)
68
+
69
+ (**/**)
70
+ val union:
71
+ element array -> int -> int ->
72
+ element array -> int -> int ->
73
+ element array -> int
74
+ -> int
75
+ (**
76
+ `union src src1ofs src1len src2 src2ofs src2len dst dstofs cmp`
77
+ assume `src` and `src2` is strictly sorted.
78
+ for equivalent elements, it is picked from `src`
79
+ also assume that `dst` is large enough to store all elements
80
+ *)
81
+
82
+ val intersect:
83
+ element array -> int -> int ->
84
+ element array -> int -> int ->
85
+ element array -> int
86
+ -> int
87
+
88
+ val diff:
89
+ element array -> int -> int ->
90
+ element array -> int -> int ->
91
+ element array -> int
92
+ -> int
93
+ (**/**)
@@ -0,0 +1,263 @@
1
+ # 4 "others/sort.cppo.ml"
2
+ type element = string
3
+
4
+ # 9 "others/sort.cppo.ml"
5
+ module A = Belt_Array
6
+
7
+ let rec sortedLengthAuxMore (xs : element array) prec acc len =
8
+ if acc >= len then acc
9
+ else
10
+ let v = A.getUnsafe xs acc in
11
+ if prec > v then
12
+ sortedLengthAuxMore xs v (acc + 1) len
13
+ else acc
14
+
15
+ let rec sortedLengthAuxLess (xs : element array) prec acc len =
16
+ if acc >= len then acc
17
+ else
18
+ let v = A.getUnsafe xs acc in
19
+ if prec < v then
20
+ sortedLengthAuxLess xs v (acc + 1) len
21
+ else acc
22
+
23
+ let strictlySortedLength (xs : element array) =
24
+ let len = A.length xs in
25
+ match len with
26
+ | 0 | 1 -> len
27
+ | _ ->
28
+ let x0, x1 = A.getUnsafe xs 0, A.getUnsafe xs 1 in
29
+ (* let c = cmp x0 x1 [@bs] in *)
30
+ if x0 < x1 then
31
+ sortedLengthAuxLess xs x1 2 len
32
+ else if x0 > x1 then
33
+ - (sortedLengthAuxMore xs x1 2 len)
34
+ else 1
35
+
36
+ let rec isSortedAux (a : element array) i last_bound =
37
+ (* when `i = len - 1`, it reaches the last element*)
38
+ if i = last_bound then true
39
+ else
40
+ if A.getUnsafe a i <= A.getUnsafe a (i+1) then
41
+ isSortedAux a (i + 1) last_bound
42
+ else false
43
+
44
+
45
+ let isSorted a =
46
+ let len = A.length a in
47
+ if len = 0 then true
48
+ else isSortedAux a 0 (len - 1)
49
+
50
+
51
+ let cutoff = 5
52
+
53
+ let merge (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
54
+ let src1r = src1ofs + src1len and src2r = src2ofs + src2len in
55
+ let rec loop i1 s1 i2 s2 d =
56
+ if s1 <= s2 then begin
57
+ A.setUnsafe dst d s1;
58
+ let i1 = i1 + 1 in
59
+ if i1 < src1r then
60
+ loop i1 (A.getUnsafe src i1) i2 s2 (d + 1)
61
+ else
62
+ A.blitUnsafe ~src:src2 ~srcOffset:i2 ~dst ~dstOffset:(d + 1) ~len:(src2r - i2)
63
+ end else begin
64
+ A.setUnsafe dst d s2;
65
+ let i2 = i2 + 1 in
66
+ if i2 < src2r then
67
+ loop i1 s1 i2 (A.getUnsafe src2 i2) (d + 1)
68
+ else
69
+ A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:(d + 1) ~len:(src1r - i1)
70
+ end
71
+ in
72
+ loop src1ofs (A.getUnsafe src src1ofs) src2ofs (A.getUnsafe src2 src2ofs) dstofs
73
+
74
+
75
+
76
+ let union (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
77
+ let src1r = src1ofs + src1len in
78
+ let src2r = src2ofs + src2len in
79
+ let rec loop i1 s1 i2 s2 d =
80
+ (* let c = cmp s1 s2 [@bs] in *)
81
+ if s1 < s2 then begin
82
+ (* `s1` is larger than all elements in `d` *)
83
+ A.setUnsafe dst d s1;
84
+ let i1 = i1 + 1 in
85
+ let d = d + 1 in
86
+ if i1 < src1r then
87
+ loop i1 (A.getUnsafe src i1) i2 s2 d
88
+ else
89
+ begin
90
+ A.blitUnsafe ~src:src2 ~srcOffset:i2 ~dst ~dstOffset:d ~len:(src2r - i2);
91
+ d + src2r - i2
92
+ end
93
+ end
94
+ else if s1 = s2 then begin
95
+ A.setUnsafe dst d s1;
96
+ let i1 = i1 + 1 in
97
+ let i2 = i2 + 1 in
98
+ let d = d + 1 in
99
+ if i1 < src1r && i2 < src2r then
100
+ loop i1 (A.getUnsafe src i1) i2 (A.getUnsafe src2 i2) d
101
+ else if i1 = src1r then
102
+ (A.blitUnsafe ~src:src2 ~srcOffset:i2 ~dst ~dstOffset:d ~len:(src2r - i2);
103
+ d + src2r - i2)
104
+ else
105
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
106
+ d + src1r - i1)
107
+ end
108
+ else begin
109
+ A.setUnsafe dst d s2;
110
+ let i2 = i2 + 1 in
111
+ let d = d + 1 in
112
+ if i2 < src2r then
113
+ loop i1 s1 i2 (A.getUnsafe src2 i2) d
114
+ else
115
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
116
+ d + src1r - i1
117
+ )
118
+ end
119
+ in
120
+ loop src1ofs
121
+ (A.getUnsafe src src1ofs)
122
+ src2ofs
123
+ (A.getUnsafe src2 src2ofs) dstofs
124
+
125
+ let intersect (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
126
+ let src1r = src1ofs + src1len in
127
+ let src2r = src2ofs + src2len in
128
+ let rec loop i1 s1 i2 s2 d =
129
+ (* let c = cmp s1 s2 [@bs] in *)
130
+ if s1 < s2 then begin
131
+ (* A.setUnsafe dst d s1; *)
132
+ let i1 = i1 + 1 in
133
+ if i1 < src1r then
134
+ loop i1 (A.getUnsafe src i1) i2 s2 d
135
+ else
136
+ d
137
+ end
138
+ else if s1 = s2 then begin
139
+ A.setUnsafe dst d s1;
140
+ let i1 = i1 + 1 in
141
+ let i2 = i2 + 1 in
142
+ let d = d + 1 in
143
+ if i1 < src1r && i2 < src2r then
144
+ loop i1 (A.getUnsafe src i1) i2 (A.getUnsafe src2 i2) d
145
+ else d
146
+ end
147
+ else begin
148
+ (* A.setUnsafe dst d s2; *)
149
+ let i2 = i2 + 1 in
150
+ if i2 < src2r then
151
+ loop i1 s1 i2 (A.getUnsafe src2 i2) d
152
+ else
153
+ d
154
+ end
155
+ in
156
+ loop src1ofs
157
+ (A.getUnsafe src src1ofs)
158
+ src2ofs
159
+ (A.getUnsafe src2 src2ofs) dstofs
160
+
161
+ let diff (src : element array) src1ofs src1len src2 src2ofs src2len dst dstofs =
162
+ let src1r = src1ofs + src1len in
163
+ let src2r = src2ofs + src2len in
164
+ let rec loop i1 s1 i2 s2 d =
165
+ (* let c = cmp s1 s2 [@bs] in *)
166
+ if s1 < s2 then begin
167
+ A.setUnsafe dst d s1;
168
+ let d = d + 1 in
169
+ let i1 = i1 + 1 in
170
+ if i1 < src1r then
171
+ loop i1 (A.getUnsafe src i1) i2 s2 d
172
+ else
173
+ d
174
+ end
175
+ else if s1 = s2 then begin
176
+ let i1 = i1 + 1 in
177
+ let i2 = i2 + 1 in
178
+ if i1 < src1r && i2 < src2r then
179
+ loop i1 (A.getUnsafe src i1) i2 (A.getUnsafe src2 i2) d
180
+ else if i1 = src1r then
181
+ d
182
+ else
183
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
184
+ d + src1r - i1)
185
+ end
186
+ else begin
187
+ let i2 = i2 + 1 in
188
+ if i2 < src2r then
189
+ loop i1 s1 i2 (A.getUnsafe src2 i2) d
190
+ else
191
+ (A.blitUnsafe ~src ~srcOffset:i1 ~dst ~dstOffset:d ~len:(src1r - i1);
192
+ d + src1r - i1)
193
+ end
194
+ in
195
+ loop src1ofs
196
+ (A.getUnsafe src src1ofs)
197
+ src2ofs
198
+ (A.getUnsafe src2 src2ofs) dstofs
199
+
200
+ let insertionSort (src : element array) srcofs dst dstofs len =
201
+ for i = 0 to len - 1 do
202
+ let e = (A.getUnsafe src (srcofs + i)) in
203
+ let j = ref (dstofs + i - 1) in
204
+ while j.contents >= dstofs && A.getUnsafe dst j.contents > e do
205
+ A.setUnsafe dst (j.contents + 1) (A.getUnsafe dst j.contents);
206
+ j.contents <- j.contents - 1;
207
+ done;
208
+ A.setUnsafe dst (j.contents + 1) e;
209
+ done
210
+
211
+ let rec sortTo (src : element array) srcofs dst dstofs len =
212
+ if len <= cutoff then insertionSort src srcofs dst dstofs len
213
+ else begin
214
+ let l1 = len / 2 in
215
+ let l2 = len - l1 in
216
+ sortTo src (srcofs + l1) dst (dstofs + l1) l2 ;
217
+ sortTo src srcofs src (srcofs + l2) l1 ;
218
+ merge src (srcofs + l2) l1 dst (dstofs + l1) l2 dst dstofs ;
219
+ end
220
+
221
+ let stableSortInPlace (a : element array) =
222
+ let l = A.length a in
223
+ if l <= cutoff then insertionSort a 0 a 0 l
224
+ else begin
225
+ let l1 = l / 2 in
226
+ let l2 = l - l1 in
227
+ let t = Belt_Array.makeUninitializedUnsafe l2 in
228
+ sortTo a l1 t 0 l2 ;
229
+ sortTo a 0 a l2 l1 ;
230
+ merge a l2 l1 t 0 l2 a 0 ;
231
+ end
232
+
233
+ let stableSort a = let b = A.copy a in stableSortInPlace b; b
234
+
235
+ let rec binarySearchAux (arr : element array) lo hi key =
236
+
237
+ let mid = (lo + hi)/2 in
238
+ let midVal = A.getUnsafe arr mid in
239
+ (* let c = cmp key midVal [@bs] in *)
240
+ if key = midVal then mid
241
+ else if key < midVal then (* a[lo] =< key < a[mid] <= a[hi] *)
242
+ if hi = mid then
243
+ if (A.getUnsafe arr lo) = key then lo
244
+ else - (hi + 1)
245
+ else binarySearchAux arr lo mid key
246
+ else (* a[lo] =< a[mid] < key <= a[hi] *)
247
+ if lo = mid then
248
+ if (A.getUnsafe arr hi) = key then hi
249
+ else - (hi + 1)
250
+ else binarySearchAux arr mid hi key
251
+
252
+ let binarySearch (sorted : element array) key : int =
253
+ let len = A.length sorted in
254
+ if len = 0 then -1
255
+ else
256
+ let lo = A.getUnsafe sorted 0 in
257
+ (* let c = cmp key lo [@bs] in *)
258
+ if key < lo then -1
259
+ else
260
+ let hi = A.getUnsafe sorted (len - 1) in
261
+ (* let c2 = cmp key hi [@bs]in *)
262
+ if key > hi then - (len + 1)
263
+ else binarySearchAux sorted 0 (len - 1) key