newra.scm 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 newra))
  11. (import (newra base) (newra map) (newra print) (newra read) (newra lib))
  12. (re-export ra?
  13. make-ra-raw ra-root ra-zero ra-dims ra-vlen ra-vref ra-vset!
  14. check-ra %%ra-rank %%ra-root %%ra-zero %%ra-dims
  15. ra-rank ra-type make-ra-new make-ra-root
  16. make-dim dim? dim-len dim-lo dim-hi dim-step dim-ref c-dims
  17. ra-pos ra-offset ra-pos-hi ra-pos-lo
  18. ra-slice ra-cell ra-ref ra-set!
  19. ra-slice-for-each
  20. ra-slice-for-each-1 ra-slice-for-each-2 ra-slice-for-each-3 ra-slice-for-each-4
  21. ra-fill! ra-copy! ra-map! ra-for-each
  22. ra-equal? ra-any ra-every
  23. ra-index-map!
  24. ra-length make-ra make-typed-ra make-ra-shared ra->list
  25. ra-dimensions ra-shape ra-offset
  26. array->ra ra->array as-ra
  27. ra-i ra-iota
  28. ra-copy
  29. ra-transpose ra-reverse
  30. ra-fold ra-fold*
  31. list->ra list->typed-ra)