当前位置: 首页>>代码示例>>C#>>正文


C# Single.GetLength方法代码示例

本文整理汇总了C#中System.Single.GetLength方法的典型用法代码示例。如果您正苦于以下问题:C# Single.GetLength方法的具体用法?C# Single.GetLength怎么用?C# Single.GetLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Single的用法示例。


在下文中一共展示了Single.GetLength方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: IsEqual

        public static bool IsEqual(this Int16[][] a, Single[][] b, Single atol = 0, Double rtol = 0)
        {
    if (a == null && b == null)
        return true;
    if (a == null ^ b == null)
        return false;
    int[] la = a.GetLength(true);
    int[] lb = b.GetLength(true);
    if (la.Length != lb.Length)
        return false;
    for (int i = 0; i < la.Length; i++)
        if (la[i] != lb[i])
            return false;

            if (rtol > 0)
            {
                for (int i = 0; i < a.Length; i++)
                    for (int j = 0; j < a[i].Length; j++)
{
    var A = a[i][j];
    var B = b[i][j];
    if (A == B)
        continue;
    if (Single.IsNaN(B))
        return false;
    if (Single.IsInfinity(B))
        return false;
    var C = A;
    var D = B;
    var delta = Math.Abs(C - D);
    if (C == 0)
    {
        if (delta <= rtol)
            continue;
    }
    else if (D == 0)
    {
        if (delta <= rtol)
            continue;
    }

    if (delta <= Math.Abs(C) * rtol)
        continue;
    return false;
}

            }
            else if (atol > 0)
            {
                for (int i = 0; i < a.Length; i++)
                    for (int j = 0; j < a[i].Length; j++)
{
    var A = a[i][j];
    var B = b[i][j];
    if (A == B)
        continue;
    if (Single.IsNaN(B))
        return false;
    if (Single.IsInfinity(B))
        return false;
    var C = A;
    var D = B;
    if (Math.Abs(C - D) <= atol)
        continue;
    return false;
}

            }
            else
            {
                for (int i = 0; i < a.Length; i++)
                    for (int j = 0; j < a[i].Length; j++)
{
    var A = a[i][j];
    var B = b[i][j];
    if (Single.IsNaN(B))
        return false;
    if (Single.IsInfinity(B))
        return false;
    if (A != B)
        return false;
}

            }

            return true;
        }
开发者ID:accord-net,项目名称:framework,代码行数:87,代码来源:Matrix.Comparisons1.Generated.cs

示例2: EigenvalueDecompositionF

        /// <summary>
        ///   Construct an eigenvalue decomposition.</summary>
        /// <param name="value">
        ///   The matrix to be decomposed.</param>
        /// <param name="assumeSymmetric">
        ///   Defines if the matrix should be assumed as being symmetric
        ///   regardless if it is or not. Default is <see langword="false"/>.</param>
        /// <param name="inPlace">
        ///   Pass <see langword="true"/> to perform the decomposition in place. The matrix
        ///   <paramref name="value"/> will be destroyed in the process, resulting in less
        ///   memory comsumption.</param>
        public EigenvalueDecompositionF(Single[,] value, bool assumeSymmetric, bool inPlace)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value", "Matrix cannot be null.");
            }

            if (value.GetLength(0) != value.GetLength(1))
            {
                throw new ArgumentException("Matrix is not a square matrix.", "value");
            }

            n = value.GetLength(1);
            V = new Single[n, n];
            d = new Single[n];
            e = new Single[n];


            this.symmetric = assumeSymmetric;

            if (this.symmetric)
            {
                V = inPlace ? value : (Single[,])value.Clone();

                // Tridiagonalize.
                this.tred2();

                // Diagonalize.
                this.tql2();
            }
            else
            {
                H = inPlace ? value : (Single[,])value.Clone();

                ort = new Single[n];

                // Reduce to Hessenberg form.
                this.orthes();

                // Reduce Hessenberg to real Schur form.
                this.hqr2();
            }
        }
开发者ID:KommuSoft,项目名称:accord_framework,代码行数:54,代码来源:EigenvalueDecompositionF.cs

示例3: WriteDistance

		private void WriteDistance(Single[,] result, string path)
		{
			var p_size = result.GetLength(0);
			var d_size = result.GetLength(1);

			using (var writer = new StreamWriter(path))
			{
				writer.WriteLine("{");
				for (var p = 0; p < p_size; p++)
				{
					writer.Write("{{{0:0}", result[p, 0]);
					for (var d = 1; d < d_size; d++)
					{
						writer.Write(",{0:0}", result[p, d]);
					}
					writer.WriteLine("},");
				}
				writer.WriteLine("};");
			}
		}
开发者ID:Corniel,项目名称:CloudBall.LostKeysUnited,代码行数:20,代码来源:ShootSimulatorTest.cs

示例4: EigenvalueDecompositionF

        /// <summary>
        ///   Construct an eigenvalue decomposition.</summary>
        ///
        /// <param name="value">
        ///   The matrix to be decomposed.</param>
        /// <param name="assumeSymmetric">
        ///   Defines if the matrix should be assumed as being symmetric
        ///   regardless if it is or not. Default is <see langword="false"/>.</param>
        /// <param name="inPlace">
        ///   Pass <see langword="true"/> to perform the decomposition in place. The matrix
        ///   <paramref name="value"/> will be destroyed in the process, resulting in less
        ///   memory comsumption.</param>
        /// <param name="sort">
        ///   Pass <see langword="true"/> to sort the eigenvalues and eigenvectors at the end
        ///   of the decomposition.</param>
        ///
        public EigenvalueDecompositionF(Single[,] value, bool assumeSymmetric,
            bool inPlace = false, bool sort = false)
        {
            if (value == null)
                throw new ArgumentNullException("value", "Matrix cannot be null.");

            if (value.GetLength(0) != value.GetLength(1))
                throw new ArgumentException("Matrix is not a square matrix.", "value");

            n = value.GetLength(1);
            V = new Single[n, n];
            d = new Single[n];
            e = new Single[n];


            this.symmetric = assumeSymmetric;

            if (this.symmetric)
            {
                V = inPlace ? value : (Single[,])value.Clone();

                // Tridiagonalize.
                this.tred2();

                // Diagonalize.
                this.tql2();
            }
            else
            {
                H = inPlace ? value : (Single[,])value.Clone();

                ort = new Single[n];

                // Reduce to Hessenberg form.
                this.orthes();

                // Reduce Hessenberg to real Schur form.
                this.hqr2();
            }

            if (sort)
            {
                // Sort eigenvalues and vectors in descending order
                var idx = Vector.Range(n);
                Array.Sort(idx, (i, j) => 
                {
                    if (Math.Abs(d[i]) == Math.Abs(d[j]))
                        return -Math.Abs(e[i]).CompareTo(Math.Abs(e[j]));
                    return -Math.Abs(d[i]).CompareTo(Math.Abs(d[j]));
                });

                this.d = this.d.Get(idx);
                this.e = this.e.Get(idx);
                this.V = this.V.Get(null, idx);
            }
        }
开发者ID:accord-net,项目名称:framework,代码行数:72,代码来源:EigenvalueDecompositionF.cs

示例5: TransformPlaneEquationToWorld

 public Int32 TransformPlaneEquationToWorld(Single[,] pPlaneEq, Single[] pose)
 {
     Int32 maxPlaneNumber = pPlaneEq.GetLength(0);
     return TransformPlaneEquationToWorld(maxPlaneNumber, pPlaneEq, pose);
 }
开发者ID:mbahar94,项目名称:libpxcclr.cs,代码行数:5,代码来源:pxcmsceneperception.cs


注:本文中的System.Single.GetLength方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。