comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ada.Numerics.Big_Numbers.Big_Integer has a limit of 300 digits?
Date: Wed, 22 Dec 2021 22:43:49 +0200	[thread overview]
Message-ID: <j2hh05Fe364U1@mid.individual.net> (raw)
In-Reply-To: <a0730045-de98-462c-a6ab-5b1655852774n@googlegroups.com>

On 2021-12-22 21:26, Mark Lorenzen wrote:
> On Wednesday, December 22, 2021 at 6:27:57 PM UTC+1, Michael Ferguson
> wrote:
>> On Wednesday, December 22, 2021 at 11:02:03 AM UTC-6, Luke A. Guest
>> wrote:
>>> On 22/12/2021 05:57, Michael Ferguson wrote:
>>>> I just started using the Big_Integer library that is a part of
>>>> the 202X version of ADA.
>>>> 
>>>> It is repeatedly described as an "arbitrary precision library"
>>>> that has user defined implementation.
>>>> 
>>>> I was under the impression that this library would be able to
>>>> infinitely calculate numbers of any length, but there is
>>>> clearly a default limit of 300 digits.
>>> What are you doing that requires that number of digits?
>> I am working on ProjectEuler.net problem number 48.
>> 
>> The questions asks you to sum the numbers n^n for (2 <= n <= 1000)
>> and determine what the last ten digits of this number are.
> 
> Interesting. Assume that the problem is related to the maximum size
> of lexical elements, can't you then use the "rem" function from
> Big_Integers to determine the last 10 digits e.g. by something like
> this Last_10_Digits = My_Very_Large_Number rem To_Big_Integer(1) **
> 10?


You no doubt meant To_Big_Integer (10), not To_Big_Integer(1).

But it should be possible to write directly "... rem 10_000_000_000", 
and even if that constant is too large for the Integer type, because 
Big_Integer has the Integer_Literal aspect (assuming GNAT already 
implements it).

  reply	other threads:[~2021-12-22 20:43 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22  5:57 Ada.Numerics.Big_Numbers.Big_Integer has a limit of 300 digits? Michael Ferguson
2021-12-22  8:25 ` Mark Lorenzen
2021-12-22 11:14 ` AdaMagica
2021-12-22 11:32   ` AdaMagica
2021-12-22 16:04   ` AdaMagica
2021-12-22 17:37     ` Niklas Holsti
2021-12-22 20:34   ` Simon Wright
2021-12-22 17:01 ` Luke A. Guest
2021-12-22 17:27   ` Michael Ferguson
2021-12-22 17:43     ` Ben Bacarisse
2021-12-22 17:48     ` Niklas Holsti
2021-12-22 18:02       ` Michael Ferguson
2021-12-22 19:05         ` Niklas Holsti
2021-12-23  8:31           ` Luke A. Guest
2021-12-23  8:54             ` Dmitry A. Kazakov
2021-12-23 11:41           ` AdaMagica
2021-12-23 12:18             ` Niklas Holsti
2021-12-23 14:01               ` Ben Bacarisse
2021-12-22 19:26     ` Mark Lorenzen
2021-12-22 20:43       ` Niklas Holsti [this message]
2021-12-22 20:31     ` Paul Rubin
2021-12-22 20:39     ` Paul Rubin
2021-12-23 15:48 ` Jeffrey R.Carter
2021-12-24  9:09   ` AdaMagica
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox