标签: numeric

并行运行时,Java-8的DoubleStream.sum()方法是否稳定?

我对Java 8中的以下构造感到好奇:

double[] doubles = //...
double sum = DoubleStream.of(doubles).parallel().sum();
Run Code Online (Sandbox Code Playgroud)

切入追逐:

  • 值是否sum始终相同,例如在不同的计算机上运行时?

更多背景......

浮点运算是有损的,并且(与实值运算不同)不是关联的.因此,除非注意工作如何分割和重新组合,否则可能导致不确定的结果.

我很高兴地发现这种sum()方法采用了Kahan Summation.这显着减少了错误,但仍未提供精确的*结果.

在我的测试中,重复调用似乎每次返回相同的结果,但我想知道我们可以安全地假设它是多么稳定.例如:

  1. 在所有情况下都稳定?
  2. 在具有相同内核数量的计算机上是否稳定?
  3. 只在给定的计算机上稳定?
  4. 不能完全依赖它稳定吗?

我很高兴在每台计算机上采用相同的JVM版本.

这是我掀起的一项测试:

public static void main(String[] args) {
    Random random = new Random(42L);
    for (int j = 1; j < 20; j++) {

        // Stream increases in size and the magnitude of the values at each iteration.
        double[] doubles = generate(random, j*100, j);

        // Like a simple for loop
        double sum1 = DoubleStream.of(doubles).reduce(0, …
Run Code Online (Sandbox Code Playgroud)

java multithreading numeric java-8 java-stream

28
推荐指数
1
解决办法
1274
查看次数

将数字基数10转换为基数62(a-zA-Z0-9)

我在10号基地有一个号码.无论如何将它翻译成基地62?

例:

echo convert(12324324);
// returns Yg3 (fantasy example here)
Run Code Online (Sandbox Code Playgroud)

PHP base_convert()可以转换为36.

php encoding numeric alphanumeric character-encoding

27
推荐指数
3
解决办法
3万
查看次数

R中L的澄清

L在R的踪迹是:

c<-1:10
c
# [1]  1  2  3  4  5  6  7  8  9 10
c[-1]
# [1]  2  3  4  5  6  7  8  9 10
c[-2]
# [1]  1  3  4  5  6  7  8  9 10
c[-1L]
# [1]  2  3  4  5  6  7  8  9 10
c[-2L]
# [1]  1  3  4  5  6  7  8  9 10
Run Code Online (Sandbox Code Playgroud)

我尝试使用?L没有成功.

到底是x[<n>L]什么?任何进一步使用它的例子?

integer r numeric

26
推荐指数
1
解决办法
8773
查看次数

byte []到unsigned BigInteger?

动机: 我想将哈希值(MD5/SHA1等)转换为十进制整数,以便在Code128C中制作条形码.为简单起见,我更喜欢所有得到的(大)数字为正数.

我能够在C#中将byte []转换为BigInteger ...
从我到目前为止的示例:

byte[] data;
byte[] result;
BigInteger biResult;

result = shaM.ComputeHash(data);
biResult = new BigInteger(result);
Run Code Online (Sandbox Code Playgroud)

但是(这里生锈的CS)我更正确的是,字节数组总是可以用两种方式解释:A:作为有符号数B:作为无符号数

是否可以从C#中的byte []创建一个UNSIGNED BigInteger?

我应该简单地在字节[]的前面加一个0x00(零字节)吗?

编辑:感谢AakashM,Jon和Adam Robinson,在我需要的地方添加零字节.

编辑2:我应该做的主要是阅读BigInteger(byte [])构造函数的详细文档,然后我会看到有关如何通过附加零字节限制为正数的部分.

c# arrays numeric biginteger

24
推荐指数
5
解决办法
1万
查看次数

为什么numeric_limits <int> :: max()> numeric_limits <int> :: infinity()?

我正在阅读在C++中将int设置为Infinity.我明白,当一个人需要真正的无限时,一个人应该使用numeric_limits<float>::infinity(); 我猜的理由背后是通常整型已指定为用于表示如特殊状态没有价值的NaN,天道酬勤,像等IEEE 754个浮动不(再C++不强制要求既不- intfloat使用都留给实现); 但max > infinity对于给定的类型,它仍然是误导性的.我试图理解标准中这个调用背后的基本原理.如果infinity对某种类型没有意义,那么不应该禁止它而不是要检查其有效性的标志吗?

c++ integer limits numeric integral

24
推荐指数
3
解决办法
4188
查看次数

C# - 数字后缀

可能重复:
十进制类型的声明后缀

嘿大家,

在下面的代码片段中; RewardValue是小数:

dto.RewardValue = 1.5;
Run Code Online (Sandbox Code Playgroud)

现在,这给了我以下错误:

"无法将源类型double转换为目标类型decimal"

有意义,并且可以通过将代码行更改为以下内容来轻松修复:

dto.RewardValue = 1.5m;
Run Code Online (Sandbox Code Playgroud)

现在,"m"将其转换为小数,一切都很好.

有人知道我能在哪里找到所有那些"m"型操作符的列表吗?(如果你能让我知道那些适当的术语是什么,我们将不胜感激)

编辑: 感谢HCL和MartyIX让我知道这些被称为"后缀"

c# numeric

22
推荐指数
3
解决办法
2万
查看次数

检查javascript数组中的数字索引

我正在接收由数字索引聚合的json数据.

例如,当我在我的forloop中时,索引可能从1开始,这意味着在我的forloop中会发生错误,因为0不存在.

如何检查javascript数组中是否存在数字索引?

javascript arrays numeric multidimensional-array

22
推荐指数
2
解决办法
5万
查看次数

有关通用Scala函数的更多信息

尝试在Scala中实现以下Haskell函数(来自Learn You a Haskell ...),以便它可以与Int,Double等一起使用.

doubleUs x y = x * 2 + y * 2 
Run Code Online (Sandbox Code Playgroud)

请注意,这与Scala类似:如何定义"通用"函数参数?

这是我的尝试和错误.有人可以解释正在发生的事情并提供解决方案.谢谢.

scala> def doubleUs[A](x:A,y:A)(implicit numeric: Numeric[A]): A = numeric.plus(numeric.times(x,2),numeric.times(y,2)) 
<console>:34: error: type mismatch;
 found   : Int(2)
 required: A
       def doubleUs[A](x:A,y:A)(implicit numeric: Numeric[A]): A = numeric.plus(numeric.times(x,2),numeric.times(y,2)) 
Run Code Online (Sandbox Code Playgroud)

polymorphism haskell scala numeric

21
推荐指数
3
解决办法
1284
查看次数

Jquery检查value是否为数字

我想知道是否有人有一个快速和脏的jquery方法,将检查值是否为数字?我正在考虑使用正则表达式类型方法来检查值,如果不是不提交表单.我正在使用jquery验证,但我遇到的问题只是加载jquery验证.

我只有一个值,我想确保是数字.

jquery numeric

21
推荐指数
1
解决办法
7万
查看次数

MySQL - 仅从varchar列中选择数值

请考虑下表:

create table mixedvalues (value varchar(50));

insert into mixedvalues values 
('100'),
('ABC100'),
('200'),
('ABC200'),
('300'),
('ABC300'),
('400'),
('ABC400'),
('500'),
('ABC500');
Run Code Online (Sandbox Code Playgroud)

我怎么能写一个SELECT语句将只返回数字样值

100
200
300
400
500
Run Code Online (Sandbox Code Playgroud)

SQLFiddle

mysql sql varchar numeric

21
推荐指数
3
解决办法
6万
查看次数