为什么 Double 不浮动

Why Double not Float

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

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

换句话说,Primitive32Array.FACTORYPrimitive64Array.FACTORY有什么区别?

这是历史原因。 ojAlgo 最初不支持 float arrays/matrices,并且 <Double> 自然总是指底层的 double[].

现在 ojAlgo 部分支持 float[],但仅作为 space 保存 "primitive" 数组。 Primitive32Array(作为示例)内部的所有内容都是 float 和 float[],但它的 API 仍然是 <Double>

在 ojAlgo 中 <Double> 本质上意味着 "primitive".

考虑完全支持浮点数(用于矩阵和线性代数)。发生 <Double> 的 When/if 可能会被 <Number> 替换以表示任何 "primitive".