akanse.SmartVectorDotNet
0.1.0
dotnet add package akanse.SmartVectorDotNet --version 0.1.0
NuGet\Install-Package akanse.SmartVectorDotNet -Version 0.1.0
<PackageReference Include="akanse.SmartVectorDotNet" Version="0.1.0" />
<PackageVersion Include="akanse.SmartVectorDotNet" Version="0.1.0" />
<PackageReference Include="akanse.SmartVectorDotNet" />
paket add akanse.SmartVectorDotNet --version 0.1.0
#r "nuget: akanse.SmartVectorDotNet, 0.1.0"
#addin nuget:?package=akanse.SmartVectorDotNet&version=0.1.0
#tool nuget:?package=akanse.SmartVectorDotNet&version=0.1.0
SmartVectorDotNet
SmartVectorDotNet is a library to calculate the sequence by a unified signature with SIMD.
Concepts
This library has 3 layers:
ScalarOp
/ScalarMath
<br/> provides generalized and backward-compatibility-enhanced operators andMath
/MathF
functions.VectorOp
/VectorMath
<br/> provides SIMD parallelized APIs which are corresponding with each method inScalarOp
/ScalarMath
.Vectorization
<br/> provides span based sequential operation. Their APIs are declared as strategy pattern, you can select simple loop or SIMD vectorized operation.
Usage
Generalized System.Numerics.Vector<T>
calculations
using System;
using System.Numerics;
using SmartVectorDotNet;
var x = new Vector<double>(0, 1, 2, 3);
var sin_x_pi = VectorMath.Sin(VectorMath.Multiply(x, VectorMath.Const<double>.PI));
Console.WriteLine(sin_x_pi);
Simply vectirozation
using System;
using SmartVectorDotNet;
var x = Enumerable.Range(0, 256).Select(i => (double)i).ToArray();
var tmp = new double[x.Length];
var ans = new double[x.Length];
Vectorization.SIMD.Multiply<double>(x, Math.PI, tmp);
Vectorization.SIMD.Sin<double>(tmp, ans);
Console.WriteLine(string.Join(", ", ans));
Release notes
v0.1.0.0
- first releases
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Collections.Immutable (>= 8.0.0)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
.NETStandard 2.1
- System.Collections.Immutable (>= 8.0.0)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
net6.0
- System.Collections.Immutable (>= 8.0.0)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
net7.0
- System.Collections.Immutable (>= 8.0.0)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
net8.0
- System.Collections.Immutable (>= 8.0.0)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
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 |
---|---|---|
0.1.0 | 144 | 8/11/2024 |