Invicta.Numerics.Vectors 10.0.0

dotnet add package Invicta.Numerics.Vectors --version 10.0.0
                    
NuGet\Install-Package Invicta.Numerics.Vectors -Version 10.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Invicta.Numerics.Vectors" Version="10.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Invicta.Numerics.Vectors" Version="10.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Invicta.Numerics.Vectors" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Invicta.Numerics.Vectors --version 10.0.0
                    
#r "nuget: Invicta.Numerics.Vectors, 10.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Invicta.Numerics.Vectors@10.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Invicta.Numerics.Vectors&version=10.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Invicta.Numerics.Vectors&version=10.0.0
                    
Install as a Cake Tool

Invicta.Numerics.Vectors

This library contains double-precision versions of the single-precision structs contained within the System.Numerics.Vectors assembly.

Configuration

This library uses code from the official .NET runtime repository and as such has adopted their .editorconfig, .gitattributes and .gitignore configuration files. This is done so that the code remains in its original form and can easily be compared to the canonical source code.

Some parts of these files will not be relevant to the narrow subset of code contained within this library, however that should not have any negative impact on this library and they will not be modified from the canonical versions unless absolutely necessary.

Code Style

For the reasons described above this repository adopts the .NET runtime repository style guidelines.

Modifications

This double-precision conversion aims to make as few changes as possible to the original single-precision source code. The fewer changes that are made the easier it is to review them and the higher the confidence that the library will mirror the behavior of the original.

To this end some "tricks" have been used such as MSBuild Using properties in the .csproj files to avoid modifying using statements within the code, stubbing/recreating internal dependencies from within the .NET System libraries, and commenting out rather than deleting code so that line numbering in the original source and modified source stays the same.

Extensions

To keep this library a clean, maintainable, one-to-one mapping of System.Numerics.Vectors no additional functionality shall be introduced. Any additional functionality will instead be maintained in separate companion libraries following an Invicta.Numerics.X naming scheme.

Testing

To allow the reuse of the existing .NET repository unit tests this library uses xUnit for testing.

As with the supporting code for the implementation some xUnit dependencies have been stubbed.

Versioning

The Invicta.Numerics.Vectors library uses semantic versioning as recommended by Microsoft for NuGet packages, where the version number takes the form major.minor.patch.

The version number of the library will match the major/minor version from the tag of the original System.Numerics.Vectors source code. The patch version of the Invicta.Numerics.Vectors library will be used to indicate each subsequent release of the library, for example the first release of the Invicta.Numerics.Vectors library adapted from the v10.0.0 source code will be v10.0.0, the second release adapted from the v10.0.0 source code will be v10.0.1 and so on.

This is the pattern that Microsoft have adopted for other libraries released in step with the .NET runtime such as Microsoft.Extensions.Hosting.

Within this repository each variant of the library will be maintained in a separate branch named after the major/minor version of the .NET libraries from which it is derived e.g. v10.0, v12.0 etc. Each new release of the library will be tagged with its version number, e.g. v10.0.0, v10.0.1, v10.0.2 etc.

Licensing

This library is derived from code from the .NET runtime repository which is licensed under the MIT license, copyright .NET Foundation and Contributors. The modifications to this code are also licensed under the MIT license, copyright Andrew Pollard.

SPDX-License-Identifier: MIT. See LICENSE.txt and THIRD-PARTY-NOTICES.txt for more details.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0 121 5/3/2026

Version 10.0.0.