Generalized Lambert W function - premature commit



It is a thought that if we are going to implement special functions by 
locally increasing the precision,
then sloppier (and faster) bfloat arithmetic could, in fact, be used. 
One way to do this might be to
just simplify fpround to not do shifting etc to detect guard bits etc.
RJF


On 5/24/2012 6:49 AM, David Billinghurst wrote:
> On 24/05/2012 11:30 PM, Richard Fateman wrote:
>> On 5/24/2012 3:20 AM, David Billinghurst wrote:
>>>
>>>
>>> I have just checked in a generic version using the bigfloat 
>>> package.  Much neater.  I removed the guard digits from the bfloat 
>>> calcs - it was a nasty hack that didn't always work - so the results 
>>> may change slightly.  I will just make a note in the manual that the 
>>> final digits may be wrong, and to suggest users check using higher 
>>> precision if it matters.
>>
>> I hope you are talking about just  the final digits of the bfloat of 
>> Lambert W, not the final digits of bfloats.
>>
>> The cost of getting the rounding correct on bfloat add/subtract is 
>> substantial, but (when I wrote it) deemed essential
>> because IEEE standard was doing the right thing.  I hope that has not 
>> been removed!  (Actually, I wrote a slimmer
>> faster non-round-to-nearest version also.  That may be hanging around 
>> in the code somewhere...)
>>
>> RJF
>>
> Just the final digits on some bfloat values for the Lambert W 
> function. I had increased the precision locally, but it wasn't 
> sufficient for all cases and made the generic routine untidy.
>
> I wouldn't presume to fiddle with the core bfloat routines.
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima