newra.scm 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ; -*- mode: scheme; coding: utf-8 -*-
  2. ; (c) Daniel Llorens - 2016-2019
  3. ; This library is free software; you can redistribute it and/or modify it under
  4. ; the terms of the GNU General Public License as published by the Free
  5. ; Software Foundation; either version 3 of the License, or (at your option) any
  6. ; later version.
  7. ;;; Commentary:
  8. ;; newra is a replacement for Guile's C-based arrays. This is the hub module.
  9. ;;; Code:
  10. (define-module (newra))
  11. (import (newra base) (newra map) (newra print) (newra read) (newra from)
  12. (newra cat) (newra reshape) (newra lib))
  13. (re-export ra?
  14. make-ra-root ra-root ra-zero ra-dims ra-vlen ra-vref ra-vset!
  15. ra-check %%ra-rank %%ra-root %%ra-zero %%ra-dims
  16. ra-rank ra-type make-ra-new make-ra-root
  17. make-aseq aseq? aseq-org aseq-inc aseq-ref
  18. make-dim dim? dim-len dim-lo dim-hi dim-step
  19. c-dims
  20. ra-offset
  21. ra-slice ra-cell ra-ref ra-set!
  22. ra-slice-for-each ra-slice-for-each-in-order
  23. ra-fill! ra-copy! ra-swap! ra-swap-in-order! ra-map! ra-map-in-order! ra-for-each
  24. ra-equal? ra-any ra-every
  25. ra-index-map!
  26. ra-len ra-lo ra-size make-ra make-typed-ra make-ra-shared ra->list
  27. ra-dimensions ra-shape ra-offset
  28. array->ra ra->array as-ra
  29. ra-i ra-iota
  30. ra-copy ra-map
  31. ra-reverse ra-transpose ra-untranspose ra-order-c?
  32. ra-ravel ra-reshape ra-tile
  33. ra-fold
  34. ra-rotate! ra-rotate
  35. ra-singletonize ra-clip
  36. ra-from ra-from-copy ra-amend! dots
  37. ra-cat ra-cats
  38. list->ra list->typed-ra
  39. ra-format)