On 2/21/07, Charles R Harris <[EMAIL PROTECTED]> wrote:



On 2/21/07, Robert Kern <[EMAIL PROTECTED]> wrote:
>
> Christopher Barker wrote:
> > Robert Kern wrote:
> >> Christopher Barker wrote:
> >>> I wonder if there are any C math libs that do a better job than
> you'd
> >>> expect from standard FP? (short of unlimited precision ones)
> >> With respect to π and the zeros of sin() and cos()? Not really.


<snip>

Well, you can always use long double if it is implemented on your
> platform. You
> will have to construct a value for π yourself, though. I'm afraid that
> we don't
> really make that easy.
>
> --


pi = 3. 1415926535 8979323846 2643383279 5028841971 6939937510 5820974944
5923078164 0628620899 8628034825 3421170679 8214808651 *...

*
I dont know what that looks like when converted to long double. Lessee,

In [1]: import numpy

In [2]: pi = numpy.float128(3.1415926535897932384626433832795028841971)


I think this is where you go wrong. Your string of digits is first a python
float and *then* is converted to a long double. In the intermediate stage it
gets truncated and you don't get the precision back.


In [3]: numpy.pi - pi
Out[3]: 0.0

In [7]: '%25.20f'%numpy.pi
Out[7]: '   3.14159265358979311600 '

In [8]: '%25.20f'%pi
Out[8]: '   3.14159265358979311600'

I think we have a bug. Or else extended arithmetic isn't supported on this
machine.

Chuck



_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion




--

//=][=\\

[EMAIL PROTECTED]
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to