问题标签 [system.numerics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
48931 浏览

c# - 如何添加对 System.Numerics.dll 的引用

我想使用 System.Numerics 中的 BigInteger 类,但如果我想写

Numerics没有找到。我在网上搜索,发现我必须添加对 的引用System.Numerics.dll,但我该怎么做呢?

0 投票
6 回答
16336 浏览

c# - 如何在一定范围内生成随机 BigInteger?

考虑这种效果很好的方法:

现在,为了满足我正在学习的课程的要求,mightBePrime必须接受BigIntegerN,但这意味着我需要一种不同的方式来生成我的 random BigInteger a

我的第一个想法是做类似的事情BigInteger a = (N-1) * rGen.NextDouble (),但是 aBigInteger不能乘以 a double

如何生成BigInteger1 和 N-1 之间的随机数,其中 N 是 a BigInteger

0 投票
1 回答
855 浏览

.net - 为什么只有 Matrix3x2 和 Matrix4x4?

为什么System.Numerics 命名空间定义类型 Matrix3x2 和 Matrix4x4 但不提供 2x2 或 3x3 矩阵?这些至少同样有用。

0 投票
1 回答
932 浏览

.net - 类型或命名空间名称 'Vector' 在命名空间 'System.Numerics' 中不存在

我尝试System.Numerics.Vector<double>()在我的代码中使用,但出现构建错误

命名空间“System.Numerics”中不存在类型或命名空间名称“Vector”

我是否缺少程序集参考?

我的 csproj 目标是 .NET 4.6.1

在此处输入图像描述

其他类型正确显示

在此处输入图像描述

0 投票
2 回答
1210 浏览

.net - 为什么是矢量.计数静态?

我正在尝试使用System.Numerics.Vector<T>文档)。

我写了一个简单的单元测试:

但它给了我一个构建错误:

无法使用实例引用访问成员“Vector.Count”;改为使用类型名称来限定它

令我惊讶的是,Vector<T>.Count是静态的。

所以我尝试了:

现在代码构建但单元测试失败:

Assert.AreEqual 失败。预期:<3>。实际:<2>。

这是怎么回事?


调查我发现:

0 投票
1 回答
2757 浏览

c# - System.Numerics.Vector 中的元素总和在 .NET 4.6 中

我无法弄清楚如何在 System.Numerics.Vector 类型的向量中获取元素总和。

如果真的可以吗?我怎样才能做到这一点?

0 投票
2 回答
2645 浏览

c# - Org.BouncyCastle.Math.BigInteger.ToByteArrayUnsigned 的 .NET System.Numerics.BigInteger 等效项是什么?

我目前正在使用BouncyCastle 的 .NET 端口,System.Guid并且在使用本机 .NET将大整数转换为 a 时遇到了一些麻烦BigInteger

在某些情况下,我在一个(“源”)应用程序中使用 BouncyCastle 将 a 转换System.GuidOrg.BouncyCastle.Math.BigInteger. 然后将该值保存为格式为的字符串3A2B847A960F0E4A8D49BD62DDB6EB38

然后,在另一个(“目的地”)应用程序中,我将这个保存的字符串值 aBigInteger并尝试将其转换回System.Guid.

请注意,在目标应用程序中,我不希望 BouncyCastle 作为参考,而是希望使用核心 .NET 库进行转换。但是,由于我在使用核心 .NET 类进行转换时遇到问题,因此我使用的是 BouncyCastle,以下代码完全符合我的要求:

如您所见,有一种ToByteArrayUnsigned方法Org.BouncyCastle.Math.BigInteger可以使这项工作。如果我使用ToByteArrayon the System.Numerics.BigInteger(即使在调整数组大小时,如本问题中所述)它也不起作用,并且我得到的结果与System.Guid预期的不同。

那么,使用本机 .NET 类执行与上述操作等效的最佳方法是什么?

解决方案

感谢@John-Tasler 的建议,事实证明这是由于字节序……该死的字节序……你的字节序会结束吗?:P

var parsed = System.Numerics.BigInteger.Parse( "3A2B847A960F0E4A8D49BD62DDB6EB38", NumberStyles.HexNumber ).ToByteArray(); Array.Resize( ref parsed, 16 ); var guid = new Guid( parsed.Reverse().ToArray() ); // Hoorrrrayyyy!

0 投票
1 回答
591 浏览

c# - 指向包含 System.Numerics.Vector 的结构的指针在 C# 中

由于 SIMD,我正在尝试使用 System.Numerics 库制作带有 4 个双打的向量。所以我做了这个结构:

在这个阶段,我将其编码为 128 位 SIMD 寄存器。它工作正常,但是当我想要这样的东西时:

我明白了:

无法获取托管类型 ('Vector4D') 的地址、大小或声明指向托管类型的指针

知道如何将 stackalloc 与 System.Numerics.Vector 一起使用吗?使用 System.Numerics.Vector4 (浮点精度),指针没有问题,但我需要双精度。

0 投票
1 回答
423 浏览

c# - System.Numerics 平面是否向后?

我正在使用 System.Numerics 编写一些几何代码,我似乎在该Plane.CreateFromVertices方法的实现中遇到了一个错误。评论Plane.D说:

平面沿其法线向量到原点的距离。

但是,如果我在 Y = 0.5 处用三个顶点调用它,我会得到平面:

D是负数!据我所知,评论是错误的,应该将 D 标记为:

原点到平面沿法线向量的距离

orPlane.CreateFromVertices是错误的,D 应该是正数。

我是正确的(在这种情况下我应该去写一个错误报告),还是我在这里误解了一些东西(在这种情况下,是什么以及为什么?)。

0 投票
1 回答
812 浏览

c# - 如何在 MonoDevelop 中使用 BigInteger 类?

我在 Linux Mint 中使用 MonoDevelop。

我的问题是我找不到引用“System.Numerics”,否则我在使用 Windows 时可以在 VisualStudio 中轻松找到。

我特别想将 BigInteger 用于更大的值。我能找到的最接近的是这个库:https ://biginteger.codeplex.com/ ;这对我来说并没有真正起作用,因为我无法链接它。

(这是我在这里能找到的唯一与我的问题相似的东西,但对我不起作用:Mono missing System.Numerics.BigInteger.Parse(string,IFormatProvider)。任何其他允许我使用数字的建议欢迎大于 20 位数。)