[fpc-pascal] Special math. functions (erf, erfc, ...)

Jonas Maebe jonas.maebe at elis.ugent.be
Mon Dec 18 10:33:58 CET 2006


On 17 dec 2006, at 23:40, Jeff Miller wrote:

> This is slightly off-topic, but nonetheless somewhat
> relevant to these special math functions...
>
> Can anyone explain what is the precision of fpc's
> built-in math functions like sqrt, ln, exp, and so on?
>
> According to the online documentation, these take
> a ValReal argument and return a ValReal result:
>   e.g.:  function sqrt(d: ValReal):ValReal;
> But what exactly is a ValReal?  Real? Double? Extended?

The highest supported precision by the compiler on the used fpu. For  
x86 and x86_64 (except for Win64, because it no longer supports the  
x87) that is 80 bits "extended", on other platforms that's currently  
64 bits (except maybe those that use emulation, they may be limited  
to 32 bits).

> It would be ideal if these math functions would take arguments
> of different precision and return results in the same precision.
> Is that what happens?

No, they always return a result with the highest possible  precision.

> I am asking because I need extended precision versions
> of sqrt, etc, and I do not believe fpc provides that
> (at least by default).

It does (on x86 and non-Win64 x86-64 at least).


Jonas



More information about the fpc-pascal mailing list