All tests pass again, with much more safety.

This commit is contained in:
Simon Brooke 2019-06-26 10:51:08 +01:00
parent 9d2b6da1cc
commit dfd5728e57
2 changed files with 36 additions and 5 deletions

View file

@ -32,17 +32,18 @@
([x & axes]
(and
(map? x)
(number? (:dimensions x))
(pos? (:dimensions x))
(keyword? (:coord x))
(= (:coord x) (first axes))
(if
(rest axes)
(empty? (rest axes))
(= (:content x) :data)
(and
(= (:content x) (rest axes))
(every?
sparse-array?
(map #(x %) (filter integer? (keys x)))))
(= (:content x) :data)))))
(map #(x %) (filter integer? (keys x)))))))))
(defn put
"Return a sparse array like this `array` but with this `value` at these