Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
160 lines
3.9 KiB
Plaintext
160 lines
3.9 KiB
Plaintext
(define rv (fn (arr) (get arr :ravel)))
|
|
(define sh (fn (arr) (get arr :shape)))
|
|
|
|
(apl-test
|
|
"reduce +/ vector"
|
|
(rv (apl-reduce apl-add (make-array (list 5) (list 1 2 3 4 5))))
|
|
(list 15))
|
|
|
|
(apl-test
|
|
"reduce x/ vector"
|
|
(rv (apl-reduce apl-mul (make-array (list 4) (list 1 2 3 4))))
|
|
(list 24))
|
|
|
|
(apl-test
|
|
"reduce max/ vector"
|
|
(rv (apl-reduce apl-max (make-array (list 5) (list 3 1 4 1 5))))
|
|
(list 5))
|
|
|
|
(apl-test
|
|
"reduce min/ vector"
|
|
(rv (apl-reduce apl-min (make-array (list 3) (list 3 1 4))))
|
|
(list 1))
|
|
|
|
(apl-test
|
|
"reduce and/ all true"
|
|
(rv (apl-reduce apl-and (make-array (list 3) (list 1 1 1))))
|
|
(list 1))
|
|
|
|
(apl-test
|
|
"reduce or/ with true"
|
|
(rv (apl-reduce apl-or (make-array (list 3) (list 0 0 1))))
|
|
(list 1))
|
|
|
|
(apl-test
|
|
"reduce +/ single element"
|
|
(rv (apl-reduce apl-add (make-array (list 1) (list 42))))
|
|
(list 42))
|
|
|
|
(apl-test
|
|
"reduce +/ scalar no-op"
|
|
(rv (apl-reduce apl-add (apl-scalar 7)))
|
|
(list 7))
|
|
|
|
(apl-test
|
|
"reduce +/ shape is scalar"
|
|
(sh (apl-reduce apl-add (make-array (list 4) (list 1 2 3 4))))
|
|
(list))
|
|
|
|
(apl-test
|
|
"reduce +/ matrix row sums shape"
|
|
(sh (apl-reduce apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 2))
|
|
|
|
(apl-test
|
|
"reduce +/ matrix row sums values"
|
|
(rv (apl-reduce apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 6 15))
|
|
|
|
(apl-test
|
|
"reduce max/ matrix row maxima"
|
|
(rv (apl-reduce apl-max (make-array (list 2 3) (list 3 1 4 1 5 9))))
|
|
(list 4 9))
|
|
|
|
(apl-test
|
|
"reduce-first +/ vector same as reduce"
|
|
(rv (apl-reduce-first apl-add (make-array (list 5) (list 1 2 3 4 5))))
|
|
(list 15))
|
|
|
|
(apl-test
|
|
"reduce-first +/ matrix col sums shape"
|
|
(sh
|
|
(apl-reduce-first apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 3))
|
|
|
|
(apl-test
|
|
"reduce-first +/ matrix col sums values"
|
|
(rv
|
|
(apl-reduce-first apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 5 7 9))
|
|
|
|
(apl-test
|
|
"reduce-first max/ matrix col maxima"
|
|
(rv
|
|
(apl-reduce-first apl-max (make-array (list 3 2) (list 1 9 2 8 3 7))))
|
|
(list 3 9))
|
|
|
|
(apl-test
|
|
"scan +\\ vector"
|
|
(rv (apl-scan apl-add (make-array (list 5) (list 1 2 3 4 5))))
|
|
(list 1 3 6 10 15))
|
|
|
|
(apl-test
|
|
"scan x\\ vector cumulative product"
|
|
(rv (apl-scan apl-mul (make-array (list 5) (list 1 2 3 4 5))))
|
|
(list 1 2 6 24 120))
|
|
|
|
(apl-test
|
|
"scan max\\ vector running max"
|
|
(rv (apl-scan apl-max (make-array (list 5) (list 3 1 4 1 5))))
|
|
(list 3 3 4 4 5))
|
|
|
|
(apl-test
|
|
"scan min\\ vector running min"
|
|
(rv (apl-scan apl-min (make-array (list 5) (list 3 1 4 1 5))))
|
|
(list 3 1 1 1 1))
|
|
|
|
(apl-test
|
|
"scan +\\ single element"
|
|
(rv (apl-scan apl-add (make-array (list 1) (list 42))))
|
|
(list 42))
|
|
|
|
(apl-test
|
|
"scan +\\ scalar no-op"
|
|
(rv (apl-scan apl-add (apl-scalar 7)))
|
|
(list 7))
|
|
|
|
(apl-test
|
|
"scan +\\ vector preserves shape"
|
|
(sh (apl-scan apl-add (make-array (list 5) (list 1 2 3 4 5))))
|
|
(list 5))
|
|
|
|
(apl-test
|
|
"scan +\\ matrix preserves shape"
|
|
(sh (apl-scan apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 2 3))
|
|
|
|
(apl-test
|
|
"scan +\\ matrix row-wise"
|
|
(rv (apl-scan apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 1 3 6 4 9 15))
|
|
|
|
(apl-test
|
|
"scan max\\ matrix row-wise running max"
|
|
(rv (apl-scan apl-max (make-array (list 2 3) (list 3 1 4 1 5 9))))
|
|
(list 3 3 4 1 5 9))
|
|
|
|
(apl-test
|
|
"scan-first +\\ vector same as scan"
|
|
(rv (apl-scan-first apl-add (make-array (list 5) (list 1 2 3 4 5))))
|
|
(list 1 3 6 10 15))
|
|
|
|
(apl-test
|
|
"scan-first +\\ scalar no-op"
|
|
(rv (apl-scan-first apl-add (apl-scalar 9)))
|
|
(list 9))
|
|
|
|
(apl-test
|
|
"scan-first +\\ matrix preserves shape"
|
|
(sh (apl-scan-first apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 2 3))
|
|
|
|
(apl-test
|
|
"scan-first +\\ matrix col-wise"
|
|
(rv (apl-scan-first apl-add (make-array (list 2 3) (list 1 2 3 4 5 6))))
|
|
(list 1 2 3 5 7 9))
|
|
|
|
(apl-test
|
|
"scan-first max\\ matrix col-wise running max"
|
|
(rv (apl-scan-first apl-max (make-array (list 3 2) (list 3 1 4 1 5 9))))
|
|
(list 3 1 4 1 5 9)) |