如何在Clojure中创建一个原始的二维(2d)双精度数组?

时间:2010-10-05 22:18:56

标签: java clojure

Java API我是Clojure interoping,要求我传递一个2d的双精度数组;双[][]。如何在Clojure中创建原始 2d双精度数组?我正在寻找像这样的东西

(double-array-2d [[1 2] [3 4]])

此函数的Java返回类型为double [] []。

2 个答案:

答案 0 :(得分:26)

试试这个:

(into-array (map double-array [[1 2] [3 4]]))

答案 1 :(得分:3)

试试这个:

(defn double-array-2d [coll]
  (let [w (count coll)
        h (apply max (map count coll))
        arr (make-array Double/TYPE w h)]
    (doseq [x (range w)
            y (range h)]
      (aset arr x y (double (get-in coll [x y]))))
    arr))
相关问题