You've already forked linux-packaging-mono
Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
This commit is contained in:
parent
1190d13a04
commit
6bdd276d05
66
external/corefx/src/System.Numerics.Vectors/System.Numerics.Vectors.sln
vendored
Normal file
66
external/corefx/src/System.Numerics.Vectors/System.Numerics.Vectors.sln
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.21005.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Numerics.Vectors.Performance.Tests", "tests\Performance\System.Numerics.Vectors.Performance.Tests.csproj", "{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF} = {53134B0C-0D57-481B-B84E-D1991E8D54FF}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Numerics.Vectors.Tests", "tests\System.Numerics.Vectors.Tests.csproj", "{A7074928-82C3-4739-88FE-9B528977950C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF} = {53134B0C-0D57-481B-B84E-D1991E8D54FF}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Numerics.Vectors", "src\System.Numerics.Vectors.csproj", "{53134B0C-0D57-481B-B84E-D1991E8D54FF}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{079846CE-A984-41BC-88AB-1ED6C5CD2FF7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Numerics.Vectors", "ref\System.Numerics.Vectors.csproj", "{CCC4439F-D0A8-4325-B8F2-0EEFA2CCB229}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{CD0BD3C8-F867-4FEE-AB31-4DCA01FC8A30}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A86D6523-CA0C-4C1C-BFE7-D35564945C0B}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU = DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU
|
||||
ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU = ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU
|
||||
DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU = DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU = ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Debug|Any CPU
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.Build.0 = netcoreapp-Debug|Any CPU
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Release|Any CPU
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.Build.0 = netcoreapp-Release|Any CPU
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Debug|Any CPU
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU.Build.0 = netcoreapp-Debug|Any CPU
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Release|Any CPU
|
||||
{A7074928-82C3-4739-88FE-9B528977950C}.ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU.Build.0 = netcoreapp-Release|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Debug|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.Build.0 = netcoreapp-Debug|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Release|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.Build.0 = netcoreapp-Release|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Debug|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU.Build.0 = netcoreapp-Debug|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Release|Any CPU
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9}.ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU.Build.0 = netcoreapp-Release|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.ActiveCfg = net46-Windows_NT-Debug|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.DebugNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.Build.0 = net46-Windows_NT-Debug|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.ActiveCfg = net46-Windows_NT-Release|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.ReleaseNETCoreAppnet46-Windows_NTnetcoreapp|AnyCPU.Build.0 = net46-Windows_NT-Release|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Debug|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.DebugNETCoreAppnetcoreappnetcoreapp|AnyCPU.Build.0 = netcoreapp-Debug|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU.ActiveCfg = netcoreapp-Release|Any CPU
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF}.ReleaseNETCoreAppnetcoreappnetcoreapp|AnyCPU.Build.0 = netcoreapp-Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{D9906F1A-A41A-43CD-81D2-BA94CF0001C9} = {D9906F1A-A41A-43CD-81D2-BA94CF0001C9}
|
||||
{53134B0C-0D57-481B-B84E-D1991E8D54FF} = {53134B0C-0D57-481B-B84E-D1991E8D54FF}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
8
external/corefx/src/System.Numerics.Vectors/dir.props
vendored
Normal file
8
external/corefx/src/System.Numerics.Vectors/dir.props
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\dir.props" />
|
||||
<PropertyGroup>
|
||||
<AssemblyVersion>4.1.3.0</AssemblyVersion>
|
||||
<IsNETCoreApp>true</IsNETCoreApp>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
9
external/corefx/src/System.Numerics.Vectors/ref/Configurations.props
vendored
Normal file
9
external/corefx/src/System.Numerics.Vectors/ref/Configurations.props
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<BuildConfigurations>
|
||||
netcoreapp;
|
||||
uap;
|
||||
</BuildConfigurations>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
490
external/corefx/src/System.Numerics.Vectors/ref/System.Numerics.Vectors.cs
vendored
Normal file
490
external/corefx/src/System.Numerics.Vectors/ref/System.Numerics.Vectors.cs
vendored
Normal file
@@ -0,0 +1,490 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
// ------------------------------------------------------------------------------
|
||||
// Changes to this file must follow the http://aka.ms/api-review process.
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace System.Numerics
|
||||
{
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Matrix3x2 : System.IEquatable<System.Numerics.Matrix3x2>
|
||||
{
|
||||
public float M11;
|
||||
public float M12;
|
||||
public float M21;
|
||||
public float M22;
|
||||
public float M31;
|
||||
public float M32;
|
||||
public Matrix3x2(float m11, float m12, float m21, float m22, float m31, float m32) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 Identity { get { throw null; } }
|
||||
public bool IsIdentity { get { throw null; } }
|
||||
public System.Numerics.Vector2 Translation { get { throw null; } set { } }
|
||||
public static System.Numerics.Matrix3x2 Add(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateRotation(float radians) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateRotation(float radians, System.Numerics.Vector2 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateScale(System.Numerics.Vector2 scales) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateScale(System.Numerics.Vector2 scales, System.Numerics.Vector2 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateScale(float scale) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateScale(float scale, System.Numerics.Vector2 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateScale(float xScale, float yScale) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateScale(float xScale, float yScale, System.Numerics.Vector2 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateSkew(float radiansX, float radiansY) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateSkew(float radiansX, float radiansY, System.Numerics.Vector2 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateTranslation(System.Numerics.Vector2 position) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 CreateTranslation(float xPosition, float yPosition) { throw null; }
|
||||
public bool Equals(System.Numerics.Matrix3x2 other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public float GetDeterminant() { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static bool Invert(System.Numerics.Matrix3x2 matrix, out System.Numerics.Matrix3x2 result) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 Lerp(System.Numerics.Matrix3x2 matrix1, System.Numerics.Matrix3x2 matrix2, float amount) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 Multiply(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 Multiply(System.Numerics.Matrix3x2 value1, float value2) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 Negate(System.Numerics.Matrix3x2 value) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 operator +(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 operator *(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 operator *(System.Numerics.Matrix3x2 value1, float value2) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 operator -(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 operator -(System.Numerics.Matrix3x2 value) { throw null; }
|
||||
public static System.Numerics.Matrix3x2 Subtract(System.Numerics.Matrix3x2 value1, System.Numerics.Matrix3x2 value2) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
}
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Matrix4x4 : System.IEquatable<System.Numerics.Matrix4x4>
|
||||
{
|
||||
public float M11;
|
||||
public float M12;
|
||||
public float M13;
|
||||
public float M14;
|
||||
public float M21;
|
||||
public float M22;
|
||||
public float M23;
|
||||
public float M24;
|
||||
public float M31;
|
||||
public float M32;
|
||||
public float M33;
|
||||
public float M34;
|
||||
public float M41;
|
||||
public float M42;
|
||||
public float M43;
|
||||
public float M44;
|
||||
public Matrix4x4(System.Numerics.Matrix3x2 value) { throw null; }
|
||||
public Matrix4x4(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Identity { get { throw null; } }
|
||||
public bool IsIdentity { get { throw null; } }
|
||||
public System.Numerics.Vector3 Translation { get { throw null; } set { } }
|
||||
public static System.Numerics.Matrix4x4 Add(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateBillboard(System.Numerics.Vector3 objectPosition, System.Numerics.Vector3 cameraPosition, System.Numerics.Vector3 cameraUpVector, System.Numerics.Vector3 cameraForwardVector) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateConstrainedBillboard(System.Numerics.Vector3 objectPosition, System.Numerics.Vector3 cameraPosition, System.Numerics.Vector3 rotateAxis, System.Numerics.Vector3 cameraForwardVector, System.Numerics.Vector3 objectForwardVector) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateFromAxisAngle(System.Numerics.Vector3 axis, float angle) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateFromQuaternion(System.Numerics.Quaternion quaternion) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateFromYawPitchRoll(float yaw, float pitch, float roll) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateLookAt(System.Numerics.Vector3 cameraPosition, System.Numerics.Vector3 cameraTarget, System.Numerics.Vector3 cameraUpVector) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateOrthographic(float width, float height, float zNearPlane, float zFarPlane) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNearPlane, float zFarPlane) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreatePerspective(float width, float height, float nearPlaneDistance, float farPlaneDistance) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreatePerspectiveFieldOfView(float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateReflection(System.Numerics.Plane value) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateRotationX(float radians) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateRotationX(float radians, System.Numerics.Vector3 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateRotationY(float radians) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateRotationY(float radians, System.Numerics.Vector3 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateRotationZ(float radians) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateRotationZ(float radians, System.Numerics.Vector3 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateScale(System.Numerics.Vector3 scales) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateScale(System.Numerics.Vector3 scales, System.Numerics.Vector3 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateScale(float scale) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateScale(float scale, System.Numerics.Vector3 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateScale(float xScale, float yScale, float zScale) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateScale(float xScale, float yScale, float zScale, System.Numerics.Vector3 centerPoint) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateShadow(System.Numerics.Vector3 lightDirection, System.Numerics.Plane plane) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateTranslation(System.Numerics.Vector3 position) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateTranslation(float xPosition, float yPosition, float zPosition) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 CreateWorld(System.Numerics.Vector3 position, System.Numerics.Vector3 forward, System.Numerics.Vector3 up) { throw null; }
|
||||
public static bool Decompose(System.Numerics.Matrix4x4 matrix, out System.Numerics.Vector3 scale, out System.Numerics.Quaternion rotation, out System.Numerics.Vector3 translation) { throw null; }
|
||||
public bool Equals(System.Numerics.Matrix4x4 other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public float GetDeterminant() { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static bool Invert(System.Numerics.Matrix4x4 matrix, out System.Numerics.Matrix4x4 result) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Lerp(System.Numerics.Matrix4x4 matrix1, System.Numerics.Matrix4x4 matrix2, float amount) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Multiply(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Multiply(System.Numerics.Matrix4x4 value1, float value2) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Negate(System.Numerics.Matrix4x4 value) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 operator +(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 operator *(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 operator *(System.Numerics.Matrix4x4 value1, float value2) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 operator -(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 operator -(System.Numerics.Matrix4x4 value) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Subtract(System.Numerics.Matrix4x4 value1, System.Numerics.Matrix4x4 value2) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Transform(System.Numerics.Matrix4x4 value, System.Numerics.Quaternion rotation) { throw null; }
|
||||
public static System.Numerics.Matrix4x4 Transpose(System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
}
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Plane : System.IEquatable<System.Numerics.Plane>
|
||||
{
|
||||
public float D;
|
||||
public System.Numerics.Vector3 Normal;
|
||||
public Plane(System.Numerics.Vector3 normal, float d) { throw null; }
|
||||
public Plane(System.Numerics.Vector4 value) { throw null; }
|
||||
public Plane(float x, float y, float z, float d) { throw null; }
|
||||
public static System.Numerics.Plane CreateFromVertices(System.Numerics.Vector3 point1, System.Numerics.Vector3 point2, System.Numerics.Vector3 point3) { throw null; }
|
||||
public static float Dot(System.Numerics.Plane plane, System.Numerics.Vector4 value) { throw null; }
|
||||
public static float DotCoordinate(System.Numerics.Plane plane, System.Numerics.Vector3 value) { throw null; }
|
||||
public static float DotNormal(System.Numerics.Plane plane, System.Numerics.Vector3 value) { throw null; }
|
||||
public bool Equals(System.Numerics.Plane other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static System.Numerics.Plane Normalize(System.Numerics.Plane value) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Plane value1, System.Numerics.Plane value2) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Plane value1, System.Numerics.Plane value2) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public static System.Numerics.Plane Transform(System.Numerics.Plane plane, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
public static System.Numerics.Plane Transform(System.Numerics.Plane plane, System.Numerics.Quaternion rotation) { throw null; }
|
||||
}
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Quaternion : System.IEquatable<System.Numerics.Quaternion>
|
||||
{
|
||||
public float W;
|
||||
public float X;
|
||||
public float Y;
|
||||
public float Z;
|
||||
public Quaternion(System.Numerics.Vector3 vectorPart, float scalarPart) { throw null; }
|
||||
public Quaternion(float x, float y, float z, float w) { throw null; }
|
||||
public static System.Numerics.Quaternion Identity { get { throw null; } }
|
||||
public bool IsIdentity { get { throw null; } }
|
||||
public static System.Numerics.Quaternion Add(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static System.Numerics.Quaternion Concatenate(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static System.Numerics.Quaternion Conjugate(System.Numerics.Quaternion value) { throw null; }
|
||||
public static System.Numerics.Quaternion CreateFromAxisAngle(System.Numerics.Vector3 axis, float angle) { throw null; }
|
||||
public static System.Numerics.Quaternion CreateFromRotationMatrix(System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
public static System.Numerics.Quaternion CreateFromYawPitchRoll(float yaw, float pitch, float roll) { throw null; }
|
||||
public static System.Numerics.Quaternion Divide(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static float Dot(System.Numerics.Quaternion quaternion1, System.Numerics.Quaternion quaternion2) { throw null; }
|
||||
public bool Equals(System.Numerics.Quaternion other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static System.Numerics.Quaternion Inverse(System.Numerics.Quaternion value) { throw null; }
|
||||
public float Length() { throw null; }
|
||||
public float LengthSquared() { throw null; }
|
||||
public static System.Numerics.Quaternion Lerp(System.Numerics.Quaternion quaternion1, System.Numerics.Quaternion quaternion2, float amount) { throw null; }
|
||||
public static System.Numerics.Quaternion Multiply(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static System.Numerics.Quaternion Multiply(System.Numerics.Quaternion value1, float value2) { throw null; }
|
||||
public static System.Numerics.Quaternion Negate(System.Numerics.Quaternion value) { throw null; }
|
||||
public static System.Numerics.Quaternion Normalize(System.Numerics.Quaternion value) { throw null; }
|
||||
public static System.Numerics.Quaternion operator +(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static System.Numerics.Quaternion operator /(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static System.Numerics.Quaternion operator *(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static System.Numerics.Quaternion operator *(System.Numerics.Quaternion value1, float value2) { throw null; }
|
||||
public static System.Numerics.Quaternion operator -(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public static System.Numerics.Quaternion operator -(System.Numerics.Quaternion value) { throw null; }
|
||||
public static System.Numerics.Quaternion Slerp(System.Numerics.Quaternion quaternion1, System.Numerics.Quaternion quaternion2, float amount) { throw null; }
|
||||
public static System.Numerics.Quaternion Subtract(System.Numerics.Quaternion value1, System.Numerics.Quaternion value2) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
}
|
||||
public static partial class Vector
|
||||
{
|
||||
public static bool IsHardwareAccelerated { get { throw null; } }
|
||||
public static System.Numerics.Vector<T> Abs<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Add<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> AndNot<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<byte> AsVectorByte<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<double> AsVectorDouble<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<short> AsVectorInt16<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<int> AsVectorInt32<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<long> AsVectorInt64<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static System.Numerics.Vector<sbyte> AsVectorSByte<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<float> AsVectorSingle<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static System.Numerics.Vector<ushort> AsVectorUInt16<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static System.Numerics.Vector<uint> AsVectorUInt32<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static System.Numerics.Vector<ulong> AsVectorUInt64<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> BitwiseAnd<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> BitwiseOr<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<float> ConditionalSelect(System.Numerics.Vector<int> condition, System.Numerics.Vector<float> left, System.Numerics.Vector<float> right) { throw null; }
|
||||
public static System.Numerics.Vector<double> ConditionalSelect(System.Numerics.Vector<long> condition, System.Numerics.Vector<double> left, System.Numerics.Vector<double> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> ConditionalSelect<T>(System.Numerics.Vector<T> condition, System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Divide<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static T Dot<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<long> Equals(System.Numerics.Vector<double> left, System.Numerics.Vector<double> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> Equals(System.Numerics.Vector<int> left, System.Numerics.Vector<int> right) { throw null; }
|
||||
public static System.Numerics.Vector<long> Equals(System.Numerics.Vector<long> left, System.Numerics.Vector<long> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> Equals(System.Numerics.Vector<float> left, System.Numerics.Vector<float> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> Equals<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool EqualsAll<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool EqualsAny<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<long> GreaterThan(System.Numerics.Vector<double> left, System.Numerics.Vector<double> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> GreaterThan(System.Numerics.Vector<int> left, System.Numerics.Vector<int> right) { throw null; }
|
||||
public static System.Numerics.Vector<long> GreaterThan(System.Numerics.Vector<long> left, System.Numerics.Vector<long> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> GreaterThan(System.Numerics.Vector<float> left, System.Numerics.Vector<float> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> GreaterThan<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool GreaterThanAll<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool GreaterThanAny<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<long> GreaterThanOrEqual(System.Numerics.Vector<double> left, System.Numerics.Vector<double> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> GreaterThanOrEqual(System.Numerics.Vector<int> left, System.Numerics.Vector<int> right) { throw null; }
|
||||
public static System.Numerics.Vector<long> GreaterThanOrEqual(System.Numerics.Vector<long> left, System.Numerics.Vector<long> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> GreaterThanOrEqual(System.Numerics.Vector<float> left, System.Numerics.Vector<float> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> GreaterThanOrEqual<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool GreaterThanOrEqualAll<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool GreaterThanOrEqualAny<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<long> LessThan(System.Numerics.Vector<double> left, System.Numerics.Vector<double> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> LessThan(System.Numerics.Vector<int> left, System.Numerics.Vector<int> right) { throw null; }
|
||||
public static System.Numerics.Vector<long> LessThan(System.Numerics.Vector<long> left, System.Numerics.Vector<long> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> LessThan(System.Numerics.Vector<float> left, System.Numerics.Vector<float> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> LessThan<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool LessThanAll<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool LessThanAny<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<long> LessThanOrEqual(System.Numerics.Vector<double> left, System.Numerics.Vector<double> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> LessThanOrEqual(System.Numerics.Vector<int> left, System.Numerics.Vector<int> right) { throw null; }
|
||||
public static System.Numerics.Vector<long> LessThanOrEqual(System.Numerics.Vector<long> left, System.Numerics.Vector<long> right) { throw null; }
|
||||
public static System.Numerics.Vector<int> LessThanOrEqual(System.Numerics.Vector<float> left, System.Numerics.Vector<float> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> LessThanOrEqual<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool LessThanOrEqualAll<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static bool LessThanOrEqualAny<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Max<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Min<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Multiply<T>(T left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Multiply<T>(System.Numerics.Vector<T> left, T right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Multiply<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Negate<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> OnesComplement<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> SquareRoot<T>(System.Numerics.Vector<T> value) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Subtract<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
public static System.Numerics.Vector<T> Xor<T>(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) where T : struct { throw null; }
|
||||
}
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Vector<T> : System.IEquatable<System.Numerics.Vector<T>>, System.IFormattable where T : struct
|
||||
{
|
||||
public Vector(T value) { throw null; }
|
||||
public Vector(T[] values) { throw null; }
|
||||
public Vector(T[] values, int index) { throw null; }
|
||||
public static int Count { get { throw null; } }
|
||||
public T this[int index] { get { throw null; } }
|
||||
public static System.Numerics.Vector<T> One { get { throw null; } }
|
||||
public static System.Numerics.Vector<T> Zero { get { throw null; } }
|
||||
public void CopyTo(T[] destination) { }
|
||||
public void CopyTo(T[] destination, int startIndex) { }
|
||||
public bool Equals(System.Numerics.Vector<T> other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static System.Numerics.Vector<T> operator +(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator &(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator |(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator /(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator ^(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static explicit operator System.Numerics.Vector<byte>(System.Numerics.Vector<T> value) { throw null; }
|
||||
public static explicit operator System.Numerics.Vector<double>(System.Numerics.Vector<T> value) { throw null; }
|
||||
public static explicit operator System.Numerics.Vector<short>(System.Numerics.Vector<T> value) { throw null; }
|
||||
public static explicit operator System.Numerics.Vector<int>(System.Numerics.Vector<T> value) { throw null; }
|
||||
public static explicit operator System.Numerics.Vector<long>(System.Numerics.Vector<T> value) { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static explicit operator System.Numerics.Vector<sbyte>(System.Numerics.Vector<T> value) { throw null; }
|
||||
public static explicit operator System.Numerics.Vector<float>(System.Numerics.Vector<T> value) { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static explicit operator System.Numerics.Vector<ushort>(System.Numerics.Vector<T> value) { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static explicit operator System.Numerics.Vector<uint>(System.Numerics.Vector<T> value) { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public static explicit operator System.Numerics.Vector<ulong>(System.Numerics.Vector<T> value) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator *(T factor, System.Numerics.Vector<T> value) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator *(System.Numerics.Vector<T> value, T factor) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator *(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator ~(System.Numerics.Vector<T> value) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator -(System.Numerics.Vector<T> left, System.Numerics.Vector<T> right) { throw null; }
|
||||
public static System.Numerics.Vector<T> operator -(System.Numerics.Vector<T> value) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public string ToString(string format) { throw null; }
|
||||
public string ToString(string format, System.IFormatProvider formatProvider) { throw null; }
|
||||
}
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Vector2 : System.IEquatable<System.Numerics.Vector2>, System.IFormattable
|
||||
{
|
||||
public float X;
|
||||
public float Y;
|
||||
public Vector2(float value) { throw null; }
|
||||
public Vector2(float x, float y) { throw null; }
|
||||
public static System.Numerics.Vector2 One { get { throw null; } }
|
||||
public static System.Numerics.Vector2 UnitX { get { throw null; } }
|
||||
public static System.Numerics.Vector2 UnitY { get { throw null; } }
|
||||
public static System.Numerics.Vector2 Zero { get { throw null; } }
|
||||
public static System.Numerics.Vector2 Abs(System.Numerics.Vector2 value) { throw null; }
|
||||
public static System.Numerics.Vector2 Add(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 Clamp(System.Numerics.Vector2 value1, System.Numerics.Vector2 min, System.Numerics.Vector2 max) { throw null; }
|
||||
public void CopyTo(float[] array) { }
|
||||
public void CopyTo(float[] array, int index) { }
|
||||
public static float Distance(System.Numerics.Vector2 value1, System.Numerics.Vector2 value2) { throw null; }
|
||||
public static float DistanceSquared(System.Numerics.Vector2 value1, System.Numerics.Vector2 value2) { throw null; }
|
||||
public static System.Numerics.Vector2 Divide(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 Divide(System.Numerics.Vector2 left, float divisor) { throw null; }
|
||||
public static float Dot(System.Numerics.Vector2 value1, System.Numerics.Vector2 value2) { throw null; }
|
||||
public bool Equals(System.Numerics.Vector2 other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public float Length() { throw null; }
|
||||
public float LengthSquared() { throw null; }
|
||||
public static System.Numerics.Vector2 Lerp(System.Numerics.Vector2 value1, System.Numerics.Vector2 value2, float amount) { throw null; }
|
||||
public static System.Numerics.Vector2 Max(System.Numerics.Vector2 value1, System.Numerics.Vector2 value2) { throw null; }
|
||||
public static System.Numerics.Vector2 Min(System.Numerics.Vector2 value1, System.Numerics.Vector2 value2) { throw null; }
|
||||
public static System.Numerics.Vector2 Multiply(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 Multiply(System.Numerics.Vector2 left, float right) { throw null; }
|
||||
public static System.Numerics.Vector2 Multiply(float left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 Negate(System.Numerics.Vector2 value) { throw null; }
|
||||
public static System.Numerics.Vector2 Normalize(System.Numerics.Vector2 value) { throw null; }
|
||||
public static System.Numerics.Vector2 operator +(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 operator /(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 operator /(System.Numerics.Vector2 value1, float value2) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 operator *(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 operator *(System.Numerics.Vector2 left, float right) { throw null; }
|
||||
public static System.Numerics.Vector2 operator *(float left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 operator -(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public static System.Numerics.Vector2 operator -(System.Numerics.Vector2 value) { throw null; }
|
||||
public static System.Numerics.Vector2 Reflect(System.Numerics.Vector2 vector, System.Numerics.Vector2 normal) { throw null; }
|
||||
public static System.Numerics.Vector2 SquareRoot(System.Numerics.Vector2 value) { throw null; }
|
||||
public static System.Numerics.Vector2 Subtract(System.Numerics.Vector2 left, System.Numerics.Vector2 right) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public string ToString(string format) { throw null; }
|
||||
public string ToString(string format, System.IFormatProvider formatProvider) { throw null; }
|
||||
public static System.Numerics.Vector2 Transform(System.Numerics.Vector2 position, System.Numerics.Matrix3x2 matrix) { throw null; }
|
||||
public static System.Numerics.Vector2 Transform(System.Numerics.Vector2 position, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
public static System.Numerics.Vector2 Transform(System.Numerics.Vector2 value, System.Numerics.Quaternion rotation) { throw null; }
|
||||
public static System.Numerics.Vector2 TransformNormal(System.Numerics.Vector2 normal, System.Numerics.Matrix3x2 matrix) { throw null; }
|
||||
public static System.Numerics.Vector2 TransformNormal(System.Numerics.Vector2 normal, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
}
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Vector3 : System.IEquatable<System.Numerics.Vector3>, System.IFormattable
|
||||
{
|
||||
public float X;
|
||||
public float Y;
|
||||
public float Z;
|
||||
public Vector3(System.Numerics.Vector2 value, float z) { throw null; }
|
||||
public Vector3(float value) { throw null; }
|
||||
public Vector3(float x, float y, float z) { throw null; }
|
||||
public static System.Numerics.Vector3 One { get { throw null; } }
|
||||
public static System.Numerics.Vector3 UnitX { get { throw null; } }
|
||||
public static System.Numerics.Vector3 UnitY { get { throw null; } }
|
||||
public static System.Numerics.Vector3 UnitZ { get { throw null; } }
|
||||
public static System.Numerics.Vector3 Zero { get { throw null; } }
|
||||
public static System.Numerics.Vector3 Abs(System.Numerics.Vector3 value) { throw null; }
|
||||
public static System.Numerics.Vector3 Add(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 Clamp(System.Numerics.Vector3 value1, System.Numerics.Vector3 min, System.Numerics.Vector3 max) { throw null; }
|
||||
public void CopyTo(float[] array) { }
|
||||
public void CopyTo(float[] array, int index) { }
|
||||
public static System.Numerics.Vector3 Cross(System.Numerics.Vector3 vector1, System.Numerics.Vector3 vector2) { throw null; }
|
||||
public static float Distance(System.Numerics.Vector3 value1, System.Numerics.Vector3 value2) { throw null; }
|
||||
public static float DistanceSquared(System.Numerics.Vector3 value1, System.Numerics.Vector3 value2) { throw null; }
|
||||
public static System.Numerics.Vector3 Divide(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 Divide(System.Numerics.Vector3 left, float divisor) { throw null; }
|
||||
public static float Dot(System.Numerics.Vector3 vector1, System.Numerics.Vector3 vector2) { throw null; }
|
||||
public bool Equals(System.Numerics.Vector3 other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public float Length() { throw null; }
|
||||
public float LengthSquared() { throw null; }
|
||||
public static System.Numerics.Vector3 Lerp(System.Numerics.Vector3 value1, System.Numerics.Vector3 value2, float amount) { throw null; }
|
||||
public static System.Numerics.Vector3 Max(System.Numerics.Vector3 value1, System.Numerics.Vector3 value2) { throw null; }
|
||||
public static System.Numerics.Vector3 Min(System.Numerics.Vector3 value1, System.Numerics.Vector3 value2) { throw null; }
|
||||
public static System.Numerics.Vector3 Multiply(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 Multiply(System.Numerics.Vector3 left, float right) { throw null; }
|
||||
public static System.Numerics.Vector3 Multiply(float left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 Negate(System.Numerics.Vector3 value) { throw null; }
|
||||
public static System.Numerics.Vector3 Normalize(System.Numerics.Vector3 value) { throw null; }
|
||||
public static System.Numerics.Vector3 operator +(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 operator /(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 operator /(System.Numerics.Vector3 value1, float value2) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 operator *(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 operator *(System.Numerics.Vector3 left, float right) { throw null; }
|
||||
public static System.Numerics.Vector3 operator *(float left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 operator -(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public static System.Numerics.Vector3 operator -(System.Numerics.Vector3 value) { throw null; }
|
||||
public static System.Numerics.Vector3 Reflect(System.Numerics.Vector3 vector, System.Numerics.Vector3 normal) { throw null; }
|
||||
public static System.Numerics.Vector3 SquareRoot(System.Numerics.Vector3 value) { throw null; }
|
||||
public static System.Numerics.Vector3 Subtract(System.Numerics.Vector3 left, System.Numerics.Vector3 right) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public string ToString(string format) { throw null; }
|
||||
public string ToString(string format, System.IFormatProvider formatProvider) { throw null; }
|
||||
public static System.Numerics.Vector3 Transform(System.Numerics.Vector3 position, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
public static System.Numerics.Vector3 Transform(System.Numerics.Vector3 value, System.Numerics.Quaternion rotation) { throw null; }
|
||||
public static System.Numerics.Vector3 TransformNormal(System.Numerics.Vector3 normal, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
}
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct Vector4 : System.IEquatable<System.Numerics.Vector4>, System.IFormattable
|
||||
{
|
||||
public float W;
|
||||
public float X;
|
||||
public float Y;
|
||||
public float Z;
|
||||
public Vector4(System.Numerics.Vector2 value, float z, float w) { throw null; }
|
||||
public Vector4(System.Numerics.Vector3 value, float w) { throw null; }
|
||||
public Vector4(float value) { throw null; }
|
||||
public Vector4(float x, float y, float z, float w) { throw null; }
|
||||
public static System.Numerics.Vector4 One { get { throw null; } }
|
||||
public static System.Numerics.Vector4 UnitW { get { throw null; } }
|
||||
public static System.Numerics.Vector4 UnitX { get { throw null; } }
|
||||
public static System.Numerics.Vector4 UnitY { get { throw null; } }
|
||||
public static System.Numerics.Vector4 UnitZ { get { throw null; } }
|
||||
public static System.Numerics.Vector4 Zero { get { throw null; } }
|
||||
public static System.Numerics.Vector4 Abs(System.Numerics.Vector4 value) { throw null; }
|
||||
public static System.Numerics.Vector4 Add(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 Clamp(System.Numerics.Vector4 value1, System.Numerics.Vector4 min, System.Numerics.Vector4 max) { throw null; }
|
||||
public void CopyTo(float[] array) { }
|
||||
public void CopyTo(float[] array, int index) { }
|
||||
public static float Distance(System.Numerics.Vector4 value1, System.Numerics.Vector4 value2) { throw null; }
|
||||
public static float DistanceSquared(System.Numerics.Vector4 value1, System.Numerics.Vector4 value2) { throw null; }
|
||||
public static System.Numerics.Vector4 Divide(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 Divide(System.Numerics.Vector4 left, float divisor) { throw null; }
|
||||
public static float Dot(System.Numerics.Vector4 vector1, System.Numerics.Vector4 vector2) { throw null; }
|
||||
public bool Equals(System.Numerics.Vector4 other) { throw null; }
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public float Length() { throw null; }
|
||||
public float LengthSquared() { throw null; }
|
||||
public static System.Numerics.Vector4 Lerp(System.Numerics.Vector4 value1, System.Numerics.Vector4 value2, float amount) { throw null; }
|
||||
public static System.Numerics.Vector4 Max(System.Numerics.Vector4 value1, System.Numerics.Vector4 value2) { throw null; }
|
||||
public static System.Numerics.Vector4 Min(System.Numerics.Vector4 value1, System.Numerics.Vector4 value2) { throw null; }
|
||||
public static System.Numerics.Vector4 Multiply(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 Multiply(System.Numerics.Vector4 left, float right) { throw null; }
|
||||
public static System.Numerics.Vector4 Multiply(float left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 Negate(System.Numerics.Vector4 value) { throw null; }
|
||||
public static System.Numerics.Vector4 Normalize(System.Numerics.Vector4 vector) { throw null; }
|
||||
public static System.Numerics.Vector4 operator +(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 operator /(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 operator /(System.Numerics.Vector4 value1, float value2) { throw null; }
|
||||
public static bool operator ==(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static bool operator !=(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 operator *(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 operator *(System.Numerics.Vector4 left, float right) { throw null; }
|
||||
public static System.Numerics.Vector4 operator *(float left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 operator -(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public static System.Numerics.Vector4 operator -(System.Numerics.Vector4 value) { throw null; }
|
||||
public static System.Numerics.Vector4 SquareRoot(System.Numerics.Vector4 value) { throw null; }
|
||||
public static System.Numerics.Vector4 Subtract(System.Numerics.Vector4 left, System.Numerics.Vector4 right) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public string ToString(string format) { throw null; }
|
||||
public string ToString(string format, System.IFormatProvider formatProvider) { throw null; }
|
||||
public static System.Numerics.Vector4 Transform(System.Numerics.Vector2 position, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
public static System.Numerics.Vector4 Transform(System.Numerics.Vector2 value, System.Numerics.Quaternion rotation) { throw null; }
|
||||
public static System.Numerics.Vector4 Transform(System.Numerics.Vector3 position, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
public static System.Numerics.Vector4 Transform(System.Numerics.Vector3 value, System.Numerics.Quaternion rotation) { throw null; }
|
||||
public static System.Numerics.Vector4 Transform(System.Numerics.Vector4 vector, System.Numerics.Matrix4x4 matrix) { throw null; }
|
||||
public static System.Numerics.Vector4 Transform(System.Numerics.Vector4 value, System.Numerics.Quaternion rotation) { throw null; }
|
||||
}
|
||||
}
|
||||
15
external/corefx/src/System.Numerics.Vectors/ref/System.Numerics.Vectors.csproj
vendored
Normal file
15
external/corefx/src/System.Numerics.Vectors/ref/System.Numerics.Vectors.csproj
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uap-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uap-Release|AnyCPU'" />
|
||||
<ItemGroup>
|
||||
<Compile Include="System.Numerics.Vectors.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
|
||||
</ItemGroup>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
</Project>
|
||||
9
external/corefx/src/System.Numerics.Vectors/src/Configurations.props
vendored
Normal file
9
external/corefx/src/System.Numerics.Vectors/src/Configurations.props
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<BuildConfigurations>
|
||||
net46-Windows_NT;
|
||||
netcoreapp;
|
||||
</BuildConfigurations>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
141
external/corefx/src/System.Numerics.Vectors/src/Resources/Strings.resx
vendored
Normal file
141
external/corefx/src/System.Numerics.Vectors/src/Resources/Strings.resx
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Arg_ArgumentOutOfRangeException" xml:space="preserve">
|
||||
<value>Index was out of bounds:</value>
|
||||
</data>
|
||||
<data name="Arg_ElementsInSourceIsGreaterThanDestination" xml:space="preserve">
|
||||
<value>Number of elements in source vector is greater than the destination array</value>
|
||||
</data>
|
||||
<data name="Arg_MultiDimArrayNotSupported" xml:space="preserve">
|
||||
<value>Only one-dimensional arrays are supported</value>
|
||||
</data>
|
||||
<data name="Arg_NullArgumentNullRef" xml:space="preserve">
|
||||
<value>The method was called with a null array argument.</value>
|
||||
</data>
|
||||
<data name="Arg_RegisterLengthOfRangeException" xml:space="preserve">
|
||||
<value>length must be less than</value>
|
||||
</data>
|
||||
<data name="Arg_TypeNotSupported" xml:space="preserve">
|
||||
<value>Specified type is not supported</value>
|
||||
</data>
|
||||
<data name="Reflection_MethodNotSupported" xml:space="preserve">
|
||||
<value>Vector<T>.Count cannot be called via reflection when intrinsics are enabled.</value>
|
||||
</data>
|
||||
</root>
|
||||
89
external/corefx/src/System.Numerics.Vectors/src/System.Numerics.Vectors.csproj
vendored
Normal file
89
external/corefx/src/System.Numerics.Vectors/src/System.Numerics.Vectors.csproj
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{53134B0C-0D57-481B-B84E-D1991E8D54FF}</ProjectGuid>
|
||||
<RootNamespace>System.Numerics</RootNamespace>
|
||||
<AssemblyName>System.Numerics.Vectors</AssemblyName>
|
||||
<DocumentationFile>$(OutputPath)System.Numerics.Vectors.xml</DocumentationFile>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<IsPartialFacadeAssembly Condition="'$(TargetGroup)'=='net46'">true</IsPartialFacadeAssembly>
|
||||
<PackageTargetFramework Condition="'$(TargetGroup)' == 'netcoreapp'">netcoreapp;portable-net45+win8+wp8+wpa81</PackageTargetFramework>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
|
||||
<!-- Use the documentation file generated by this project for the reference assembly.
|
||||
This needs to be kept in sync with all of the PackageTargetFrameworks used by
|
||||
the reference assembly projects. -->
|
||||
<FilesToPackage Include="$(DocumentationFile)">
|
||||
<TargetPath>ref/netcoreapp</TargetPath>
|
||||
<IsReferenceAsset>true</IsReferenceAsset>
|
||||
</FilesToPackage>
|
||||
</ItemGroup>
|
||||
<!-- Default configurations to help VS understand the configurations -->
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='net46-Windows_NT-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='net46-Windows_NT-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='netcoreapp-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='netcoreapp-Release|AnyCPU'" />
|
||||
<!-- Shared -->
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\Common\src\System\Numerics\Hashing\HashHelpers.cs">
|
||||
<Link>Common\System\Numerics\Hashing\HashHelpers.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="System\Numerics\ConstantHelper.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>ConstantHelper.tt</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="System\Numerics\JitIntrinsicAttribute.cs" />
|
||||
<Compile Include="System\Numerics\Register.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Register.tt</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="System\Numerics\Vector.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Vector.tt</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="System\Numerics\Vector_Operations.cs" />
|
||||
</ItemGroup>
|
||||
<!-- Portable version only -->
|
||||
<ItemGroup Condition="'$(TargetGroup)'=='netcoreapp'">
|
||||
<Compile Include="System\Numerics\Matrix3x2.cs" />
|
||||
<Compile Include="System\Numerics\Matrix4x4.cs" />
|
||||
<Compile Include="System\Numerics\Plane.cs" />
|
||||
<Compile Include="System\Numerics\Quaternion.cs" />
|
||||
<Compile Include="System\Numerics\Vector2.cs" />
|
||||
<Compile Include="System\Numerics\Vector2_Intrinsics.cs" />
|
||||
<Compile Include="System\Numerics\Vector3.cs" />
|
||||
<Compile Include="System\Numerics\Vector3_Intrinsics.cs" />
|
||||
<Compile Include="System\Numerics\Vector4.cs" />
|
||||
<Compile Include="System\Numerics\Vector4_Intrinsics.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetGroup)'=='net46'">
|
||||
<TargetingPackReference Include="mscorlib" />
|
||||
<TargetingPackReference Include="System.Numerics" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="System\Numerics\GenerationConfig.ttinclude" />
|
||||
<Content Include="System\Numerics\ConstantHelper.tt">
|
||||
<Generator>TextTemplatingFileGenerator</Generator>
|
||||
<LastGenOutput>ConstantHelper.cs</LastGenOutput>
|
||||
</Content>
|
||||
<Content Include="System\Numerics\Register.tt">
|
||||
<Generator>TextTemplatingFileGenerator</Generator>
|
||||
<LastGenOutput>Register.cs</LastGenOutput>
|
||||
</Content>
|
||||
<Content Include="System\Numerics\Vector.tt">
|
||||
<Generator>TextTemplatingFileGenerator</Generator>
|
||||
<LastGenOutput>Vector.cs</LastGenOutput>
|
||||
</Content>
|
||||
<Reference Include="System.Diagnostics.Contracts" />
|
||||
<Reference Include="System.Diagnostics.Tools" />
|
||||
<Reference Include="System.Globalization" />
|
||||
<Reference Include="System.Resources.ResourceManager" />
|
||||
<Reference Include="System.Runtime" />
|
||||
<Reference Include="System.Runtime.Extensions" />
|
||||
</ItemGroup>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
</Project>
|
||||
142
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/ConstantHelper.cs
vendored
Normal file
142
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/ConstantHelper.cs
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace System.Numerics
|
||||
{
|
||||
internal class ConstantHelper
|
||||
{
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static Byte GetByteWithAllBitsSet()
|
||||
{
|
||||
Byte value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((Byte*)&value) = (Byte)0xff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static SByte GetSByteWithAllBitsSet()
|
||||
{
|
||||
SByte value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((SByte*)&value) = (SByte)0xff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static UInt16 GetUInt16WithAllBitsSet()
|
||||
{
|
||||
UInt16 value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((UInt16*)&value) = (UInt16)0xffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static Int16 GetInt16WithAllBitsSet()
|
||||
{
|
||||
Int16 value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((Int16*)&value) = (Int16)0xffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static UInt32 GetUInt32WithAllBitsSet()
|
||||
{
|
||||
UInt32 value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((UInt32*)&value) = (UInt32)0xffffffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static Int32 GetInt32WithAllBitsSet()
|
||||
{
|
||||
Int32 value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((Int32*)&value) = (Int32)0xffffffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static UInt64 GetUInt64WithAllBitsSet()
|
||||
{
|
||||
UInt64 value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((UInt64*)&value) = (UInt64)0xffffffffffffffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static Int64 GetInt64WithAllBitsSet()
|
||||
{
|
||||
Int64 value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((Int64*)&value) = (Int64)0xffffffffffffffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static Single GetSingleWithAllBitsSet()
|
||||
{
|
||||
Single value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((Int32*)&value) = (Int32)0xffffffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static Double GetDoubleWithAllBitsSet()
|
||||
{
|
||||
Double value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((Int64*)&value) = (Int64)0xffffffffffffffff;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
60
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/ConstantHelper.tt
vendored
Normal file
60
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/ConstantHelper.tt
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
<#@ template debug="true" hostSpecific="true" #>
|
||||
<#@ output extension=".cs" #>
|
||||
<#@ Assembly Name="System.Core.dll" #>
|
||||
<#@ Assembly Name="System.Xml.dll" #>
|
||||
<#@ Assembly Name="System.Xml.Linq.dll" #>
|
||||
<#@ Assembly Name="System.Windows.Forms.dll" #>
|
||||
<#@ import namespace="System" #>
|
||||
<#@ import namespace="System.IO" #>
|
||||
<#@ import namespace="System.Diagnostics" #>
|
||||
<#@ import namespace="System.Linq" #>
|
||||
<#@ import namespace="System.Xml.Linq" #>
|
||||
<#@ import namespace="System.Collections" #>
|
||||
<#@ import namespace="System.Collections.Generic" #>
|
||||
<#@ import namespace="System.Runtime.InteropServices" #>
|
||||
<#@ include file="GenerationConfig.ttinclude" #><# GenerateCopyrightHeader(); #>
|
||||
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace System.Numerics
|
||||
{
|
||||
internal class ConstantHelper
|
||||
{
|
||||
<# foreach (var type in supportedTypes)
|
||||
{
|
||||
string hexValue = "0x" + new string('f', Marshal.SizeOf(type) * 2);
|
||||
#>
|
||||
[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
|
||||
public static <#= type.Name #> Get<#= type.Name #>WithAllBitsSet()
|
||||
{
|
||||
<#= type.Name #> value = 0;
|
||||
unsafe
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
*((<#= GetIntegralEquivalent(type).Name #>*)&value) = (<#=GetIntegralEquivalent(type).Name#>)<#= hexValue #>;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
<#
|
||||
}
|
||||
#>
|
||||
}
|
||||
}<#+
|
||||
public Type GetIntegralEquivalent(Type type)
|
||||
{
|
||||
if (type == typeof(Single))
|
||||
{
|
||||
return typeof(Int32);
|
||||
}
|
||||
else if (type == typeof(double))
|
||||
{
|
||||
return typeof(Int64);
|
||||
}
|
||||
else
|
||||
{
|
||||
return type;
|
||||
}
|
||||
}
|
||||
#>
|
||||
69
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/GenerationConfig.ttinclude
vendored
Normal file
69
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/GenerationConfig.ttinclude
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
<#@ import namespace="System.Linq" #>
|
||||
<#@ import namespace="System.Collections.Generic" #>
|
||||
<#+
|
||||
/* This file includes static data used as compilation configuration for the rest of the code generation.
|
||||
It is shared here to ensure that all generated code compiles with the same constants and configurations. */
|
||||
|
||||
// The set of supported numeric types to compile
|
||||
public static Type[] supportedTypes = new[]
|
||||
{
|
||||
typeof(Byte), typeof(SByte), typeof(UInt16), typeof(Int16),
|
||||
typeof(UInt32), typeof(Int32), typeof(UInt64), typeof(Int64),
|
||||
typeof(Single), typeof(Double)
|
||||
};
|
||||
|
||||
// The set of unsigned types, a subset of the above. Used for excluding from certain methods, i.e. Abs and Negate
|
||||
public static Type[] unsignedTypes = new[]
|
||||
{
|
||||
typeof(Byte), typeof(UInt16), typeof(UInt32), typeof(UInt64)
|
||||
};
|
||||
|
||||
public static Type[] integralTypes = new[]
|
||||
{
|
||||
typeof(Byte), typeof(SByte), typeof(UInt16), typeof(Int16),
|
||||
typeof(UInt32), typeof(Int32), typeof(UInt64), typeof(Int64)
|
||||
};
|
||||
|
||||
public static Type[] nonClsCompliantTypes = new[]
|
||||
{
|
||||
typeof(SByte), typeof(UInt16),
|
||||
typeof(UInt32), typeof(UInt64)
|
||||
};
|
||||
|
||||
// The total register size, in bytes. 16 for SSE2, 32 for AVX, 64 for AVX512
|
||||
public static int totalSize = 16;
|
||||
|
||||
/* General template helper procedures */
|
||||
|
||||
// Returns the constructed register field name for the given type and index.
|
||||
public string GetRegisterFieldName(Type t, int index)
|
||||
{
|
||||
return "register." + t.Name.ToLowerInvariant() + "_" + index;
|
||||
}
|
||||
|
||||
// Returns the number of fields for a given type, based on the current configuration's register size
|
||||
public int GetNumFields(Type t, int totalSize)
|
||||
{
|
||||
return totalSize / Marshal.SizeOf(t);
|
||||
}
|
||||
|
||||
public void GenerateCopyrightHeader()
|
||||
{
|
||||
#>// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
<#+
|
||||
}
|
||||
|
||||
public string GenerateIfStatementHeader(Type type)
|
||||
{
|
||||
string keyword = (type == supportedTypes[0]) ? "if" : "else if";
|
||||
return string.Format("{0} (typeof(T) == typeof({1}))", keyword, type.Name);
|
||||
}
|
||||
|
||||
public string GenerateIfStatementHeader(Type type, IEnumerable<Type> allTypes)
|
||||
{
|
||||
string keyword = (type == allTypes.ToArray()[0]) ? "if" : "else if";
|
||||
return string.Format("{0} (typeof(T) == typeof({1}))", keyword, type.Name);
|
||||
}
|
||||
#>
|
||||
14
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/JitIntrinsicAttribute.cs
vendored
Normal file
14
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/JitIntrinsicAttribute.cs
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
namespace System.Numerics
|
||||
{
|
||||
/// <summary>
|
||||
/// An attribute that can be attached to JIT Intrinsic methods/properties
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Property)]
|
||||
internal class JitIntrinsicAttribute : Attribute
|
||||
{
|
||||
}
|
||||
}
|
||||
810
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Matrix3x2.cs
vendored
Normal file
810
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Matrix3x2.cs
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2213
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Matrix4x4.cs
vendored
Normal file
2213
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Matrix4x4.cs
vendored
Normal file
File diff suppressed because it is too large
Load Diff
367
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Plane.cs
vendored
Normal file
367
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Plane.cs
vendored
Normal file
@@ -0,0 +1,367 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Globalization;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace System.Numerics
|
||||
{
|
||||
/// <summary>
|
||||
/// A structure encapsulating a 3D Plane
|
||||
/// </summary>
|
||||
public struct Plane : IEquatable<Plane>
|
||||
{
|
||||
/// <summary>
|
||||
/// The normal vector of the Plane.
|
||||
/// </summary>
|
||||
public Vector3 Normal;
|
||||
/// <summary>
|
||||
/// The distance of the Plane along its normal from the origin.
|
||||
/// </summary>
|
||||
public float D;
|
||||
|
||||
/// <summary>
|
||||
/// Constructs a Plane from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
|
||||
/// </summary>
|
||||
/// <param name="x">The X-component of the normal.</param>
|
||||
/// <param name="y">The Y-component of the normal.</param>
|
||||
/// <param name="z">The Z-component of the normal.</param>
|
||||
/// <param name="d">The distance of the Plane along its normal from the origin.</param>
|
||||
public Plane(float x, float y, float z, float d)
|
||||
{
|
||||
Normal = new Vector3(x, y, z);
|
||||
this.D = d;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Constructs a Plane from the given normal and distance along the normal from the origin.
|
||||
/// </summary>
|
||||
/// <param name="normal">The Plane's normal vector.</param>
|
||||
/// <param name="d">The Plane's distance from the origin along its normal vector.</param>
|
||||
public Plane(Vector3 normal, float d)
|
||||
{
|
||||
this.Normal = normal;
|
||||
this.D = d;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Constructs a Plane from the given Vector4.
|
||||
/// </summary>
|
||||
/// <param name="value">A vector whose first 3 elements describe the normal vector,
|
||||
/// and whose W component defines the distance along that normal from the origin.</param>
|
||||
public Plane(Vector4 value)
|
||||
{
|
||||
Normal = new Vector3(value.X, value.Y, value.Z);
|
||||
D = value.W;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a Plane that contains the three given points.
|
||||
/// </summary>
|
||||
/// <param name="point1">The first point defining the Plane.</param>
|
||||
/// <param name="point2">The second point defining the Plane.</param>
|
||||
/// <param name="point3">The third point defining the Plane.</param>
|
||||
/// <returns>The Plane containing the three points.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static Plane CreateFromVertices(Vector3 point1, Vector3 point2, Vector3 point3)
|
||||
{
|
||||
if (Vector.IsHardwareAccelerated)
|
||||
{
|
||||
Vector3 a = point2 - point1;
|
||||
Vector3 b = point3 - point1;
|
||||
|
||||
// N = Cross(a, b)
|
||||
Vector3 n = Vector3.Cross(a, b);
|
||||
Vector3 normal = Vector3.Normalize(n);
|
||||
|
||||
// D = - Dot(N, point1)
|
||||
float d = -Vector3.Dot(normal, point1);
|
||||
|
||||
return new Plane(normal, d);
|
||||
}
|
||||
else
|
||||
{
|
||||
float ax = point2.X - point1.X;
|
||||
float ay = point2.Y - point1.Y;
|
||||
float az = point2.Z - point1.Z;
|
||||
|
||||
float bx = point3.X - point1.X;
|
||||
float by = point3.Y - point1.Y;
|
||||
float bz = point3.Z - point1.Z;
|
||||
|
||||
// N=Cross(a,b)
|
||||
float nx = ay * bz - az * by;
|
||||
float ny = az * bx - ax * bz;
|
||||
float nz = ax * by - ay * bx;
|
||||
|
||||
// Normalize(N)
|
||||
float ls = nx * nx + ny * ny + nz * nz;
|
||||
float invNorm = 1.0f / (float)Math.Sqrt((double)ls);
|
||||
|
||||
Vector3 normal = new Vector3(
|
||||
nx * invNorm,
|
||||
ny * invNorm,
|
||||
nz * invNorm);
|
||||
|
||||
return new Plane(
|
||||
normal,
|
||||
-(normal.X * point1.X + normal.Y * point1.Y + normal.Z * point1.Z));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Plane whose normal vector is the source Plane's normal vector normalized.
|
||||
/// </summary>
|
||||
/// <param name="value">The source Plane.</param>
|
||||
/// <returns>The normalized Plane.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static Plane Normalize(Plane value)
|
||||
{
|
||||
const float FLT_EPSILON = 1.192092896e-07f; // smallest such that 1.0+FLT_EPSILON != 1.0
|
||||
if (Vector.IsHardwareAccelerated)
|
||||
{
|
||||
float normalLengthSquared = value.Normal.LengthSquared();
|
||||
if (Math.Abs(normalLengthSquared - 1.0f) < FLT_EPSILON)
|
||||
{
|
||||
// It already normalized, so we don't need to farther process.
|
||||
return value;
|
||||
}
|
||||
float normalLength = (float)Math.Sqrt(normalLengthSquared);
|
||||
return new Plane(
|
||||
value.Normal / normalLength,
|
||||
value.D / normalLength);
|
||||
}
|
||||
else
|
||||
{
|
||||
float f = value.Normal.X * value.Normal.X + value.Normal.Y * value.Normal.Y + value.Normal.Z * value.Normal.Z;
|
||||
|
||||
if (Math.Abs(f - 1.0f) < FLT_EPSILON)
|
||||
{
|
||||
return value; // It already normalized, so we don't need to further process.
|
||||
}
|
||||
|
||||
float fInv = 1.0f / (float)Math.Sqrt(f);
|
||||
|
||||
return new Plane(
|
||||
value.Normal.X * fInv,
|
||||
value.Normal.Y * fInv,
|
||||
value.Normal.Z * fInv,
|
||||
value.D * fInv);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Transforms a normalized Plane by a Matrix.
|
||||
/// </summary>
|
||||
/// <param name="plane"> The normalized Plane to transform.
|
||||
/// This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called.</param>
|
||||
/// <param name="matrix">The transformation matrix to apply to the Plane.</param>
|
||||
/// <returns>The transformed Plane.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static Plane Transform(Plane plane, Matrix4x4 matrix)
|
||||
{
|
||||
Matrix4x4 m;
|
||||
Matrix4x4.Invert(matrix, out m);
|
||||
|
||||
float x = plane.Normal.X, y = plane.Normal.Y, z = plane.Normal.Z, w = plane.D;
|
||||
|
||||
return new Plane(
|
||||
x * m.M11 + y * m.M12 + z * m.M13 + w * m.M14,
|
||||
x * m.M21 + y * m.M22 + z * m.M23 + w * m.M24,
|
||||
x * m.M31 + y * m.M32 + z * m.M33 + w * m.M34,
|
||||
x * m.M41 + y * m.M42 + z * m.M43 + w * m.M44);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Transforms a normalized Plane by a Quaternion rotation.
|
||||
/// </summary>
|
||||
/// <param name="plane"> The normalized Plane to transform.
|
||||
/// This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called.</param>
|
||||
/// <param name="rotation">The Quaternion rotation to apply to the Plane.</param>
|
||||
/// <returns>A new Plane that results from applying the rotation.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static Plane Transform(Plane plane, Quaternion rotation)
|
||||
{
|
||||
// Compute rotation matrix.
|
||||
float x2 = rotation.X + rotation.X;
|
||||
float y2 = rotation.Y + rotation.Y;
|
||||
float z2 = rotation.Z + rotation.Z;
|
||||
|
||||
float wx2 = rotation.W * x2;
|
||||
float wy2 = rotation.W * y2;
|
||||
float wz2 = rotation.W * z2;
|
||||
float xx2 = rotation.X * x2;
|
||||
float xy2 = rotation.X * y2;
|
||||
float xz2 = rotation.X * z2;
|
||||
float yy2 = rotation.Y * y2;
|
||||
float yz2 = rotation.Y * z2;
|
||||
float zz2 = rotation.Z * z2;
|
||||
|
||||
float m11 = 1.0f - yy2 - zz2;
|
||||
float m21 = xy2 - wz2;
|
||||
float m31 = xz2 + wy2;
|
||||
|
||||
float m12 = xy2 + wz2;
|
||||
float m22 = 1.0f - xx2 - zz2;
|
||||
float m32 = yz2 - wx2;
|
||||
|
||||
float m13 = xz2 - wy2;
|
||||
float m23 = yz2 + wx2;
|
||||
float m33 = 1.0f - xx2 - yy2;
|
||||
|
||||
float x = plane.Normal.X, y = plane.Normal.Y, z = plane.Normal.Z;
|
||||
|
||||
return new Plane(
|
||||
x * m11 + y * m21 + z * m31,
|
||||
x * m12 + y * m22 + z * m32,
|
||||
x * m13 + y * m23 + z * m33,
|
||||
plane.D);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calculates the dot product of a Plane and Vector4.
|
||||
/// </summary>
|
||||
/// <param name="plane">The Plane.</param>
|
||||
/// <param name="value">The Vector4.</param>
|
||||
/// <returns>The dot product.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static float Dot(Plane plane, Vector4 value)
|
||||
{
|
||||
return plane.Normal.X * value.X +
|
||||
plane.Normal.Y * value.Y +
|
||||
plane.Normal.Z * value.Z +
|
||||
plane.D * value.W;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the dot product of a specified Vector3 and the normal vector of this Plane plus the distance (D) value of the Plane.
|
||||
/// </summary>
|
||||
/// <param name="plane">The plane.</param>
|
||||
/// <param name="value">The Vector3.</param>
|
||||
/// <returns>The resulting value.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static float DotCoordinate(Plane plane, Vector3 value)
|
||||
{
|
||||
if (Vector.IsHardwareAccelerated)
|
||||
{
|
||||
return Vector3.Dot(plane.Normal, value) + plane.D;
|
||||
}
|
||||
else
|
||||
{
|
||||
return plane.Normal.X * value.X +
|
||||
plane.Normal.Y * value.Y +
|
||||
plane.Normal.Z * value.Z +
|
||||
plane.D;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the dot product of a specified Vector3 and the Normal vector of this Plane.
|
||||
/// </summary>
|
||||
/// <param name="plane">The plane.</param>
|
||||
/// <param name="value">The Vector3.</param>
|
||||
/// <returns>The resulting dot product.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static float DotNormal(Plane plane, Vector3 value)
|
||||
{
|
||||
if (Vector.IsHardwareAccelerated)
|
||||
{
|
||||
return Vector3.Dot(plane.Normal, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
return plane.Normal.X * value.X +
|
||||
plane.Normal.Y * value.Y +
|
||||
plane.Normal.Z * value.Z;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a boolean indicating whether the two given Planes are equal.
|
||||
/// </summary>
|
||||
/// <param name="value1">The first Plane to compare.</param>
|
||||
/// <param name="value2">The second Plane to compare.</param>
|
||||
/// <returns>True if the Planes are equal; False otherwise.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static bool operator ==(Plane value1, Plane value2)
|
||||
{
|
||||
return (value1.Normal.X == value2.Normal.X &&
|
||||
value1.Normal.Y == value2.Normal.Y &&
|
||||
value1.Normal.Z == value2.Normal.Z &&
|
||||
value1.D == value2.D);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a boolean indicating whether the two given Planes are not equal.
|
||||
/// </summary>
|
||||
/// <param name="value1">The first Plane to compare.</param>
|
||||
/// <param name="value2">The second Plane to compare.</param>
|
||||
/// <returns>True if the Planes are not equal; False if they are equal.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static bool operator !=(Plane value1, Plane value2)
|
||||
{
|
||||
return (value1.Normal.X != value2.Normal.X ||
|
||||
value1.Normal.Y != value2.Normal.Y ||
|
||||
value1.Normal.Z != value2.Normal.Z ||
|
||||
value1.D != value2.D);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a boolean indicating whether the given Plane is equal to this Plane instance.
|
||||
/// </summary>
|
||||
/// <param name="other">The Plane to compare this instance to.</param>
|
||||
/// <returns>True if the other Plane is equal to this instance; False otherwise.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public bool Equals(Plane other)
|
||||
{
|
||||
if (Vector.IsHardwareAccelerated)
|
||||
{
|
||||
return this.Normal.Equals(other.Normal) && this.D == other.D;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (Normal.X == other.Normal.X &&
|
||||
Normal.Y == other.Normal.Y &&
|
||||
Normal.Z == other.Normal.Z &&
|
||||
D == other.D);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a boolean indicating whether the given Object is equal to this Plane instance.
|
||||
/// </summary>
|
||||
/// <param name="obj">The Object to compare against.</param>
|
||||
/// <returns>True if the Object is equal to this Plane; False otherwise.</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj is Plane)
|
||||
{
|
||||
return Equals((Plane)obj);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a String representing this Plane instance.
|
||||
/// </summary>
|
||||
/// <returns>The string representation.</returns>
|
||||
public override string ToString()
|
||||
{
|
||||
CultureInfo ci = CultureInfo.CurrentCulture;
|
||||
|
||||
return String.Format(ci, "{{Normal:{0} D:{1}}}", Normal.ToString(), D.ToString(ci));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the hash code for this instance.
|
||||
/// </summary>
|
||||
/// <returns>The hash code.</returns>
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return Normal.GetHashCode() + D.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
794
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Quaternion.cs
vendored
Normal file
794
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Quaternion.cs
vendored
Normal file
File diff suppressed because it is too large
Load Diff
172
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Register.cs
vendored
Normal file
172
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Register.cs
vendored
Normal file
@@ -0,0 +1,172 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace System.Numerics
|
||||
{
|
||||
/// <summary>
|
||||
/// A structure describing the layout of an SSE2-sized register.
|
||||
/// Contains overlapping fields representing the set of valid numeric types.
|
||||
/// Allows the generic Vector'T struct to contain an explicit field layout.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
internal struct Register
|
||||
{
|
||||
#region Internal Storage Fields
|
||||
// Internal System.Byte Fields
|
||||
[FieldOffset(0)]
|
||||
internal Byte byte_0;
|
||||
[FieldOffset(1)]
|
||||
internal Byte byte_1;
|
||||
[FieldOffset(2)]
|
||||
internal Byte byte_2;
|
||||
[FieldOffset(3)]
|
||||
internal Byte byte_3;
|
||||
[FieldOffset(4)]
|
||||
internal Byte byte_4;
|
||||
[FieldOffset(5)]
|
||||
internal Byte byte_5;
|
||||
[FieldOffset(6)]
|
||||
internal Byte byte_6;
|
||||
[FieldOffset(7)]
|
||||
internal Byte byte_7;
|
||||
[FieldOffset(8)]
|
||||
internal Byte byte_8;
|
||||
[FieldOffset(9)]
|
||||
internal Byte byte_9;
|
||||
[FieldOffset(10)]
|
||||
internal Byte byte_10;
|
||||
[FieldOffset(11)]
|
||||
internal Byte byte_11;
|
||||
[FieldOffset(12)]
|
||||
internal Byte byte_12;
|
||||
[FieldOffset(13)]
|
||||
internal Byte byte_13;
|
||||
[FieldOffset(14)]
|
||||
internal Byte byte_14;
|
||||
[FieldOffset(15)]
|
||||
internal Byte byte_15;
|
||||
|
||||
// Internal System.SByte Fields
|
||||
[FieldOffset(0)]
|
||||
internal SByte sbyte_0;
|
||||
[FieldOffset(1)]
|
||||
internal SByte sbyte_1;
|
||||
[FieldOffset(2)]
|
||||
internal SByte sbyte_2;
|
||||
[FieldOffset(3)]
|
||||
internal SByte sbyte_3;
|
||||
[FieldOffset(4)]
|
||||
internal SByte sbyte_4;
|
||||
[FieldOffset(5)]
|
||||
internal SByte sbyte_5;
|
||||
[FieldOffset(6)]
|
||||
internal SByte sbyte_6;
|
||||
[FieldOffset(7)]
|
||||
internal SByte sbyte_7;
|
||||
[FieldOffset(8)]
|
||||
internal SByte sbyte_8;
|
||||
[FieldOffset(9)]
|
||||
internal SByte sbyte_9;
|
||||
[FieldOffset(10)]
|
||||
internal SByte sbyte_10;
|
||||
[FieldOffset(11)]
|
||||
internal SByte sbyte_11;
|
||||
[FieldOffset(12)]
|
||||
internal SByte sbyte_12;
|
||||
[FieldOffset(13)]
|
||||
internal SByte sbyte_13;
|
||||
[FieldOffset(14)]
|
||||
internal SByte sbyte_14;
|
||||
[FieldOffset(15)]
|
||||
internal SByte sbyte_15;
|
||||
|
||||
// Internal System.UInt16 Fields
|
||||
[FieldOffset(0)]
|
||||
internal UInt16 uint16_0;
|
||||
[FieldOffset(2)]
|
||||
internal UInt16 uint16_1;
|
||||
[FieldOffset(4)]
|
||||
internal UInt16 uint16_2;
|
||||
[FieldOffset(6)]
|
||||
internal UInt16 uint16_3;
|
||||
[FieldOffset(8)]
|
||||
internal UInt16 uint16_4;
|
||||
[FieldOffset(10)]
|
||||
internal UInt16 uint16_5;
|
||||
[FieldOffset(12)]
|
||||
internal UInt16 uint16_6;
|
||||
[FieldOffset(14)]
|
||||
internal UInt16 uint16_7;
|
||||
|
||||
// Internal System.Int16 Fields
|
||||
[FieldOffset(0)]
|
||||
internal Int16 int16_0;
|
||||
[FieldOffset(2)]
|
||||
internal Int16 int16_1;
|
||||
[FieldOffset(4)]
|
||||
internal Int16 int16_2;
|
||||
[FieldOffset(6)]
|
||||
internal Int16 int16_3;
|
||||
[FieldOffset(8)]
|
||||
internal Int16 int16_4;
|
||||
[FieldOffset(10)]
|
||||
internal Int16 int16_5;
|
||||
[FieldOffset(12)]
|
||||
internal Int16 int16_6;
|
||||
[FieldOffset(14)]
|
||||
internal Int16 int16_7;
|
||||
|
||||
// Internal System.UInt32 Fields
|
||||
[FieldOffset(0)]
|
||||
internal UInt32 uint32_0;
|
||||
[FieldOffset(4)]
|
||||
internal UInt32 uint32_1;
|
||||
[FieldOffset(8)]
|
||||
internal UInt32 uint32_2;
|
||||
[FieldOffset(12)]
|
||||
internal UInt32 uint32_3;
|
||||
|
||||
// Internal System.Int32 Fields
|
||||
[FieldOffset(0)]
|
||||
internal Int32 int32_0;
|
||||
[FieldOffset(4)]
|
||||
internal Int32 int32_1;
|
||||
[FieldOffset(8)]
|
||||
internal Int32 int32_2;
|
||||
[FieldOffset(12)]
|
||||
internal Int32 int32_3;
|
||||
|
||||
// Internal System.UInt64 Fields
|
||||
[FieldOffset(0)]
|
||||
internal UInt64 uint64_0;
|
||||
[FieldOffset(8)]
|
||||
internal UInt64 uint64_1;
|
||||
|
||||
// Internal System.Int64 Fields
|
||||
[FieldOffset(0)]
|
||||
internal Int64 int64_0;
|
||||
[FieldOffset(8)]
|
||||
internal Int64 int64_1;
|
||||
|
||||
// Internal System.Single Fields
|
||||
[FieldOffset(0)]
|
||||
internal Single single_0;
|
||||
[FieldOffset(4)]
|
||||
internal Single single_1;
|
||||
[FieldOffset(8)]
|
||||
internal Single single_2;
|
||||
[FieldOffset(12)]
|
||||
internal Single single_3;
|
||||
|
||||
// Internal System.Double Fields
|
||||
[FieldOffset(0)]
|
||||
internal Double double_0;
|
||||
[FieldOffset(8)]
|
||||
internal Double double_1;
|
||||
|
||||
#endregion Internal Storage Fields
|
||||
}
|
||||
}
|
||||
46
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Register.tt
vendored
Normal file
46
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Register.tt
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
<#@ template debug="true" hostSpecific="true" #>
|
||||
<#@ output extension=".cs" #>
|
||||
<#@ Assembly Name="System.Core.dll" #>
|
||||
<#@ Assembly Name="System.Xml.dll" #>
|
||||
<#@ import namespace="System" #>
|
||||
<#@ import namespace="System.Linq" #>
|
||||
<#@ import namespace="System.Runtime.InteropServices" #>
|
||||
<#@ import namespace="System.Diagnostics" #>
|
||||
<#@ include file="GenerationConfig.ttinclude" #><# GenerateCopyrightHeader(); #>
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace System.Numerics
|
||||
{
|
||||
/// <summary>
|
||||
/// A structure describing the layout of an SSE2-sized register.
|
||||
/// Contains overlapping fields representing the set of valid numeric types.
|
||||
/// Allows the generic Vector'T struct to contain an explicit field layout.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
internal struct Register
|
||||
{
|
||||
#region Internal Storage Fields
|
||||
<#
|
||||
foreach (var type in supportedTypes)
|
||||
{
|
||||
Debug.Assert(
|
||||
totalSize % Marshal.SizeOf(type) == 0,
|
||||
"The size of supported structs must be a factor of the supported register size.");
|
||||
#>
|
||||
// Internal <#= type.FullName #> Fields
|
||||
<#
|
||||
for (int g = 0; g < totalSize / Marshal.SizeOf(type); g++)
|
||||
{
|
||||
#>
|
||||
[FieldOffset(<#=Marshal.SizeOf(type) * g#>)]
|
||||
internal <#=type.Name#> <#= type.Name.ToLowerInvariant() + "_" + g #>;
|
||||
<#
|
||||
}
|
||||
#>
|
||||
|
||||
<#
|
||||
}
|
||||
#> #endregion Internal Storage Fields
|
||||
}
|
||||
}
|
||||
1
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Vector.cs.REMOVED.git-id
vendored
Normal file
1
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Vector.cs.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
dd58b4da6b7d6bc85cce8c6c0cc55ff01f7b98e2
|
||||
1691
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Vector.tt
vendored
Normal file
1691
external/corefx/src/System.Numerics.Vectors/src/System/Numerics/Vector.tt
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user