RFR 8005311: Add Scalable Updatable Variables, DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder

Joe Darcy joe.darcy at oracle.com
Sat Jan 12 02:37:51 UTC 2013


On 01/11/2013 09:18 AM, Chris Hegarty wrote:
> On 11/01/2013 16:57, Doug Lea wrote:
>> On 01/11/13 11:35, Peter Levart wrote:
>>> On 01/11/2013 05:18 PM, Chris Hegarty wrote:
>>>> Now with explicit disclaimer on DoubleA*
>>>>
>>>> "The order of accumulation within or across threads is not
>>>> guaranteed. Thus,
>>>> this class may not be applicable if numerical stability is required 
>>>> when
>>>> combining values of substantially different orders of magnitude."
>>>
>>> It doesn't have to be substantially different order of magnitude.
>>>
>>
>> Thanks. Chris, please add "especially":

Hello,

I would prefer to cautionary note along the lines of "if you want 
numerical accuracy, take care to use a summation algorithm with defined 
worst-case behavior."

(Varying magnitude is not so much of a problem if you add things up in 
the right order.)

-Joe

>
> Thanks Doug, done.
>
> -Chris.
>
>>
>> "The order of accumulation within or across threads is not guaranteed.
>> Thus, this class may not be applicable if numerical stability is
>> required, especially when combining values of substantially different
>> orders of magnitude."
>>
>>
>> -Doug
>>




More information about the core-libs-dev mailing list