Sin function

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Sin function

Ingemar Ragnemalm
faber <[hidden email]> wrote:

> Hi,
> according to docs/reference sin function should print 0.0 when
>
> Writeln (Sin(Pi):0:1);
>
> but, with fpc 2.4.0 and 2.4.2 (x86) I've get "-0.0", such a result is
> not entirely correct.
> This is a bug (in sin func.) or something wrong with the formatting ?
>
> best regards
> faber
>  

If I were you I would print it with more digits so you see if there is
any significant difference at all.


/Ingemar

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Sin function

Jan Kowalski-3
> If I were you I would print it with more digits so you see if there is any
> significant difference at all.

ok I understand, I was suggested by
http://www.freepascal.org/docs-html/rtl/system/sin.html where it is
given score 0.0 for Writeln (Sin(Pi):0:1);

best regards
faber
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Sin function

Ivo Steinmann
In reply to this post by Ingemar Ragnemalm
Hi Ingemar

0.0 and -0.0 is the same number ;) it's just a quirk of the IEEE
floating point format, that there exists a positiv and negative zero
(because they use a sign bit).

-Ivo

Am 29.12.2010 12:17, schrieb Ingemar Ragnemalm:

> faber <[hidden email]> wrote:
>
>> Hi,
>> according to docs/reference sin function should print 0.0 when
>>
>> Writeln (Sin(Pi):0:1);
>>
>> but, with fpc 2.4.0 and 2.4.2 (x86) I've get "-0.0", such a result is
>> not entirely correct.
>> This is a bug (in sin func.) or something wrong with the formatting ?
>>
>> best regards
>> faber
>
> If I were you I would print it with more digits so you see if there is
> any significant difference at all.
>
>
> /Ingemar
>
> _______________________________________________
> fpc-pascal maillist  -  [hidden email]
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Sin function

Mark Morgan Lloyd-5
In reply to this post by Jan Kowalski-3
faber wrote:
>> If I were you I would print it with more digits so you see if there is any
>> significant difference at all.
>
> ok I understand, I was suggested by
> http://www.freepascal.org/docs-html/rtl/system/sin.html where it is
> given score 0.0 for Writeln (Sin(Pi):0:1);

Transcendentals are a can of worms. Without and with formatting
respectively,

ARM, PowerPC, SPARC:

  1.22464706384516E-016
0.0

x86 (P-III):

-5.4210108624275222E-0020
-0.0

All FPC 2.4.2 on Linux. The result /should/ be zero, and x86- which I
presume is what you're running- is nearer zero than the others :-)

There are lots of issues here, including the number of bits used
internally by the floating point hardware and whether it knows Pi to
this degree of precision. Also it might depend on optimisation level etc.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal