为什么双重不浮动

时间:2018-04-26 14:51:39

标签: ojalgo

为什么推断类型是Double而不是Float?

final Array1D<Double> doubles = Array1D.factory(Primitive32Array.FACTORY).makeFilled(10, new Uniform());

或者换句话说,Primitive32Array.FACTORYPrimitive64Array.FACTORY之间有什么区别?

1 个答案:

答案 0 :(得分:1)

由于历史原因。 ojAlgo不支持最初的浮点数组/矩阵,而<Double>自然总是指一个底层的double []。

现在ojAlgo对float []有部分支持,但只能节省空间&#34;原始&#34;阵列。 Primitive32Array内部的所有内容(作为示例)都是float和float [],但其API仍为<Double>

在ojAlgo中<Double>本质上意味着&#34;原始&#34;。

预期完全支持float(对于矩阵和线性代数)。当/如果发生这种情况<Double>可能会被<Number>替换为表示任何内容&#34;原语&#34;。