繁体   English   中英

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

[英]How do I create a primitive two-dimensional (2d) array of doubles in Clojure?

我是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 w h)]
    (doseq [x (range w)
            y (range h)]
      (aset arr x y (double (get-in coll [x y]))))
    arr))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM