Re: computing exp(1.0) on SPARC.



On 12/31/09 6:42 PM, David Kirkby wrote:

I'm guessing that since the SPARC processor uses 64-bit for the
computations, but the Intel processors uses 80 bits internally, there
is justification for choosing a slightly less accurate but faster
implementation on SPARC.

I'm no expert on this, but have a better understanding of it then I
did a day or two ago.

Dave

Dave,

On various Intel platforms, double precision may use SSE where
the math is done at 64-bit, not the extended precision of 80-bit
used in the 80N87 (math co-processor). Also at least one Windows
C compiler silently converts long doubles to doubles to allow use
of the faster SSE stuff - gives "interesting" results when the
code specifically tries to use 80-bits for accuracy.

If you need an accurate value for e, it is defined in one of
the include files along with various other constants like
pi and fractions of pi (from math.h on SPARC S10U4):

#define M_E 2.7182818284590452354
#define M_LOG2E 1.4426950408889634074
#define M_LOG10E 0.43429448190325182765
#define M_LN2 0.69314718055994530942
#define M_LN10 2.30258509299404568402
#define M_PI 3.14159265358979323846
#define M_PI_2 1.57079632679489661923
#define M_PI_4 0.78539816339744830962
#define M_1_PI 0.31830988618379067154
#define M_2_PI 0.63661977236758134308
#define M_2_SQRTPI 1.12837916709551257390
#define M_SQRT2 1.41421356237309504880
#define M_SQRT1_2 0.70710678118654752440

With Studio you can also use optimized math libraries.
I have no idea if the values of things would change
by linking with them (typically done automatically if
you optimize using -fast and maybe other options or
manually during the link step).

Stuart
.



Relevant Pages

  • Re: computing exp(1.0) on SPARC.
    ... computations, but the Intel processors uses 80 bits internally, there ... used in the 80N87 (math co-processor). ... C compiler silently converts long doubles to doubles to allow use ... pi and fractions of pi (from math.h on SPARC S10U4): ...
    (comp.unix.solaris)
  • Re: computing exp(1.0) on SPARC.
    ... computations, but the Intel processors uses 80 bits internally, there ... pi and fractions of pi (from math.h on SPARC S10U4): ... let Sage build with that. ... That's running on a Sun T5240, but Sage is not debugged on Solaris. ...
    (comp.unix.solaris)
  • Re: Question About Opteron
    ... > that be 32 procs? ... Your math is highly optimistic. ... > Sparc IV to Sparc III chips. ... Not just their older chips. ...
    (comp.unix.solaris)