[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