Выбор значений из Java SIMD DoubleVectorJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Выбор значений из Java SIMD DoubleVector

Сообщение Anonymous »

Я хочу выборочно вставлять значения в массив результатов. Вот что у меня есть на данный момент.

Код: Выделить всё

  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],
И я выделил 0.0 после 4.0. Происходит следующее: функция inArray вставляет ложные значения, если они появляются перед истинным значением. Однако ложные значения после истинного значения (по намерению) игнорируются.
Я нашел это удивительным.
Мой вопрос: что такое каноническое значение? способ вставки подмножества двойных значений из DoubleVector в Array[Double] без «пробелов».
Я нашел это;

Код: Выделить всё

val selected = vals.selectFrom(vals, mask)
но это выдает мне исключение индекса за пределами границ...

Подробнее здесь: https://stackoverflow.com/questions/790 ... ublevector
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»