(transform-vector m v)

Source

(defn transform-vector [m v] (let [dst (vector->array v)] (dotimes [i 4] (#?(:clj aset-float :cljs aset) dst i 0.0) (dotimes [j 4] (#?(:clj aset-float :cljs aset) dst i (+ (aget dst i) (* (nth v j) (nth m (-> j (* 4) (+ i)))))))) (vec dst)))