【问题标题】:How to pass a 2D Javascript array into a wasm function?如何将 2D Javascript 数组传递给 wasm 函数?
【发布时间】:2021-04-21 09:47:00
【问题描述】:

我看过很多关于如何将一维类型的 Javascript 数组传递给 wasm 函数的教程;但是,我还没有真正看到将二维数组传递给 wasm 函数的方法。有没有办法在 Javascript 中做到这一点?

【问题讨论】:

    标签: javascript c++ multidimensional-array webassembly


    【解决方案1】:

    通常在这种情况下,您传递一维数组,但将其视为二维数组,同时传递第二维大小,然后计算一维索引。

    例如,假设每个第一个维度在第二个维度中有 10 个元素(索引为零,0 - 9)。在一维数组中找到二维数组元素row 3 col 5 只是简单的计算...

    • 3 * 10 + 5 等于 35

    因此,使用一维数组,您只需访问元素 35。一般公式是...

    • 行 * ( number_of_columns ) + col

    如果给定 1D 索引,您需要确定 2D 索引,这只是...

    • row = floor(index / number_of_columns)
    • col = index % number_of_columns

    再举个例子,如果 35 是一维索引,那么二维索引将是...

    • row = floor(35 / 10) 即 3
    • col = 35 % 10 即 5

    类似的逻辑可以应用于更高维度的数组...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 2011-09-24
      相关资源
      最近更新 更多