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
5 changes: 5 additions & 0 deletions build/nuke/Build.Support.cs
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,11 @@ Dictionary<string, object> ProcessedMsbuildProperties
return (object) x.Substring(idx + 1, x.Length - idx - 1);
}
);

if (!ProcessedMsbuildPropertiesValue.ContainsKey("SilkNukeBuild"))
{
ProcessedMsbuildPropertiesValue["SilkNukeBuild"] = "true";
}
}

return ProcessedMsbuildPropertiesValue;
Expand Down
190 changes: 95 additions & 95 deletions documentation/proposals/Proposal - Generic Math.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ For each vector struct, the following requirements **must** fulfill the followin
- Define `VectorND<T> * MatrixNXM` operators where N is the same for both Vector and Matrix, but M is any number
- These operators should function like Transform, but without needed assumptions
- Define TransformNormal static methods which take a Matrix of higher dimensionality assuming 0 in for all missing components (Vector 2 can use `Matrix2Xn`, `Matrix3Xn`, and `Matrix4Xn`) and return a vector containing the output (type should match the outer type e.g. `Vector2D.Transform(Matrix4X4)` returns `Vector2D`)
- For types implementing IBinaryNumber<T>
- For types implementing `IBinaryNumber<T>`
- `BitwiseAnd`, `BitwiseOr`, and `BitwiseXor` static methods defined between two vectors which returns a vector which has had these operators applied on a component-wise basis.
- `BitwiseAnd`, `BitwiseOr`, and `BitwiseXor` static methods operators defined between a vectors and a scalar value that matches the generic type which returns a vector which has had these operators applied on a component-wise basis with the scalar.
- `BitwiseNot` static method defined which negates the bits of the vector components. (BitwiseComplement?)
Expand All @@ -81,107 +81,107 @@ For each vector struct, the following requirements **must** fulfill the followin
- Tau
- E
- Define the following static methods for these types which calls the specified function and returns a new vector with the specified multiplicity:
- INumber<>.Sign, (Memberwise)
- `INumber<>.Sign`, (Memberwise)
- Returns `VectorND<int>`, where N matches the dimensionality of the vector
- INumber<>.Max, (Memberwise, Memberwise)
- INumber<>.Max, (Memberwise, Scalar)
- INumber<>.MaxNumber, (Memberwise, Memberwise)
- INumber<>.MaxNumber, (Memberwise, Scalar)
- INumber<>.Min, (Memberwise, Memberwise)
- INumber<>.Min, (Memberwise, Scalar)
- INumber<>.MinNumber, (Memberwise, Memberwise)
- INumber<>.MinNumber, (Memberwise, Scalar)
- INumber<>.Clamp, (Memberwise, Memberwise, Memberwise)
- INumber<>.Clamp, (Memberwise, Scalar, Scalar)
- INumber<>.CopySign, (Memberwise, Memberwise)
- INumber<>.CopySign, (Memberwise, Scalar)
- INumberBase<>.Abs, (Memberwise)
- INumberBase<>.MaxMagnitude, (Memberwise, Memberwise)
- INumberBase<>.MaxMagnitudeNumber, (Memberwise, Memberwise)
- INumberBase<>.MinMagnitude, (Memberwise, Memberwise)
- INumberBase<>.MinMagnitudeNumber, (Memberwise, Memberwise)
- INumberBase<>.MultiplyAddEstimate, (Memberwise, Memberwise, Memberwise)
- INumberBase<>.MultiplyAddEstimate, (Memberwise, Memberwise, Scalar)
- INumberBase<>.MultiplyAddEstimate, (Memberwise, Scalar, Memberwise)
- INumberBase<>.MultiplyAddEstimate, (Memberwise, Scalar, Scalar)
- IBinaryNumber<>.Log2, (Memberwise)
- IBinaryInteger<>.DivRem, (Memberwise)
- `INumber<>.Max`, (Memberwise, Memberwise)
- `INumber<>.Max`, (Memberwise, Scalar)
- `INumber<>.MaxNumber`, (Memberwise, Memberwise)
- `INumber<>.MaxNumber`, (Memberwise, Scalar)
- `INumber<>.Min`, (Memberwise, Memberwise)
- `INumber<>.Min`, (Memberwise, Scalar)
- `INumber<>.MinNumber`, (Memberwise, Memberwise)
- `INumber<>.MinNumber`, (Memberwise, Scalar)
- `INumber<>.Clamp`, (Memberwise, Memberwise, Memberwise)
- `INumber<>.Clamp`, (Memberwise, Scalar, Scalar)
- `INumber<>.CopySign`, (Memberwise, Memberwise)
- `INumber<>.CopySign`, (Memberwise, Scalar)
- `INumberBase<>.Abs`, (Memberwise)
- `INumberBase<>.MaxMagnitude`, (Memberwise, Memberwise)
- `INumberBase<>.MaxMagnitudeNumber`, (Memberwise, Memberwise)
- `INumberBase<>.MinMagnitude`, (Memberwise, Memberwise)
- `INumberBase<>.MinMagnitudeNumber`, (Memberwise, Memberwise)
- `INumberBase<>.MultiplyAddEstimate`, (Memberwise, Memberwise, Memberwise)
- `INumberBase<>.MultiplyAddEstimate`, (Memberwise, Memberwise, Scalar)
- `INumberBase<>.MultiplyAddEstimate`, (Memberwise, Scalar, Memberwise)
- `INumberBase<>.MultiplyAddEstimate`, (Memberwise, Scalar, Scalar)
- `IBinaryNumber<>.Log2`, (Memberwise)
- `IBinaryInteger<>.DivRem`, (Memberwise)
- Returns tuple of 2 Vectors (Vector Quotient, Vector Remainder)
- IBinaryInteger<>.PopCount, (Memberwise)
- IBinaryInteger<>.TrailingZeroCount, (Memberwise)
- IFloatingPoint<>.Ceiling, (Memberwise)
- IFloatingPoint<>.Floor, (Memberwise)
- IFloatingPoint<>.Round, (Memberwise)
- IFloatingPoint<>.Round, (Memberwise, Scalar) *`int digits`
- IFloatingPoint<>.Round, (Memberwise, Scalar) *`MidpointRounding mode`
- IFloatingPoint<>.Round, (Memberwise, Scalar, Scalar) *`int digits, MidpointRounding mode`
- IFloatingPoint<>.Truncate, (Memberwise)
- IFloatingPointIeee754<>.Atan2, (Memberwise, Memberwise)
- IFloatingPointIeee754<>.Atan2Pi, (Memberwise, Memberwise)
- IFloatingPointIeee754<>.Lerp, (Memberwise, Memberwise, Memberwise)
- IFloatingPointIeee754<>.Lerp, (Memberwise, Memberwise, Scalar)
- IFloatingPointIeee754<>.BitDecrement, (Memberwise)
- IFloatingPointIeee754<>.BitIncrement, (Memberwise)
- IFloatingPointIeee754<>.FusedMultiplyAdd, (Memberwise, Memberwise, Memberwise)
- IFloatingPointIeee754<>.FusedMultiplyAdd, (Memberwise, Memberwise, Scalar)
- IFloatingPointIeee754<>.FusedMultiplyAdd, (Memberwise, Scalar, Memberwise)
- IFloatingPointIeee754<>.FusedMultiplyAdd, (Memberwise, Scalar, Scalar)
- IFloatingPointIeee754<>.Ieee754Remainder, (Memberwise, Memberwise)
- IFloatingPointIeee754<>.Ieee754Remainder, (Memberwise, Scalar)
- IFloatingPointIeee754<>.ILogB, (Memberwise)
- `IBinaryInteger<>.PopCount`, (Memberwise)
- `IBinaryInteger<>.TrailingZeroCount`, (Memberwise)
- `IFloatingPoint<>.Ceiling`, (Memberwise)
- `IFloatingPoint<>.Floor`, (Memberwise)
- `IFloatingPoint<>.Round`, (Memberwise)
- `IFloatingPoint<>.Round`, (Memberwise, Scalar) *`int digits`
- `IFloatingPoint<>.Round`, (Memberwise, Scalar) *`MidpointRounding mode`
- `IFloatingPoint<>.Round`, (Memberwise, Scalar, Scalar) *`int digits, MidpointRounding mode`
- `IFloatingPoint<>.Truncate`, (Memberwise)
- `IFloatingPointIeee754<>.Atan2`, (Memberwise, Memberwise)
- `IFloatingPointIeee754<>.Atan2Pi`, (Memberwise, Memberwise)
- `IFloatingPointIeee754<>.Lerp`, (Memberwise, Memberwise, Memberwise)
- `IFloatingPointIeee754<>.Lerp`, (Memberwise, Memberwise, Scalar)
- `IFloatingPointIeee754<>.BitDecrement`, (Memberwise)
- `IFloatingPointIeee754<>.BitIncrement`, (Memberwise)
- `IFloatingPointIeee754<>.FusedMultiplyAdd`, (Memberwise, Memberwise, Memberwise)
- `IFloatingPointIeee754<>.FusedMultiplyAdd`, (Memberwise, Memberwise, Scalar)
- `IFloatingPointIeee754<>.FusedMultiplyAdd`, (Memberwise, Scalar, Memberwise)
- `IFloatingPointIeee754<>.FusedMultiplyAdd`, (Memberwise, Scalar, Scalar)
- `IFloatingPointIeee754<>.Ieee754Remainder`, (Memberwise, Memberwise)
- `IFloatingPointIeee754<>.Ieee754Remainder`, (Memberwise, Scalar)
- `IFloatingPointIeee754<>.ILogB`, (Memberwise)
- Returns `VectorND<int>`, where N matches the dimensionality of the vector
- **INFORMATIVE** This may require multiple methods depending on implementation
- IFloatingPointIeee754<>.ReciprocalEstimate, (Memberwise)
- IFloatingPointIeee754<>.ReciprocalSqrtEstimate, (Memberwise)
- IFloatingPointIeee754<>.ScaleB, (Memberwise, Memberwise)
- IFloatingPointIeee754<>.ScaleB, (Memberwise, Scalar)
- IPowerFunctions<>.Pow, (Memberwise, Memberwise)
- IPowerFunctions<>.Pow, (Memberwise, Scalar)
- IRootFunctions<>.Cbrt, (Memberwise)
- IRootFunctions<>.Sqrt, (Memberwise)
- IRootFunctions<>.RootN, (Memberwise, Memberwise)
- IRootFunctions<>.RootN, (Memberwise, Scalar)
- IRootFunctions<>.Hypot, (Memberwise, Memberwise)
- IRootFunctions<>.Hypot, (Memberwise, Scalar)
- ILogarithmicFunctions<>.Log, (Memberwise)
- ILogarithmicFunctions<>.Log, (Memberwise, Memberwise)
- ILogarithmicFunctions<>.Log, (Memberwise, Scalar)
- ILogarithmicFunctions<>.LogP1, (Memberwise)
- ~~ILogarithmicFunctions<>.Log2, (Memberwise)~~
- `IFloatingPointIeee754<>.ReciprocalEstimate`, (Memberwise)
- `IFloatingPointIeee754<>.ReciprocalSqrtEstimate`, (Memberwise)
- `IFloatingPointIeee754<>.ScaleB`, (Memberwise, Memberwise)
- `IFloatingPointIeee754<>.ScaleB`, (Memberwise, Scalar)
- `IPowerFunctions<>.Pow`, (Memberwise, Memberwise)
- `IPowerFunctions<>.Pow`, (Memberwise, Scalar)
- `IRootFunctions<>.Cbrt`, (Memberwise)
- `IRootFunctions<>.Sqrt`, (Memberwise)
- `IRootFunctions<>.RootN`, (Memberwise, Memberwise)
- `IRootFunctions<>.RootN`, (Memberwise, Scalar)
- `IRootFunctions<>.Hypot`, (Memberwise, Memberwise)
- `IRootFunctions<>.Hypot`, (Memberwise, Scalar)
- `ILogarithmicFunctions<>.Log`, (Memberwise)
- `ILogarithmicFunctions<>.Log`, (Memberwise, Memberwise)
- `ILogarithmicFunctions<>.Log`, (Memberwise, Scalar)
- `ILogarithmicFunctions<>.LogP1`, (Memberwise)
- ~~`ILogarithmicFunctions<>.Log2`, (Memberwise)~~
- Provided via `IBinaryNumber<>`, which is present on all builtin types that implement `ILogarithmicFunctions<>`
- ILogarithmicFunctions<>.Log2P1, (Memberwise)
- ILogarithmicFunctions<>.Log10, (Memberwise)
- ILogarithmicFunctions<>.Log10P1, (Memberwise)
- IExponentialFunctions<>.Exp, (Memberwise)
- IExponentialFunctions<>.ExpM1, (Memberwise)
- IExponentialFunctions<>.Exp2, (Memberwise)
- IExponentialFunctions<>.Exp2M1, (Memberwise)
- IExponentialFunctions<>.Exp10, (Memberwise)
- IExponentialFunctions<>.Exp10M1, (Memberwise)
- ITrigonometricFunctions<>.Acos, (Memberwise)
- ITrigonometricFunctions<>.AcosPi, (Memberwise)
- ITrigonometricFunctions<>.Asin, (Memberwise)
- ITrigonometricFunctions<>.AsinPi, (Memberwise)
- ITrigonometricFunctions<>.Atan, (Memberwise)
- ITrigonometricFunctions<>.AtanPi, (Memberwise)
- ITrigonometricFunctions<>.Cos, (Memberwise)
- ITrigonometricFunctions<>.CosPi, (Memberwise)
- ITrigonometricFunctions<>.Sin, (Memberwise)
- ITrigonometricFunctions<>.SinPi, (Memberwise)
- ITrigonometricFunctions<>.SinCos, (Memberwise)
- `ILogarithmicFunctions<>.Log2P1`, (Memberwise)
- `ILogarithmicFunctions<>.Log10`, (Memberwise)
- `ILogarithmicFunctions<>.Log10P1`, (Memberwise)
- `IExponentialFunctions<>.Exp`, (Memberwise)
- `IExponentialFunctions<>.ExpM1`, (Memberwise)
- `IExponentialFunctions<>.Exp2`, (Memberwise)
- `IExponentialFunctions<>.Exp2M1`, (Memberwise)
- `IExponentialFunctions<>.Exp10`, (Memberwise)
- `IExponentialFunctions<>.Exp10M1`, (Memberwise)
- `ITrigonometricFunctions<>.Acos`, (Memberwise)
- `ITrigonometricFunctions<>.AcosPi`, (Memberwise)
- `ITrigonometricFunctions<>.Asin`, (Memberwise)
- `ITrigonometricFunctions<>.AsinPi`, (Memberwise)
- `ITrigonometricFunctions<>.Atan`, (Memberwise)
- `ITrigonometricFunctions<>.AtanPi`, (Memberwise)
- `ITrigonometricFunctions<>.Cos`, (Memberwise)
- `ITrigonometricFunctions<>.CosPi`, (Memberwise)
- `ITrigonometricFunctions<>.Sin`, (Memberwise)
- `ITrigonometricFunctions<>.SinPi`, (Memberwise)
- `ITrigonometricFunctions<>.SinCos`, (Memberwise)
- Returns a tuple of 2 Vectors (Sin, Cos)
- ITrigonometricFunctions<>.SinCosPi, (Memberwise)
- `ITrigonometricFunctions<>.SinCosPi`, (Memberwise)
- Returns a tuple of 2 Vectors (Sin, Cos)
- ITrigonometricFunctions<>.Tan, (Memberwise)
- ITrigonometricFunctions<>.TanPi, (Memberwise)
- ITrigonometricFunctions<>.DegreesToRadians, (Memberwise)
- ITrigonometricFunctions<>.RadiansToDegrees, (Memberwise)
- IHyperbolicFunctions<>.Acosh, (Memberwise)
- IHyperbolicFunctions<>.Asinh, (Memberwise)
- IHyperbolicFunctions<>.Atanh, (Memberwise)
- IHyperbolicFunctions<>.Cosh, (Memberwise)
- IHyperbolicFunctions<>.Sinh, (Memberwise)
- IHyperbolicFunctions<>.Tanh, (Memberwise)
- `ITrigonometricFunctions<>.Tan`, (Memberwise)
- `ITrigonometricFunctions<>.TanPi`, (Memberwise)
- `ITrigonometricFunctions<>.DegreesToRadians`, (Memberwise)
- `ITrigonometricFunctions<>.RadiansToDegrees`, (Memberwise)
- `IHyperbolicFunctions<>.Acosh`, (Memberwise)
- `IHyperbolicFunctions<>.Asinh`, (Memberwise)
- `IHyperbolicFunctions<>.Atanh`, (Memberwise)
- `IHyperbolicFunctions<>.Cosh`, (Memberwise)
- `IHyperbolicFunctions<>.Sinh`, (Memberwise)
- `IHyperbolicFunctions<>.Tanh`, (Memberwise)
- ScaleB(Vector x, VectorND\<int\> n)
- ScaleB(Vector x, int n)
- RoundToInt(Vector x)
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Silk.NET.BuildTools/Silk.NET.BuildTools.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<SilkPublicApiExempt>true</SilkPublicApiExempt>

<!-- Workaround for issue https://github.com/microsoft/ClangSharp/issues/129 -->
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == '' AND '$(PackAsTool)' != 'true'">$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == '' AND '$(PackAsTool)' != 'true' AND '$(SilkNukeBuild)' != 'true'">$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier>
</PropertyGroup>

<ItemGroup>
Expand Down
Loading