find_root with bfloats



 On 9/28/10 11:04 AM, Robert Dodier wrote:
> On 9/27/10, Raymond Toy <toy.raymond at gmail.com> wrote:
>
>> One issue is find_root_abs and find_root_rel.  I added bf_find_root_abs
>> and bf_find_root_rel.  But I left find_root_error unchanged.  Maybe
>> there should be a bf_find_root_error too?
> Well, this business with using global variables to represent function
> parameters and return values is a mess. I don't really want to
> extend it any further. You can just use the find_root_whatever
> variables in bf_find_root. You can just assign bigfloat values to
> them instead of floats, right?
>
Yeah, I guess that will work.  I was concerned about having bigfloat
values there when running find_root for float values, but it should work
just fine since the bigfloat routines will do the right thing with mixed
types.

And the key routine that searches for roots is actually passed the
absolute and relative error values anyway.

Maybe bf_find_root should take 2 optional keyword arguments to specify
the absolute and relative errors, with the default values being
$find_root_abs and $find_root_rel. 

Maybe find_root should also be changed to support that too.  I find that
interface much nicer than the global variables.  But for backward
compatibility we'll have to leave the $find_root_abs and $find_root_rel.

How does that sound?
>> If further testing is ok, I'll check in the changes.
> Terrific, thanks a lot for working on it.
No problem.  This was kind of fun. 

Ray