|
| 1 | +#| |
| 2 | +Copyright 2020 Bradley J Lucier. |
| 3 | +All Rights Reserved. |
| 4 | + |
| 5 | +Permission is hereby granted, free of charge, |
| 6 | +to any person obtaining a copy of this software |
| 7 | +and associated documentation files (the "Software"), |
| 8 | +to deal in the Software without restriction, |
| 9 | +including without limitation the rights to use, copy, |
| 10 | +modify, merge, publish, distribute, sublicense, |
| 11 | +and/or sell copies of the Software, and to permit |
| 12 | +persons to whom the Software is furnished to do so, |
| 13 | +subject to the following conditions: |
| 14 | + |
| 15 | +The above copyright notice and this permission notice |
| 16 | +(including the next paragraph) shall be included in |
| 17 | +all copies or substantial portions of the Software. |
| 18 | + |
| 19 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF |
| 20 | +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT |
| 21 | +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS |
| 22 | +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO |
| 23 | +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE |
| 24 | +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN |
| 25 | +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| 26 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
| 27 | +OTHER DEALINGS IN THE SOFTWARE. |
| 28 | +|# |
| 29 | + |
| 30 | +(##namespace |
| 31 | + ("" |
| 32 | + ;; Miscellaneous Functions |
| 33 | + translation? permutation? |
| 34 | + |
| 35 | + ;; Intervals |
| 36 | + make-interval interval? |
| 37 | + interval-dimension |
| 38 | + interval-lower-bound interval-upper-bound |
| 39 | + interval-lower-bounds->list interval-upper-bounds->list |
| 40 | + interval-lower-bounds->vector interval-upper-bounds->vector |
| 41 | + interval= interval-volume interval-subset? interval-contains-multi-index? |
| 42 | + interval-projections |
| 43 | + interval-for-each |
| 44 | + interval-dilate interval-intersect interval-translate interval-permute |
| 45 | + interval-rotate interval-scale interval-cartesian-product |
| 46 | + |
| 47 | + ;; Storage Classes |
| 48 | + make-storage-class storage-class? |
| 49 | + storage-class-getter storage-class-setter |
| 50 | + storage-class-checker storage-class-maker storage-class-copier |
| 51 | + storage-class-length storage-class-default |
| 52 | + generic-storage-class |
| 53 | + s8-storage-class s16-storage-class s32-storage-class s64-storage-class |
| 54 | + u1-storage-class |
| 55 | + u8-storage-class u16-storage-class u32-storage-class u64-storage-class |
| 56 | + f8-storage-class f16-storage-class f32-storage-class f64-storage-class |
| 57 | + c64-storage-class c128-storage-class |
| 58 | + |
| 59 | + ;; Arrays |
| 60 | + make-array array? |
| 61 | + array-domain array-getter array-dimension |
| 62 | + mutable-array? array-setter |
| 63 | + specialized-array-default-safe? specialized-array-default-mutable? |
| 64 | + make-specialized-array specialized-array? |
| 65 | + array-storage-class array-indexer array-body array-safe? |
| 66 | + array-elements-in-order? |
| 67 | + specialized-array-share |
| 68 | + array-copy |
| 69 | + array-curry array-extract array-tile array-translate array-permute |
| 70 | + array-rotate array-reverse array-sample |
| 71 | + array-outer-product |
| 72 | + array-map array-for-each |
| 73 | + array-fold array-fold-right array-reduce |
| 74 | + array-any array-every |
| 75 | + array->list list->array |
| 76 | + array-assign! |
| 77 | + specialized-array-reshape |
| 78 | + array-ref array-set! |
| 79 | + )) |
0 commit comments