s16.sld 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. ;;; SPDX-License-Identifier: MIT
  2. ;;; SPDX-FileCopyrightText: 2018 John Cowan
  3. (define-library (srfi srfi-160 s16)
  4. (import (scheme base))
  5. (import (scheme case-lambda))
  6. (import (scheme cxr))
  7. (import (only (scheme r5rs) inexact->exact))
  8. (import (scheme complex))
  9. (import (scheme write))
  10. (import (srfi srfi-128))
  11. (import (srfi srfi-160 base))
  12. ;; Constructors
  13. (export make-s16vector s16vector
  14. s16vector-unfold s16vector-unfold-right
  15. s16vector-copy s16vector-reverse-copy
  16. s16vector-append s16vector-concatenate
  17. s16vector-append-subvectors)
  18. ;; Predicates
  19. (export s16? s16vector? s16vector-empty? s16vector=)
  20. ;; Selectors
  21. (export s16vector-ref s16vector-length)
  22. ;; Iteration
  23. (export s16vector-take s16vector-take-right
  24. s16vector-drop s16vector-drop-right
  25. s16vector-segment
  26. s16vector-fold s16vector-fold-right
  27. s16vector-map s16vector-map! s16vector-for-each
  28. s16vector-count s16vector-cumulate)
  29. ;; Searching
  30. (export s16vector-take-while s16vector-take-while-right
  31. s16vector-drop-while s16vector-drop-while-right
  32. s16vector-index s16vector-index-right s16vector-skip s16vector-skip-right
  33. s16vector-any s16vector-every s16vector-partition
  34. s16vector-filter s16vector-remove)
  35. ;; Mutators
  36. (export s16vector-set! s16vector-swap! s16vector-fill! s16vector-reverse!
  37. s16vector-copy! s16vector-reverse-copy!
  38. s16vector-unfold! s16vector-unfold-right!)
  39. ;; Conversion
  40. (export s16vector->list list->s16vector
  41. reverse-s16vector->list reverse-list->s16vector
  42. s16vector->vector vector->s16vector)
  43. ;; Misc
  44. (export make-s16vector-generator s16vector-comparator write-s16vector)
  45. (include "s16-impl.scm")
  46. )