[CLN-list] adding two different precision number

Po-Hsun Tseng zengbs at gmail.com
Sun Feb 9 14:35:30 CET 2020


Dear Bruno,

Thank you for your quick and detailed reply.

Po-Hsun Tseng (Rocky)


On Sun, Feb 9, 2020 at 6:37 PM Bruno Haible <bruno at clisp.org> wrote:

> Hi,
>
> > 1. Does CLN support performing two different precision number with basic
> > overloading operators (+,-,*, and /)?
>
> Yes.
>
> > 2. If yes, how does CLN treat that? eg. zero padding on the
> precision-less
> > number before doing operation?
>
> It does zero-padding on the operand with the smaller precision, then the
> operation on the then equal-size operands, and finally rounding
> (round-to-even)
> to the smallest precision among the operands.
>
> Example (using decimal numbers for illustrative purposes):
>
>     3.14149265358979323
>   + 2.718282
>   ---------------------
>     3.14149265358979323
>   + 2.71828200000000000
>   ---------------------
>     5.85969465358979323
>   ---------------------
>     5.859695
>
> Therefore, when some computation returns a result, usually a few decimal
> places at the end can be wrong, but CLN will never give you a 50-digit
> result when in fact the accurary is only 10 digits - UNLESS you use
> conversion functions [1] explicitly.
>
> Bruno
>
> [1] https://www.ginac.de/CLN/cln.html#Conversion-functions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ginac.de/pipermail/cln-list/attachments/20200209/684f0626/attachment.htm>


More information about the CLN-list mailing list