基本上我一直试图用另一个值来分配一个新的向量。这可以按顺序完成:
vDSP_vindex(A,B,Stride,C,Stride,Length)
因此,如果A有10个元素,B有20个索引,C有20个元素;我们使用B中定义的索引中的A中的元素来分配C中的所有值。
但是如果我想在B中得到C的指数怎么办?用A。中的元素填充。
希望有人可以帮忙解决这个问题。
答案 0 :(得分:1)
他想要C [B [i]] = a [i]而不是C [i] = a [B [i]]。这种结构的问题在于,不能保证C中的所有元素都被定义,或者当B中的两个索引相同时会发生什么 - 哪一个最终在C中?
假设这些问题不会给您带来麻烦,您需要将B [i]中的元素转换为其他公式的正确值。这只是一个问题:
initialize Bprime[] to a default value for undefined.
for each i in [0,N)
Bprime[B[i]] = i;
vDSP_vindex(A,Bprime,Stride,C,Stride,N)
这是否值得,可能完全取决于Bprime是否可以重复使用。