如何在Clojure中创建原始的二维(2d)双精度数组?
我是Clojure interoping的Java API要求我传递一个2d的双精度数组; 双[][]。 如何在Clojure中创建一个原始的二维双数组? 我正在寻找这样的东西
(double-array-2d [[1 2] [3 4]])
此函数的Java返回类型为double [] []。
尝试这个:
(into-array (map double-array [[1 2] [3 4]]))
尝试这个:
(defn double-array-2d [coll] (let [w (count coll) h (apply max (map count coll)) arr (make-array Double/TYPE wh)] (doseq [x (range w) y (range h)] (aset arr xy (double (get-in coll [xy])))) arr))