Reikriam

src/cpu-kernels/identities.cpp

May 29th, 2020
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.70 KB | None | 0 0
  1. awkward_new_identities
  2. ----------------------------------------------------
  3.  
  4. for T in int:
  5.  
  6. def awkward_new_identities(toptr: List[T], length: int):
  7. for i in range(length):
  8. toptr[i] = i
  9. return
  10.  
  11.  
  12. awkward_new_identities32
  13. ----------------------------------------------------
  14.  
  15. def awkward_new_identities32(toptr: List[int], length: int):
  16. return awkward_new_identities(toptr, length)
  17.  
  18.  
  19. awkward_new_identities64
  20. ----------------------------------------------------
  21.  
  22. def awkward_new_identities64(toptr: List[int], length: int):
  23. return awkward_new_identities(toptr, length)
  24.  
  25.  
  26. awkward_identities32_to_identities64
  27. ----------------------------------------------------
  28.  
  29. def awkward_identities32_to_identities64(
  30. toptr: List[int], fromptr: List[int], length: int, width: int
  31. ):
  32. for i in range(length * width):
  33. toptr[i] = int(fromptr[i])
  34. return
  35.  
  36.  
  37. awkward_identities_from_listoffsetarray
  38. ----------------------------------------------------
  39.  
  40. for ID in int:
  41. for T in int:
  42.  
  43. def awkward_identities_from_listoffsetarray(
  44. toptr: List[ID],
  45. fromptr: List[ID],
  46. fromoffsets: List[T],
  47. fromptroffset: int,
  48. offsetsoffset: int,
  49. tolength: int,
  50. fromlength: int,
  51. fromwidth: int,
  52. ):
  53. globalstart = fromoffsets[offsetsoffset]
  54. globalstop = fromoffsets[offsetsoffset + fromlength]
  55. for k in range(globalstart * (fromwidth + 1)):
  56. toptr[k] = -1
  57. k = globalstop * (fromwidth + 1)
  58. while k < (tolength * (fromwidth + 1)):
  59. toptr[k] = -1
  60. k = k + 1
  61. for i in range(fromlength):
  62. start = fromoffsets[offsetsoffset + i]
  63. stop = fromoffsets[(offsetsoffset + i) + 1]
  64. if (start != stop) and (stop > tolength):
  65. raise ValueError("max(stop) > len(content)")
  66. j = start
  67. while j < stop:
  68. for k in range(fromwidth):
  69. toptr[(j * (fromwidth + 1)) + k] = fromptr[
  70. (fromptroffset + (i * fromwidth)) + k
  71. ]
  72. toptr[(j * (fromwidth + 1)) + fromwidth] = int(j - start)
  73. j = j + 1
  74. return
  75.  
  76.  
  77. awkward_identities32_from_listoffsetarray32
  78. ----------------------------------------------------
  79.  
  80. def awkward_identities32_from_listoffsetarray32(
  81. toptr: List[int],
  82. fromptr: List[int],
  83. fromoffsets: List[int],
  84. fromptroffset: int,
  85. offsetsoffset: int,
  86. tolength: int,
  87. fromlength: int,
  88. fromwidth: int,
  89. ):
  90. return awkward_identities_from_listoffsetarray(
  91. toptr,
  92. fromptr,
  93. fromoffsets,
  94. fromptroffset,
  95. offsetsoffset,
  96. tolength,
  97. fromlength,
  98. fromwidth,
  99. )
  100.  
  101.  
  102. awkward_identities32_from_listoffsetarrayU32
  103. ----------------------------------------------------
  104.  
  105. def awkward_identities32_from_listoffsetarrayU32(
  106. toptr: List[int],
  107. fromptr: List[int],
  108. fromoffsets: List[int],
  109. fromptroffset: int,
  110. offsetsoffset: int,
  111. tolength: int,
  112. fromlength: int,
  113. fromwidth: int,
  114. ):
  115. return awkward_identities_from_listoffsetarray(
  116. toptr,
  117. fromptr,
  118. fromoffsets,
  119. fromptroffset,
  120. offsetsoffset,
  121. tolength,
  122. fromlength,
  123. fromwidth,
  124. )
  125.  
  126.  
  127. awkward_identities32_from_listoffsetarray64
  128. ----------------------------------------------------
  129.  
  130. def awkward_identities32_from_listoffsetarray64(
  131. toptr: List[int],
  132. fromptr: List[int],
  133. fromoffsets: List[int],
  134. fromptroffset: int,
  135. offsetsoffset: int,
  136. tolength: int,
  137. fromlength: int,
  138. fromwidth: int,
  139. ):
  140. return awkward_identities_from_listoffsetarray(
  141. toptr,
  142. fromptr,
  143. fromoffsets,
  144. fromptroffset,
  145. offsetsoffset,
  146. tolength,
  147. fromlength,
  148. fromwidth,
  149. )
  150.  
  151.  
  152. awkward_identities64_from_listoffsetarray32
  153. ----------------------------------------------------
  154.  
  155. def awkward_identities64_from_listoffsetarray32(
  156. toptr: List[int],
  157. fromptr: List[int],
  158. fromoffsets: List[int],
  159. fromptroffset: int,
  160. offsetsoffset: int,
  161. tolength: int,
  162. fromlength: int,
  163. fromwidth: int,
  164. ):
  165. return awkward_identities_from_listoffsetarray(
  166. toptr,
  167. fromptr,
  168. fromoffsets,
  169. fromptroffset,
  170. offsetsoffset,
  171. tolength,
  172. fromlength,
  173. fromwidth,
  174. )
  175.  
  176.  
  177. awkward_identities64_from_listoffsetarrayU32
  178. ----------------------------------------------------
  179.  
  180. def awkward_identities64_from_listoffsetarrayU32(
  181. toptr: List[int],
  182. fromptr: List[int],
  183. fromoffsets: List[int],
  184. fromptroffset: int,
  185. offsetsoffset: int,
  186. tolength: int,
  187. fromlength: int,
  188. fromwidth: int,
  189. ):
  190. return awkward_identities_from_listoffsetarray(
  191. toptr,
  192. fromptr,
  193. fromoffsets,
  194. fromptroffset,
  195. offsetsoffset,
  196. tolength,
  197. fromlength,
  198. fromwidth,
  199. )
  200.  
  201.  
  202. awkward_identities64_from_listoffsetarray64
  203. ----------------------------------------------------
  204.  
  205. def awkward_identities64_from_listoffsetarray64(
  206. toptr: List[int],
  207. fromptr: List[int],
  208. fromoffsets: List[int],
  209. fromptroffset: int,
  210. offsetsoffset: int,
  211. tolength: int,
  212. fromlength: int,
  213. fromwidth: int,
  214. ):
  215. return awkward_identities_from_listoffsetarray(
  216. toptr,
  217. fromptr,
  218. fromoffsets,
  219. fromptroffset,
  220. offsetsoffset,
  221. tolength,
  222. fromlength,
  223. fromwidth,
  224. )
  225.  
  226.  
  227. awkward_identities_from_listarray
  228. ----------------------------------------------------
  229.  
  230. for ID in int:
  231. for T in int:
  232.  
  233. def awkward_identities_from_listarray(
  234. uniquecontents: List[bool],
  235. toptr: List[ID],
  236. fromptr: List[ID],
  237. fromstarts: List[T],
  238. fromstops: List[T],
  239. fromptroffset: int,
  240. startsoffset: int,
  241. stopsoffset: int,
  242. tolength: int,
  243. fromlength: int,
  244. fromwidth: int,
  245. ):
  246. for k in range(tolength * (fromwidth + 1)):
  247. toptr[k] = -1
  248. for i in range(fromlength):
  249. start = fromstarts[startsoffset + i]
  250. stop = fromstops[stopsoffset + i]
  251. if (start != stop) and (stop > tolength):
  252. raise ValueError("max(stop) > len(content)")
  253. j = start
  254. while j < stop:
  255. if toptr[(j * (fromwidth + 1)) + fromwidth] != -1:
  256. uniquecontents = false
  257. return
  258. for k in range(fromwidth):
  259. toptr[(j * (fromwidth + 1)) + k] = fromptr[
  260. (fromptroffset + (i * fromwidth)) + k
  261. ]
  262. toptr[(j * (fromwidth + 1)) + fromwidth] = int(j - start)
  263. j = j + 1
  264. uniquecontents = true
  265. return
  266.  
  267.  
  268. awkward_identities32_from_listarray32
  269. ----------------------------------------------------
  270.  
  271. def awkward_identities32_from_listarray32(
  272. uniquecontents: List[bool],
  273. toptr: List[int],
  274. fromptr: List[int],
  275. fromstarts: List[int],
  276. fromstops: List[int],
  277. fromptroffset: int,
  278. startsoffset: int,
  279. stopsoffset: int,
  280. tolength: int,
  281. fromlength: int,
  282. fromwidth: int,
  283. ):
  284. return awkward_identities_from_listarray(
  285. uniquecontents,
  286. toptr,
  287. fromptr,
  288. fromstarts,
  289. fromstops,
  290. fromptroffset,
  291. startsoffset,
  292. stopsoffset,
  293. tolength,
  294. fromlength,
  295. fromwidth,
  296. )
  297.  
  298.  
  299. awkward_identities32_from_listarrayU32
  300. ----------------------------------------------------
  301.  
  302. def awkward_identities32_from_listarrayU32(
  303. uniquecontents: List[bool],
  304. toptr: List[int],
  305. fromptr: List[int],
  306. fromstarts: List[int],
  307. fromstops: List[int],
  308. fromptroffset: int,
  309. startsoffset: int,
  310. stopsoffset: int,
  311. tolength: int,
  312. fromlength: int,
  313. fromwidth: int,
  314. ):
  315. return awkward_identities_from_listarray(
  316. uniquecontents,
  317. toptr,
  318. fromptr,
  319. fromstarts,
  320. fromstops,
  321. fromptroffset,
  322. startsoffset,
  323. stopsoffset,
  324. tolength,
  325. fromlength,
  326. fromwidth,
  327. )
  328.  
  329.  
  330. awkward_identities32_from_listarray64
  331. ----------------------------------------------------
  332.  
  333. def awkward_identities32_from_listarray64(
  334. uniquecontents: List[bool],
  335. toptr: List[int],
  336. fromptr: List[int],
  337. fromstarts: List[int],
  338. fromstops: List[int],
  339. fromptroffset: int,
  340. startsoffset: int,
  341. stopsoffset: int,
  342. tolength: int,
  343. fromlength: int,
  344. fromwidth: int,
  345. ):
  346. return awkward_identities_from_listarray(
  347. uniquecontents,
  348. toptr,
  349. fromptr,
  350. fromstarts,
  351. fromstops,
  352. fromptroffset,
  353. startsoffset,
  354. stopsoffset,
  355. tolength,
  356. fromlength,
  357. fromwidth,
  358. )
  359.  
  360.  
  361. awkward_identities64_from_listarray32
  362. ----------------------------------------------------
  363.  
  364. def awkward_identities64_from_listarray32(
  365. uniquecontents: List[bool],
  366. toptr: List[int],
  367. fromptr: List[int],
  368. fromstarts: List[int],
  369. fromstops: List[int],
  370. fromptroffset: int,
  371. startsoffset: int,
  372. stopsoffset: int,
  373. tolength: int,
  374. fromlength: int,
  375. fromwidth: int,
  376. ):
  377. return awkward_identities_from_listarray(
  378. uniquecontents,
  379. toptr,
  380. fromptr,
  381. fromstarts,
  382. fromstops,
  383. fromptroffset,
  384. startsoffset,
  385. stopsoffset,
  386. tolength,
  387. fromlength,
  388. fromwidth,
  389. )
  390.  
  391.  
  392. awkward_identities64_from_listarrayU32
  393. ----------------------------------------------------
  394.  
  395. def awkward_identities64_from_listarrayU32(
  396. uniquecontents: List[bool],
  397. toptr: List[int],
  398. fromptr: List[int],
  399. fromstarts: List[int],
  400. fromstops: List[int],
  401. fromptroffset: int,
  402. startsoffset: int,
  403. stopsoffset: int,
  404. tolength: int,
  405. fromlength: int,
  406. fromwidth: int,
  407. ):
  408. return awkward_identities_from_listarray(
  409. uniquecontents,
  410. toptr,
  411. fromptr,
  412. fromstarts,
  413. fromstops,
  414. fromptroffset,
  415. startsoffset,
  416. stopsoffset,
  417. tolength,
  418. fromlength,
  419. fromwidth,
  420. )
  421.  
  422.  
  423. awkward_identities64_from_listarray64
  424. ----------------------------------------------------
  425.  
  426. def awkward_identities64_from_listarray64(
  427. uniquecontents: List[bool],
  428. toptr: List[int],
  429. fromptr: List[int],
  430. fromstarts: List[int],
  431. fromstops: List[int],
  432. fromptroffset: int,
  433. startsoffset: int,
  434. stopsoffset: int,
  435. tolength: int,
  436. fromlength: int,
  437. fromwidth: int,
  438. ):
  439. return awkward_identities_from_listarray(
  440. uniquecontents,
  441. toptr,
  442. fromptr,
  443. fromstarts,
  444. fromstops,
  445. fromptroffset,
  446. startsoffset,
  447. stopsoffset,
  448. tolength,
  449. fromlength,
  450. fromwidth,
  451. )
  452.  
  453.  
  454. awkward_identities_from_regulararray
  455. ----------------------------------------------------
  456.  
  457. for ID in int:
  458.  
  459. def awkward_identities_from_regulararray(
  460. toptr: List[ID],
  461. fromptr: List[ID],
  462. fromptroffset: int,
  463. size: int,
  464. tolength: int,
  465. fromlength: int,
  466. fromwidth: int,
  467. ):
  468. for i in range(fromlength):
  469. for j in range(size):
  470. for k in range(fromwidth):
  471. toptr[(((i * size) + j) * (fromwidth + 1)) + k] = fromptr[
  472. (fromptroffset + (i * fromwidth)) + k
  473. ]
  474. toptr[(((i * size) + j) * (fromwidth + 1)) + fromwidth] = int(j)
  475. k = ((fromlength + 1) * size) * (fromwidth + 1)
  476. while k < (tolength * (fromwidth + 1)):
  477. toptr[k] = -1
  478. k = k + 1
  479. return
  480.  
  481.  
  482. awkward_identities32_from_regulararray
  483. ----------------------------------------------------
  484.  
  485. def awkward_identities32_from_regulararray(
  486. toptr: List[int],
  487. fromptr: List[int],
  488. fromptroffset: int,
  489. size: int,
  490. tolength: int,
  491. fromlength: int,
  492. fromwidth: int,
  493. ):
  494. return awkward_identities_from_regulararray(
  495. toptr, fromptr, fromptroffset, size, tolength, fromlength, fromwidth
  496. )
  497.  
  498.  
  499. awkward_identities64_from_regulararray
  500. ----------------------------------------------------
  501.  
  502. def awkward_identities64_from_regulararray(
  503. toptr: List[int],
  504. fromptr: List[int],
  505. fromptroffset: int,
  506. size: int,
  507. tolength: int,
  508. fromlength: int,
  509. fromwidth: int,
  510. ):
  511. return awkward_identities_from_regulararray(
  512. toptr, fromptr, fromptroffset, size, tolength, fromlength, fromwidth
  513. )
  514.  
  515.  
  516. awkward_identities_from_indexedarray
  517. ----------------------------------------------------
  518.  
  519. for ID in int:
  520. for T in int:
  521.  
  522. def awkward_identities_from_indexedarray(
  523. uniquecontents: List[bool],
  524. toptr: List[ID],
  525. fromptr: List[ID],
  526. fromindex: List[T],
  527. fromptroffset: int,
  528. indexoffset: int,
  529. tolength: int,
  530. fromlength: int,
  531. fromwidth: int,
  532. ):
  533. for k in range(tolength * fromwidth):
  534. toptr[k] = -1
  535. for i in range(fromlength):
  536. j = fromindex[indexoffset + i]
  537. if j >= tolength:
  538. raise ValueError("max(index) > len(content)")
  539. else:
  540. if j >= 0:
  541. if toptr[j * fromwidth] != -1:
  542. uniquecontents = false
  543. return
  544. for k in range(fromwidth):
  545. toptr[(j * fromwidth) + k] = fromptr[
  546. (fromptroffset + (i * fromwidth)) + k
  547. ]
  548. uniquecontents = true
  549. return
  550.  
  551.  
  552. awkward_identities32_from_indexedarray32
  553. ----------------------------------------------------
  554.  
  555. def awkward_identities32_from_indexedarray32(
  556. uniquecontents: List[bool],
  557. toptr: List[int],
  558. fromptr: List[int],
  559. fromindex: List[int],
  560. fromptroffset: int,
  561. indexoffset: int,
  562. tolength: int,
  563. fromlength: int,
  564. fromwidth: int,
  565. ):
  566. return awkward_identities_from_indexedarray(
  567. uniquecontents,
  568. toptr,
  569. fromptr,
  570. fromindex,
  571. fromptroffset,
  572. indexoffset,
  573. tolength,
  574. fromlength,
  575. fromwidth,
  576. )
  577.  
  578.  
  579. awkward_identities32_from_indexedarrayU32
  580. ----------------------------------------------------
  581.  
  582. def awkward_identities32_from_indexedarrayU32(
  583. uniquecontents: List[bool],
  584. toptr: List[int],
  585. fromptr: List[int],
  586. fromindex: List[int],
  587. fromptroffset: int,
  588. indexoffset: int,
  589. tolength: int,
  590. fromlength: int,
  591. fromwidth: int,
  592. ):
  593. return awkward_identities_from_indexedarray(
  594. uniquecontents,
  595. toptr,
  596. fromptr,
  597. fromindex,
  598. fromptroffset,
  599. indexoffset,
  600. tolength,
  601. fromlength,
  602. fromwidth,
  603. )
  604.  
  605.  
  606. awkward_identities32_from_indexedarray64
  607. ----------------------------------------------------
  608.  
  609. def awkward_identities32_from_indexedarray64(
  610. uniquecontents: List[bool],
  611. toptr: List[int],
  612. fromptr: List[int],
  613. fromindex: List[int],
  614. fromptroffset: int,
  615. indexoffset: int,
  616. tolength: int,
  617. fromlength: int,
  618. fromwidth: int,
  619. ):
  620. return awkward_identities_from_indexedarray(
  621. uniquecontents,
  622. toptr,
  623. fromptr,
  624. fromindex,
  625. fromptroffset,
  626. indexoffset,
  627. tolength,
  628. fromlength,
  629. fromwidth,
  630. )
  631.  
  632.  
  633. awkward_identities64_from_indexedarray32
  634. ----------------------------------------------------
  635.  
  636. def awkward_identities64_from_indexedarray32(
  637. uniquecontents: List[bool],
  638. toptr: List[int],
  639. fromptr: List[int],
  640. fromindex: List[int],
  641. fromptroffset: int,
  642. indexoffset: int,
  643. tolength: int,
  644. fromlength: int,
  645. fromwidth: int,
  646. ):
  647. return awkward_identities_from_indexedarray(
  648. uniquecontents,
  649. toptr,
  650. fromptr,
  651. fromindex,
  652. fromptroffset,
  653. indexoffset,
  654. tolength,
  655. fromlength,
  656. fromwidth,
  657. )
  658.  
  659.  
  660. awkward_identities64_from_indexedarrayU32
  661. ----------------------------------------------------
  662.  
  663. def awkward_identities64_from_indexedarrayU32(
  664. uniquecontents: List[bool],
  665. toptr: List[int],
  666. fromptr: List[int],
  667. fromindex: List[int],
  668. fromptroffset: int,
  669. indexoffset: int,
  670. tolength: int,
  671. fromlength: int,
  672. fromwidth: int,
  673. ):
  674. return awkward_identities_from_indexedarray(
  675. uniquecontents,
  676. toptr,
  677. fromptr,
  678. fromindex,
  679. fromptroffset,
  680. indexoffset,
  681. tolength,
  682. fromlength,
  683. fromwidth,
  684. )
  685.  
  686.  
  687. awkward_identities64_from_indexedarray64
  688. ----------------------------------------------------
  689.  
  690. def awkward_identities64_from_indexedarray64(
  691. uniquecontents: List[bool],
  692. toptr: List[int],
  693. fromptr: List[int],
  694. fromindex: List[int],
  695. fromptroffset: int,
  696. indexoffset: int,
  697. tolength: int,
  698. fromlength: int,
  699. fromwidth: int,
  700. ):
  701. return awkward_identities_from_indexedarray(
  702. uniquecontents,
  703. toptr,
  704. fromptr,
  705. fromindex,
  706. fromptroffset,
  707. indexoffset,
  708. tolength,
  709. fromlength,
  710. fromwidth,
  711. )
  712.  
  713.  
  714. awkward_identities_from_unionarray
  715. ----------------------------------------------------
  716.  
  717. for ID in int:
  718. for T in int:
  719. for I in int:
  720.  
  721. def awkward_identities_from_unionarray(
  722. uniquecontents: List[bool],
  723. toptr: List[ID],
  724. fromptr: List[ID],
  725. fromtags: List[T],
  726. fromindex: List[I],
  727. fromptroffset: int,
  728. tagsoffset: int,
  729. indexoffset: int,
  730. tolength: int,
  731. fromlength: int,
  732. fromwidth: int,
  733. which: int,
  734. ):
  735. for k in range(tolength * fromwidth):
  736. toptr[k] = -1
  737. for i in range(fromlength):
  738. if fromtags[tagsoffset + i] == which:
  739. j = fromindex[indexoffset + i]
  740. if j >= tolength:
  741. raise ValueError("max(index) > len(content)")
  742. else:
  743. if j < 0:
  744. raise ValueError("min(index) < 0")
  745. else:
  746. if toptr[j * fromwidth] != -1:
  747. uniquecontents = false
  748. return
  749. for k in range(fromwidth):
  750. toptr[(j * fromwidth) + k] = fromptr[
  751. (fromptroffset + (i * fromwidth)) + k
  752. ]
  753. uniquecontents = true
  754. return
  755.  
  756.  
  757. awkward_identities32_from_unionarray8_32
  758. ----------------------------------------------------
  759.  
  760. def awkward_identities32_from_unionarray8_32(
  761. uniquecontents: List[bool],
  762. toptr: List[int],
  763. fromptr: List[int],
  764. fromtags: List[int],
  765. fromindex: List[int],
  766. fromptroffset: int,
  767. tagsoffset: int,
  768. indexoffset: int,
  769. tolength: int,
  770. fromlength: int,
  771. fromwidth: int,
  772. which: int,
  773. ):
  774. return awkward_identities_from_unionarray(
  775. uniquecontents,
  776. toptr,
  777. fromptr,
  778. fromtags,
  779. fromindex,
  780. fromptroffset,
  781. tagsoffset,
  782. indexoffset,
  783. tolength,
  784. fromlength,
  785. fromwidth,
  786. which,
  787. )
  788.  
  789.  
  790. awkward_identities32_from_unionarray8_U32
  791. ----------------------------------------------------
  792.  
  793. def awkward_identities32_from_unionarray8_U32(
  794. uniquecontents: List[bool],
  795. toptr: List[int],
  796. fromptr: List[int],
  797. fromtags: List[int],
  798. fromindex: List[int],
  799. fromptroffset: int,
  800. tagsoffset: int,
  801. indexoffset: int,
  802. tolength: int,
  803. fromlength: int,
  804. fromwidth: int,
  805. which: int,
  806. ):
  807. return awkward_identities_from_unionarray(
  808. uniquecontents,
  809. toptr,
  810. fromptr,
  811. fromtags,
  812. fromindex,
  813. fromptroffset,
  814. tagsoffset,
  815. indexoffset,
  816. tolength,
  817. fromlength,
  818. fromwidth,
  819. which,
  820. )
  821.  
  822.  
  823. awkward_identities32_from_unionarray8_64
  824. ----------------------------------------------------
  825.  
  826. def awkward_identities32_from_unionarray8_64(
  827. uniquecontents: List[bool],
  828. toptr: List[int],
  829. fromptr: List[int],
  830. fromtags: List[int],
  831. fromindex: List[int],
  832. fromptroffset: int,
  833. tagsoffset: int,
  834. indexoffset: int,
  835. tolength: int,
  836. fromlength: int,
  837. fromwidth: int,
  838. which: int,
  839. ):
  840. return awkward_identities_from_unionarray(
  841. uniquecontents,
  842. toptr,
  843. fromptr,
  844. fromtags,
  845. fromindex,
  846. fromptroffset,
  847. tagsoffset,
  848. indexoffset,
  849. tolength,
  850. fromlength,
  851. fromwidth,
  852. which,
  853. )
  854.  
  855.  
  856. awkward_identities64_from_unionarray8_32
  857. ----------------------------------------------------
  858.  
  859. def awkward_identities64_from_unionarray8_32(
  860. uniquecontents: List[bool],
  861. toptr: List[int],
  862. fromptr: List[int],
  863. fromtags: List[int],
  864. fromindex: List[int],
  865. fromptroffset: int,
  866. tagsoffset: int,
  867. indexoffset: int,
  868. tolength: int,
  869. fromlength: int,
  870. fromwidth: int,
  871. which: int,
  872. ):
  873. return awkward_identities_from_unionarray(
  874. uniquecontents,
  875. toptr,
  876. fromptr,
  877. fromtags,
  878. fromindex,
  879. fromptroffset,
  880. tagsoffset,
  881. indexoffset,
  882. tolength,
  883. fromlength,
  884. fromwidth,
  885. which,
  886. )
  887.  
  888.  
  889. awkward_identities64_from_unionarray8_U32
  890. ----------------------------------------------------
  891.  
  892. def awkward_identities64_from_unionarray8_U32(
  893. uniquecontents: List[bool],
  894. toptr: List[int],
  895. fromptr: List[int],
  896. fromtags: List[int],
  897. fromindex: List[int],
  898. fromptroffset: int,
  899. tagsoffset: int,
  900. indexoffset: int,
  901. tolength: int,
  902. fromlength: int,
  903. fromwidth: int,
  904. which: int,
  905. ):
  906. return awkward_identities_from_unionarray(
  907. uniquecontents,
  908. toptr,
  909. fromptr,
  910. fromtags,
  911. fromindex,
  912. fromptroffset,
  913. tagsoffset,
  914. indexoffset,
  915. tolength,
  916. fromlength,
  917. fromwidth,
  918. which,
  919. )
  920.  
  921.  
  922. awkward_identities64_from_unionarray8_64
  923. ----------------------------------------------------
  924.  
  925. def awkward_identities64_from_unionarray8_64(
  926. uniquecontents: List[bool],
  927. toptr: List[int],
  928. fromptr: List[int],
  929. fromtags: List[int],
  930. fromindex: List[int],
  931. fromptroffset: int,
  932. tagsoffset: int,
  933. indexoffset: int,
  934. tolength: int,
  935. fromlength: int,
  936. fromwidth: int,
  937. which: int,
  938. ):
  939. return awkward_identities_from_unionarray(
  940. uniquecontents,
  941. toptr,
  942. fromptr,
  943. fromtags,
  944. fromindex,
  945. fromptroffset,
  946. tagsoffset,
  947. indexoffset,
  948. tolength,
  949. fromlength,
  950. fromwidth,
  951. which,
  952. )
  953.  
  954.  
  955. awkward_identities_extend
  956. ----------------------------------------------------
  957.  
  958. for ID in int:
  959.  
  960. def awkward_identities_extend(
  961. toptr: List[ID],
  962. fromptr: List[ID],
  963. fromoffset: int,
  964. fromlength: int,
  965. tolength: int,
  966. ):
  967. i = 0
  968. while i < fromlength:
  969. toptr[i] = fromptr[fromoffset + i]
  970. i = i + 1
  971. while i < tolength:
  972. toptr[i] = -1
  973. i = i + 1
  974. return
  975.  
  976.  
  977. awkward_identities32_extend
  978. ----------------------------------------------------
  979.  
  980. def awkward_identities32_extend(
  981. toptr: List[int],
  982. fromptr: List[int],
  983. fromoffset: int,
  984. fromlength: int,
  985. tolength: int,
  986. ):
  987. return awkward_identities_extend(toptr, fromptr, fromoffset, fromlength, tolength)
  988.  
  989.  
  990. awkward_identities64_extend
  991. ----------------------------------------------------
  992.  
  993. def awkward_identities64_extend(
  994. toptr: List[int],
  995. fromptr: List[int],
  996. fromoffset: int,
  997. fromlength: int,
  998. tolength: int,
  999. ):
  1000. return awkward_identities_extend(toptr, fromptr, fromoffset, fromlength, tolength)
Add Comment
Please, Sign In to add comment