You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There has already been some discussion about the implementation of mean (and functions relying on it) so far, and there are still related issues open.
This issue concerns the behavior of mean with respect to types defined in other packages.
An example case is FixedPointNumbers.jl, but this issue should not be specific to it.
#25 changed the behavior of mean with FixedPoint.
Briefly, it accumulates the sum with the intermediate type Float32, which was formerly Float64.
Therefore, FixedPointNumbers has added a workaround method definitions as below (cf. JuliaMath/FixedPointNumbers.jl#183):
The workaround has worked well so far, but we do not know about that in the future.
The lack of a public API corresponding to _mean_promote is a real problem, especially since Statistics.jl is now an upgradable stdlib.
Ideally, it would be better to have the ability to promote types in three separate steps: initialization, body (i.e., the current _mean_promote), and finalization.
Currently, in the accumulation, the inefficient conversion of fixed-point numbers to floating-point numbers runs.
We should be able to accumulate the sum in fixed-point numbers and finally convert it to a useful floating-point number (Float64).
The text was updated successfully, but these errors were encountered:
Of course, there is also the option of extending public APIs, such as mean.
But that will not work well with collections containing different types defined in different packages.
There has already been some discussion about the implementation of
mean
(and functions relying on it) so far, and there are still related issues open.This issue concerns the behavior of
mean
with respect to types defined in other packages.An example case is FixedPointNumbers.jl, but this issue should not be specific to it.
#25 changed the behavior of
mean
withFixedPoint
.Briefly, it accumulates the sum with the intermediate type
Float32
, which was formerlyFloat64
.Therefore,
FixedPointNumbers
has added a workaround method definitions as below (cf. JuliaMath/FixedPointNumbers.jl#183):The workaround has worked well so far, but we do not know about that in the future.
The lack of a public API corresponding to
_mean_promote
is a real problem, especially since Statistics.jl is now an upgradable stdlib.Ideally, it would be better to have the ability to promote types in three separate steps: initialization, body (i.e., the current
_mean_promote
), and finalization.Currently, in the accumulation, the inefficient conversion of fixed-point numbers to floating-point numbers runs.
We should be able to accumulate the sum in fixed-point numbers and finally convert it to a useful floating-point number (
Float64
).The text was updated successfully, but these errors were encountered: