Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 105 additions & 1 deletion src/Maths/Silk.NET.Maths/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -1 +1,105 @@
#nullable enable
#nullable enable
Silk.NET.Maths.Simd128
Silk.NET.Maths.Simd128<T>
Silk.NET.Maths.Simd256
Silk.NET.Maths.Simd256<T>
Silk.NET.Maths.Simd64
Silk.NET.Maths.Simd64<T>
static readonly Silk.NET.Maths.Simd128<T>.AllBitsSet -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.E -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.Epsilon -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.MaxValue -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.MinusOne -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.MinusTwo -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.MinValue -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.NaN -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.NegativeInfinity -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.One -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.Pi -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.PiOver2 -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.PositiveInfinity -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.Tau -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.Two -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd128<T>.Zero -> System.Runtime.Intrinsics.Vector128<T>
static readonly Silk.NET.Maths.Simd256<T>.AllBitsSet -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.E -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.Epsilon -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.MaxValue -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.MinusOne -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.MinusTwo -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.MinValue -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.NaN -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.NegativeInfinity -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.One -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.Pi -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.PiOver2 -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.PositiveInfinity -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.Tau -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.Two -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd256<T>.Zero -> System.Runtime.Intrinsics.Vector256<T>
static readonly Silk.NET.Maths.Simd64<T>.AllBitsSet -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.E -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.Epsilon -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.MaxValue -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.MinusOne -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.MinusTwo -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.MinValue -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.NaN -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.NegativeInfinity -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.One -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.Pi -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.PiOver2 -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.PositiveInfinity -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.Tau -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.Two -> System.Runtime.Intrinsics.Vector64<T>
static readonly Silk.NET.Maths.Simd64<T>.Zero -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Scalar.And<T>(T left, T right) -> T
static Silk.NET.Maths.Scalar.Not<T>(T value) -> T
static Silk.NET.Maths.Scalar.Or<T>(T left, T right) -> T
static Silk.NET.Maths.Scalar.RotateLeft<T>(T value, int offset) -> T
static Silk.NET.Maths.Scalar.RotateRight<T>(T value, int offset) -> T
static Silk.NET.Maths.Scalar.ShiftLeft<T>(T value, int offset) -> T
static Silk.NET.Maths.Scalar.ShiftRight<T>(T value, int offset) -> T
static Silk.NET.Maths.Scalar.Xor<T>(T left, T right) -> T
static Silk.NET.Maths.Simd128.Abs<T>(System.Runtime.Intrinsics.Vector128<T> vector) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Add<T>(System.Runtime.Intrinsics.Vector128<T> left, System.Runtime.Intrinsics.Vector128<T> right) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.And<T>(System.Runtime.Intrinsics.Vector128<T> left, System.Runtime.Intrinsics.Vector128<T> right) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Create<T>(T value) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Divide<T>(System.Runtime.Intrinsics.Vector128<T> left, System.Runtime.Intrinsics.Vector128<T> right) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Load<T>(T* ptr) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Multiply<T>(System.Runtime.Intrinsics.Vector128<T> left, System.Runtime.Intrinsics.Vector128<T> right) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Not<T>(System.Runtime.Intrinsics.Vector128<T> vector) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Or<T>(System.Runtime.Intrinsics.Vector128<T> left, System.Runtime.Intrinsics.Vector128<T> right) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Store<T>(T* destination, System.Runtime.Intrinsics.Vector128<T> source) -> void
static Silk.NET.Maths.Simd128.Subtract<T>(System.Runtime.Intrinsics.Vector128<T> left, System.Runtime.Intrinsics.Vector128<T> right) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128.Xor<T>(System.Runtime.Intrinsics.Vector128<T> left, System.Runtime.Intrinsics.Vector128<T> right) -> System.Runtime.Intrinsics.Vector128<T>
static Silk.NET.Maths.Simd128<T>.IsHardwareAccelerated.get -> bool
static Silk.NET.Maths.Simd128<T>.IsSupported.get -> bool
static Silk.NET.Maths.Simd256.Abs<T>(System.Runtime.Intrinsics.Vector256<T> vector) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Add<T>(System.Runtime.Intrinsics.Vector256<T> left, System.Runtime.Intrinsics.Vector256<T> right) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.And<T>(System.Runtime.Intrinsics.Vector256<T> left, System.Runtime.Intrinsics.Vector256<T> right) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Create<T>(T value) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Divide<T>(System.Runtime.Intrinsics.Vector256<T> left, System.Runtime.Intrinsics.Vector256<T> right) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Load<T>(T* ptr) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Multiply<T>(System.Runtime.Intrinsics.Vector256<T> left, System.Runtime.Intrinsics.Vector256<T> right) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Not<T>(System.Runtime.Intrinsics.Vector256<T> vector) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Or<T>(System.Runtime.Intrinsics.Vector256<T> left, System.Runtime.Intrinsics.Vector256<T> right) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Store<T>(T* destination, System.Runtime.Intrinsics.Vector256<T> source) -> void
static Silk.NET.Maths.Simd256.Subtract<T>(System.Runtime.Intrinsics.Vector256<T> left, System.Runtime.Intrinsics.Vector256<T> right) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256.Xor<T>(System.Runtime.Intrinsics.Vector256<T> left, System.Runtime.Intrinsics.Vector256<T> right) -> System.Runtime.Intrinsics.Vector256<T>
static Silk.NET.Maths.Simd256<T>.IsHardwareAccelerated.get -> bool
static Silk.NET.Maths.Simd256<T>.IsSupported.get -> bool
static Silk.NET.Maths.Simd64.Abs<T>(System.Runtime.Intrinsics.Vector64<T> vector) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Add<T>(System.Runtime.Intrinsics.Vector64<T> left, System.Runtime.Intrinsics.Vector64<T> right) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.And<T>(System.Runtime.Intrinsics.Vector64<T> left, System.Runtime.Intrinsics.Vector64<T> right) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Create<T>(T value) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Divide<T>(System.Runtime.Intrinsics.Vector64<T> left, System.Runtime.Intrinsics.Vector64<T> right) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Load<T>(T* ptr) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Multiply<T>(System.Runtime.Intrinsics.Vector64<T> left, System.Runtime.Intrinsics.Vector64<T> right) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Not<T>(System.Runtime.Intrinsics.Vector64<T> vector) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Or<T>(System.Runtime.Intrinsics.Vector64<T> left, System.Runtime.Intrinsics.Vector64<T> right) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Store<T>(T* destination, System.Runtime.Intrinsics.Vector64<T> source) -> void
static Silk.NET.Maths.Simd64.Subtract<T>(System.Runtime.Intrinsics.Vector64<T> left, System.Runtime.Intrinsics.Vector64<T> right) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64.Xor<T>(System.Runtime.Intrinsics.Vector64<T> left, System.Runtime.Intrinsics.Vector64<T> right) -> System.Runtime.Intrinsics.Vector64<T>
static Silk.NET.Maths.Simd64<T>.IsHardwareAccelerated.get -> bool
static Silk.NET.Maths.Simd64<T>.IsSupported.get -> bool
7 changes: 6 additions & 1 deletion src/Maths/Silk.NET.Maths/Scalar.Bitwise/Scalar.And.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600


namespace Silk.NET.Maths
{
Expand All @@ -10,7 +15,7 @@ static partial class Scalar
/// <summary>
/// Performs And on supported types
/// </summary>
public static T And<T>(T left, T right) where T : unmanaged
public static T And<T>(T left, T right)
{
return Byte(left, right);

Expand Down
6 changes: 5 additions & 1 deletion src/Maths/Silk.NET.Maths/Scalar.Bitwise/Scalar.Not.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600

namespace Silk.NET.Maths
{
Expand All @@ -10,7 +14,7 @@ static partial class Scalar
/// <summary>
/// Performs Not on supported types
/// </summary>
public static T Not<T>(T value) where T : unmanaged
public static T Not<T>(T value)
{
return Byte(value);

Expand Down
6 changes: 5 additions & 1 deletion src/Maths/Silk.NET.Maths/Scalar.Bitwise/Scalar.Or.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600

namespace Silk.NET.Maths
{
Expand All @@ -10,7 +14,7 @@ static partial class Scalar
/// <summary>
/// Performs Or on supported types
/// </summary>
public static T Or<T>(T left, T right) where T : unmanaged
public static T Or<T>(T left, T right)
{
return Byte(left, right);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600

namespace Silk.NET.Maths
{
Expand All @@ -11,7 +15,7 @@ static partial class Scalar
/// Rotates a given value bitwise.
/// Shifting float and double obeys unsigned integers' behaviour.
/// </summary>
public static T RotateLeft<T>(T value, int offset) where T : unmanaged
public static T RotateLeft<T>(T value, int offset)
{
return Byte(value, offset);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600

namespace Silk.NET.Maths
{
Expand All @@ -11,7 +15,7 @@ static partial class Scalar
/// Rotates a given value bitwise.
/// Shifting float and double obeys unsigned integers' behaviour.
/// </summary>
public static T RotateRight<T>(T value, int offset) where T : unmanaged
public static T RotateRight<T>(T value, int offset)
{
return Byte(value, offset);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600

namespace Silk.NET.Maths
{
Expand All @@ -10,7 +14,7 @@ static partial class Scalar
/// <summary>
/// Performs ShiftLeft on supported types
/// </summary>
public static T ShiftLeft<T>(T value, int offset) where T : unmanaged
public static T ShiftLeft<T>(T value, int offset)
{
return Byte(value, offset);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600

namespace Silk.NET.Maths
{
Expand All @@ -10,7 +14,7 @@ static partial class Scalar
/// <summary>
/// Performs ShiftRight on supported types
/// </summary>
public static T ShiftRight<T>(T value, int offset) where T : unmanaged
public static T ShiftRight<T>(T value, int offset)
{
return Byte(value, offset);

Expand Down
6 changes: 5 additions & 1 deletion src/Maths/Silk.NET.Maths/Scalar.Bitwise/Scalar.Xor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Runtime.CompilerServices;
// nullability-related things
#pragma warning disable 8603
#pragma warning disable 8605
#pragma warning disable 8600

namespace Silk.NET.Maths
{
Expand All @@ -10,7 +14,7 @@ static partial class Scalar
/// <summary>
/// Performs Xor on supported types
/// </summary>
public static T Xor<T>(T left, T right) where T : unmanaged
public static T Xor<T>(T left, T right)
{
return Byte(left, right);

Expand Down
2 changes: 1 addition & 1 deletion src/Maths/Silk.NET.Maths/Silk.NET.Maths.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<WarningsAsErrors>true</WarningsAsErrors>
<LangVersion>9.0</LangVersion>

<DefineConstants Condition="'$(TargetFramework)' == 'netcoreapp3.1' Or '$(TargetFramework)' == 'net5.0'">$(DefineConstants);SSE</DefineConstants>
<DefineConstants Condition="'$(TargetFramework)' == 'netcoreapp3.1' Or '$(TargetFramework)' == 'net5.0'">$(DefineConstants);SSE;AVX;INTRINSICS</DefineConstants>
<DefineConstants Condition="'$(TargetFramework)' == 'netcoreapp3.1' Or '$(TargetFramework)' == 'net5.0' Or '$(TargetFramework)' == 'netstandard2.1'">$(DefineConstants);BTEC_INTRINSICS;MATHF</DefineConstants>
<DefineConstants Condition="'$(TargetFramework)' == 'net5.0'">$(DefineConstants);POH;AdvSIMD</DefineConstants>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
Expand Down
Loading