On Thu, Jul 24, 2014 at 8:27 AM, Jaime Fernández del Río <
jaime.f...@gmail.com> wrote:

> On Thu, Jul 24, 2014 at 4:56 AM, Julian Taylor <
> jtaylor.deb...@googlemail.com> wrote:
>
>> In practice one of the better methods is pairwise summation that is
>>  pretty much as fast as a naive summation but has an accuracy of
>> O(logN) ulp.
>> This is the method numpy 1.9 will use this method by default (+ its
>> even a bit faster than our old implementation of the naive sum):
>> https://github.com/numpy/numpy/pull/3685
>>
>> but it has some limitations, it is limited to blocks fo the buffer
>> size (8192 elements by default) and does not work along the slow axes
>> due to limitations in the numpy iterator.
>>
>
> For what it's worth, I see the issue on a 64-bit Windows numpy 1.8, but
> cannot on a 32-bit Windows numpy master:
>
> >>> np.__version__
> '1.8.0'
> >>> np.ones(100000000, dtype=np.float32).mean()
> 0.16777216
>
> >>> np.__version__
> '1.10.0.dev-Unknown'
> >>> np.ones(100000000, dtype=np.float32).mean()
> 1.0
>
>
Interesting. Might be compiler related as there are many choices for
floating point instructions/registers in i386. The i386 version may
effectively  be working in double precision.

Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to