我有一個來源Float32Array
,我從中創建了一個輔助Float32Array
。我有一個值爲model
的序列,我想將其作爲重複序列複製到第Float32Array
。我目前正在使用reverse while循環執行此操作。更有效的方法將重複序列複製到TypedArray中?
sequence = [1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0];
n = 3179520; //divisible by sequence length
modelBuffs = new Float32Array(n);
var v = modelBuffs.length;
while(v-=12){
modelBuffs[v-12] = sequence[0];
modelBuffs[v-11] = sequence[1];
modelBuffs[v-10] = sequence[2];
modelBuffs[v-9] = sequence[3];
// YTransform
modelBuffs[v-8] = sequence[4];
modelBuffs[v-7] = sequence[5];
modelBuffs[v-6] = sequence[6];
modelBuffs[v-5] = sequence[7];
// ZTransform
modelBuffs[v-4] = sequence[8];
modelBuffs[v-3] = sequence[9];
modelBuffs[v-2] = sequence[10];
modelBuffs[v-1] = sequence[11];
}
不幸的是,n
可能未知。如果沒有其他解決方案,我可能不得不做一個重要的重構。我希望我可以設置序列一次,並有一個複製到位/重複填充/按位操作重複的初始字節序列。
編輯簡化了示例輸入
正如我所看到的,你有一個模式,但你沒有使用'3,7,11,15'的值。任何具體原因? – Rajesh
@rajesh我從一個更多涉及的例子中截取了這個。具體原因是3,7,11,15是未使用的4×4矩陣的最後一列 – kevzettler
因此,我們應該假設在'N×M'矩陣中,總是不使用'm-1'列? – Rajesh