C # 6, VS2015-3, .Net 4.6, System.Numerics.Vectors не имеет вектора <T> - PullRequest
0 голосов
/ 30 апреля 2019

Я обновляю приложение из Visual Studio 2013 Net 4.5.1 до Visual Studio 2015 C # 6 Net 4.6, и я хотел бы использовать System.Numerics.Vectors Vector< T >.Я уже использовал Vector4 для получения SIMD, который отлично работает в моем приложении, но я хотел бы получить поддержку Vector и полностью использовать более крупные AVX / AVX2 SIMD-регистры AVX / AVX2.

Система разработки имеетNet 4.5, 4.51, 4.52, 4.6, 4.61 и 4.62 установлены многоцелевые пакеты и SDK.Свойства проекта Target Framework - 4.6.Я тоже пробовал 4.61.Ссылки на проекты включают в себя System.Numerics (4.6.81.0) и System.Numerics.Vectors (4.6.81.0).

Но все, что я получаю в пространстве имен System.Numerics, это BigInteger, Complex, Matrix3x2 / 4x4,Самолет, Кватернион, Вектор2 / 3/4.Я не получаю Vector .

На этом позднем этапе (2019) я все еще должен установить старые пакеты предварительного просмотра NuGet, чтобы все еще получать Vector ?Разве Vector не является частью текущих публичных выпусков .Net 4.6 и 4.61?И если мне действительно нужно использовать старый NuGet, является ли пакет NuGet просто соответствующей информацией для VS и JIT, или это означает, что мне нужно распространять другую DLL, даже если System.Numerics.Vectors уже есть в системе ...

Я должен быть глупым ...

1 Ответ

1 голос
/ 30 апреля 2019

Vector<T> только в стандартном .Net 2.1 предварительном просмотре , нет, если он не является частью, если .Net Framework .

Относится к

  • .NET Core : 3.0 Предварительный просмотр 3 2.2 2.1 2.0 1.1 1.0
  • .NET Standard : 2.1 Preview
  • UWP : 10,0
  • Xamarin.Android : 7,1
  • Xamarin.iOS : 10,8
  • Xamarin.Mac : 3,0

Да, вам нужно будет включить nuget , который будет иметь собственную сборку

- это пакет NuGet, просто соответствующая информация для VS и JIT

Насколько я знаю, магии компилятора не существует, а Vector<T> это просто ванильная структура, так что вы включаете определения этой структуры, это все

...