Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
85 lines
2.0 KiB
Plaintext
85 lines
2.0 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)) |