On 10/14/07, Jonathan Bober <[EMAIL PROTECTED]> wrote:
>
> I have to run somewhere for a little while, but I just realized that
> there might be a bug for small input (1000 being small enough). You may
> want to try something bigger to see if it works correctly.
>
> Also, at
>
> http://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/Articles/32bitPowerPC.html
>
> I found the following:
>
> (*) In Mac OS X v10.4 and later and GCC 4.0 and later, the size of the
> long double extended precision data type is 16 bytes (it's made up of
> two 8-byte doubles). In earlier versions of Mac OS X and GCC, long
> double is equivalent to double. You should not use the long double type
> when you use GCC 4.0 or later to develop or in programs targeted at Mac
> OS X versions earlier than 10.4.
>

I've disabled use of your implementation on ppc os x completely (use
pari instead), and disabled yours for n < 3000.  It seems fine
for anything bigger.   If you fix it for n < 3000 before the release
that would be good.

 -- William

> I'll probably be back looking at this in a little while.
>
> On Sun, 2007-10-14 at 14:53 -0700, William Stein wrote:
> > On 10/14/07, Jonathan Bober <[EMAIL PROTECTED]> wrote:
> > >
> > > I'm not sure right now, but I'm thinking about it.
> > >
> > > You could try setting
> > >
> > > long_double_precision = double_precision
> > >
> > > wherever it is initialized. (This is around line 140 somewhere.) If you
> > > do this it will just skip the part of the computation where it uses long
> > > doubles (For some reason I have a feeling that there might be something
> > > funny about the long double type on PPC OS X - but I don't know what
> > > that reason is, so I could be wrong.)
> >
> > Hi,
> >
> > It turns out that number_of_partitions with your algorithm is wrong
> > for input 1000 on x86_64, but *right* on ppc...
> > This threw me off for a while.  I kept trying to lower precision
> > on ppc with my test case being 1000 and of course it was always
> > right on ppc but wrong on x86_64, so I thought the opposite.
> >
> >
> > >
> > > Similarly, you could play with setting qd_precision = dd_precision to
> > > skip the part of the computation with quad_doubles, or set everything to
> > > double_precision, so that it only uses either mpfr or standard doubles,
> > > etc.
> > >
> > > Another thing to try is using just a little bit more precision. See
> > > around line 572, in the function compute_extra_precision(). You could
> > > turn the 5 into, say, a 15 or a 30 to see what happens. If that works,
> > > then you can try to experiment to see what the smallest number that
> > > works is.
> > >
> > > On Sun, 2007-10-14 at 14:40 -0600, William Stein wrote:
> > > > Hi Jon,
> > > >
> > > > Your number_of_partitions code is in the current sage-2.8.7.rc1,
> > > > and it works on all but one machine we tested in on.  Unfortunately
> > > >  -- JUST AS YOU SUSPECTED -- it doens't work on PPC OS X.  It runs,
> > > > but gives wrong answers.  Any ideas how to fix your code to still
> > > > work on OS X PPC, even slowly?
> > > >
> > > > William
> > > >
> > >
> > >
> > >
> > > >
> > >
> >
> >
>
>
> >
>


-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to