C# SIMD Vector <int>неправильно инициализирован - PullRequest
0 голосов
/ 21 января 2020

Итак, я играю с SIMD / встроенными функциями в C#.

Прежде чем сообщить об этой ошибке в Microsoft, я хотел бы знать, сделал ли я это неправильно.

Если Я создаю Вектор на моей машине, он имеет размер 8. Я могу создать новый Вектор только с 8 элементами. Но когда я использую вектор, сохраняются только первые 4 элемента.

var vectorCount = Vector<int>.Count; //8

var vector = new Vector<int>(new []{1,2,3,4,5,6,7,8});
// vector: 1, 2, 3, 4, 0, 0, 0, 0

Это особенно проблематично c, если я пытаюсь вычислить мин. Если 0 - нулевой элемент вектора, то min всегда будет 0!

var minInit = new Vector<int>(int.MaxValue);
// .., .., .., .., 0, 0, 0, 0
...