From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.albasani.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: 64-bit unsigned integer? Date: Thu, 1 Mar 2018 22:15:26 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <421d1598-68d7-4d0b-b596-6e9c59cf865c@googlegroups.com> <877eqxe7u8.fsf@nightsong.com> <87muzsz6s2.fsf@nightsong.com> <628c3bba-6c0d-495b-be2f-e6ed3ef3418f@googlegroups.com> <40f38dfc-d456-4c7c-a65b-8990483af0a3@googlegroups.com> <73e69dd3-3195-48c7-9b9b-f1a4bb7d6fde@googlegroups.com> NNTP-Posting-Host: yZRtMzZmKCYxZ5GHo5ZYiA.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 X-Notice: Filtered by postfilter v. 0.8.3 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:50770 Date: 2018-03-01T22:15:26+01:00 List-Id: On 2018-03-01 21:32, Dan'l Miller wrote: > Dan'l Miller wrote: >>> Why would they be allocated as the humanly-imaginable worst-case for usage of the library? > Dmitry Kazakov wrote: >> Because the upper bound is exactly that, the humanly-imaginable worst case. > > No, the upper bound of a bounded integer (or bounded string for that matter) is what I declared it to be in my own app-domain source code. You are a human and it is your imagination which gave you the bound value. > Dan'l Miller wrote: >>> Bounded textual strings are not allocated as the maximum universally-conceivable textual string length of megabytes long. Bounded simply means: pick a modest upper bound and stick to it, say, 128-bit integer for bounded bignum or 32-character string for bounded textual string. > Dmitry Kazakov wrote: >> Why 128 and not 256 or 1056781? > > Because I declared it to be a 128-bit bounded bignum at this place in my app-domain source code for some register in my main processor, and I declared some other 256-bit bounded bignums at some other place in my app-domain source code for some other register in my GPU. And in this application, the calculations on the 128-bit bounded bignums never utilize the 256-bit bounded bignums, and the calculations on the 256-bit bounded bignums never utilize the 128-bit bounded bignums; they are disjoint usages. Why does bounded mean for you “one size fits all for all human beings on the planet”? Bounded numbers will be a generic package thus you will not be able to intermix differently bounded numbers even if they are semantically same. You will not be able to convert between such types. You will have no literals, no universal integer expressions, no way to pass it to a generic numeric package, no way to have it as discriminant (large discriminants are useful in some cases) etc. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de