Код: Выделить всё
val sp = Matrix.doubleSpecies
val l = sp.length()
val vec : Array[Double] = ???
val index : Array[Boolean] = ???
while i < sp.loopBound(vec.length) do
println(s"i: $i || j: $j")
val mask = VectorMask.fromArray[java.lang.Double](sp, index, i)
val vals = DoubleVector
.fromArray(sp, vec, i)
// val selected = vals.selectFrom(vals, mask)
println(s"mask: ${mask.toArray().print}")
println(s"vals: ${vals.toArray().print}")
vals.intoArray(newVec, j, mask)
println(newVec.print)
i += l
j = j + mask.trueCount()
end while
Код: Выделить всё
i: 4 || j: 3
mask: [false,true],
vals: [5.0,6.0],
[1.0,3.0,4.0,*0.0*,6.0,0.0,0.0,0.0,0.0],
Я нашел это удивительным.
Мой вопрос: что такое каноническое значение? способ вставки подмножества двойных значений из DoubleVector в Array[Double] без «пробелов».
Я нашел это;
Код: Выделить всё
val selected = vals.selectFrom(vals, mask)Подробнее здесь: https://stackoverflow.com/questions/790 ... ublevector
Мобильная версия