-2

それは可能ですか?

複数の float32Arrays を 1 つの float32array にまとめたい。

これはばかげた質問のように聞こえますが、これを手動で行うには時間がかかることがわかりました。

これより速くすることは可能ですか?

recBuffers は、長さが約 6594048 の float32Array バッファの配列です。

function mergeBuffers(recBuffers, recLength){

  var result = new Float32Array(recLength);
  var offset = 0

  for (var i=0; i<recBuffers.length; i++){  
      for (var j=0; j<recBuffers[i].length; j++){
        result[j] += recBuffers[i][j];
      } 
  }
  return result;
}
4

1 に答える 1

3

MDNから:

確立すると、オブジェクトのメソッドを使用するか、標準の配列インデックス構文 (つまり、ブラケット表記を使用) を使用して、配列内の要素を参照できます。

2 つの float32Arraysaとが与えられbた場合、次のことができます。

var c = new Float32Array(Math.min(a.length, b.length));
for (var i=c.length; i-->0;) c[i] = a[i]+b[i];
于 2012-12-04T19:57:13.540 に答える