|
1820 | 1820 | (t "#1u8:2:1(1 2 3)" (test-error <read-error> #/rank and dimensions/)) |
1821 | 1821 | ) |
1822 | 1822 |
|
| 1823 | +(let () |
| 1824 | + (define (t arr ex-compact ex-dimensions ex-reader-ctor) |
| 1825 | + (define (tt mode expect) |
| 1826 | + (test* #"array writer: ~mode" expect |
| 1827 | + (let ((ctrl (make-write-controls :array-format mode))) |
| 1828 | + (write-to-string arr (cut write <> ctrl))))) |
| 1829 | + (tt 'compact ex-compact) |
| 1830 | + (tt 'dimensions ex-dimensions) |
| 1831 | + (tt 'reader-ctor ex-reader-ctor)) |
| 1832 | + |
| 1833 | + (t (array (shape 0 2 0 3) 1 2 3 4 5 6) |
| 1834 | + "#2a((1 2 3) (4 5 6))" |
| 1835 | + "#2a:2:3((1 2 3) (4 5 6))" |
| 1836 | + "#,(<array> (0 2 0 3) 1 2 3 4 5 6)") |
| 1837 | + |
| 1838 | + (t (array (shape 0 2 -1 2) 1 2 3 4 5 6) |
| 1839 | + "#2a@0@-1((1 2 3) (4 5 6))" |
| 1840 | + "#2a:2@-1:3((1 2 3) (4 5 6))" |
| 1841 | + "#,(<array> (0 2 -1 2) 1 2 3 4 5 6)") |
| 1842 | + |
| 1843 | + (t (array (shape 1 3 0 3) 1 2 3 4 5 6) |
| 1844 | + "#2a@1@0((1 2 3) (4 5 6))" |
| 1845 | + "#2a@1:2:3((1 2 3) (4 5 6))" |
| 1846 | + "#,(<array> (1 3 0 3) 1 2 3 4 5 6)") |
| 1847 | + |
| 1848 | + (t (u8array (shape 0 3) 1 2 3) |
| 1849 | + "#1u8(1 2 3)" |
| 1850 | + "#1u8:3(1 2 3)" |
| 1851 | + "#,(<u8array> (0 3) 1 2 3)") |
| 1852 | + |
| 1853 | + (t (s16array (shape -1 0 0 1) 1) |
| 1854 | + "#2s16@-1@0((1))" |
| 1855 | + "#2s16@-1:1:1((1))" |
| 1856 | + "#,(<s16array> (-1 0 0 1) 1)") |
| 1857 | + |
| 1858 | + (t (c32array (shape 0 2 1 3) 1 +i -i 1+i) |
| 1859 | + "#2c32@0@1((1.0 0.0+1.0i) (0.0-1.0i 1.0+1.0i))" |
| 1860 | + "#2c32:2@1:2((1.0 0.0+1.0i) (0.0-1.0i 1.0+1.0i))" |
| 1861 | + "#,(<c32array> (0 2 1 3) 1.0 0.0+1.0i 0.0-1.0i 1.0+1.0i)") |
| 1862 | + |
| 1863 | + (t (array (shape 0 0 0 1)) |
| 1864 | + "#2a()" |
| 1865 | + "#2a:0:1()" |
| 1866 | + "#,(<array> (0 0 0 1))") |
| 1867 | + |
| 1868 | + (t (array (shape 0 1 0 0)) |
| 1869 | + "#2a(())" |
| 1870 | + "#2a:1:0(())" |
| 1871 | + "#,(<array> (0 1 0 0))") |
| 1872 | + |
| 1873 | + (t (array (shape -1 -1 1 1)) |
| 1874 | + "#2a@-1@1()" |
| 1875 | + "#2a@-1:0@1:0()" |
| 1876 | + "#,(<array> (-1 -1 1 1))") |
| 1877 | + ) |
| 1878 | + |
1823 | 1879 |
|
1824 | 1880 | (test-section "array-rank") |
1825 | 1881 | (test* "array-rank (shape)" 2 |
|
0 commit comments