Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #138610

Re: Big integers

From "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>
Newsgroups comp.lang.c
Subject Re: Big integers
Date 2018-12-07 14:26 -0800
Organization n/a
Message-ID <pues26$ehd$1@dont-email.me> (permalink)
References (6 earlier) <b2e048d4-a658-454d-ad9d-a2b7af868e52@googlegroups.com> <pu9l17$imo$1@dont-email.me> <a4fb8cd2-6cb7-42b0-b24e-36b07d9b5e69@googlegroups.com> <pu9pk0$d7h$1@dont-email.me> <puan0m$i5n$1@dont-email.me>

Show all headers | View raw


On 12/6/2018 12:35 AM, David Brown wrote:
> On 06/12/18 01:13, Chris M. Thomasson wrote:
>> On 12/5/2018 3:19 PM, jameskuyper@alumni.caltech.edu wrote:
>>> On Wednesday, December 5, 2018 at 5:55:44 PM UTC-5, Chris M. Thomasson
>>> wrote:
>>>> On 12/5/2018 7:45 AM, Thiago Adams wrote:
>>> ...
>>>>> The problem with opaque pointers is that you cannot
>>>>> allocate on stack.
>>>>>
>>>>
>>>> Why not? There are different ways to do this.
>>>
>>> Could you give an example?
>>>
>>
>> User creates a region allocator R on the stack.
>>
>> User passes a pointer to R, to an API "factory function" that outputs a
>> pointer to a memory residing in R sufficient to hold the request, or
>> returns NULL.
>>
>> If the output is not NULL, the pointer returned by the API resides on
>> the stack of the caller within R, ready to be used by further calls to
>> said API.
>>
>> If the API function returns NULL because R is "full", the user can try
>> again using a flag for the API to use dynamic memory...
>>
>> Fin.
> 
> That sounds really messy and complicated - re-implementing malloc/free
> in your big number library.  

Yeah, its not pretty.


> But it would be possible to have a macro
> that allocated the required amount of memory on the stack, using
> alloca() or a VLA, and passed a pointer to the "factory function".  This
> would simply initialise the structure at the given address, and return
> the pointer, cast to the correct type.

That should work as well.


> Still, it would be ugly, and would work poorly if you need to allocate
> and free regularly during calculations (as is needed in Bart's library).

Agreed. One would basically have to create their own little memory 
management scheme to work on the stack.


> If you want to store things on stack, then splitting the structure into
> a fixed basic object and a dynamic data block makes more sense.  Give
> the basic object enough space to be able to handle common cases
> efficiently (such as a 64-bit integer in this case).
> 
> Of preference, use C++ - that way the language can handle your
> allocation and deallocation automatically, and make life much easier for
> the users.
> 
> And just accept that in C and C++, you have to put some of the private
> implementation information in the public headers, if you want to avoid
> inefficiencies and complications.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Big integers Bart <bc@freeuk.com> - 2018-12-04 12:17 +0000
  Re: Big integers fir <profesor.fir@gmail.com> - 2018-12-04 05:58 -0800
    Re: Big integers Chad <cdalten@gmail.com> - 2018-12-04 08:22 -0800
      Re: Big integers Bart <bc@freeuk.com> - 2018-12-04 17:04 +0000
        Re: Big integers scott@slp53.sl.home (Scott Lurndal) - 2018-12-04 17:19 +0000
  Re: Big integers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-12-04 08:38 -0800
    Re: Big integers Bart <bc@freeuk.com> - 2018-12-04 17:35 +0000
      Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-04 18:13 +0000
        Re: Big integers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-12-04 10:50 -0800
        Re: Big integers Rosario19 <Ros@invalid.invalid> - 2018-12-06 17:56 +0100
      Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-04 10:22 -0800
        Re: Big integers Eli the Bearded <*@eli.users.panix.com> - 2018-12-04 18:58 +0000
          Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-04 11:32 -0800
            Re: Big integers Eli the Bearded <*@eli.users.panix.com> - 2018-12-04 22:45 +0000
              Re: Big integers jameskuyper@alumni.caltech.edu - 2018-12-04 14:57 -0800
          Re: Big integers jameskuyper@alumni.caltech.edu - 2018-12-04 12:14 -0800
          Re: Big integers chris.m.thomasson.1@gmail.com - 2018-12-04 16:58 -0800
            Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-05 03:14 +0000
              Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-05 14:27 -0800
            Re: Big integers Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-12-04 20:03 -0500
              Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-05 14:25 -0800
      Re: Big integers jacob navia <jacob@jacob.remcomp.fr> - 2018-12-04 23:45 +0100
        Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-04 23:29 +0000
        Re: Big integers Bart <bc@freeuk.com> - 2018-12-05 00:30 +0000
          Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-05 14:28 -0800
        Re: Big integers Jens Stuckelberger <Jens_Stuckelberger@nowhere.net> - 2018-12-05 17:50 +0000
          Re: Big integers jacobnavia <jacob@jacob.remcomp.fr> - 2018-12-05 20:03 +0100
        Re: Big integers Keith Thompson <kst-u@mib.org> - 2018-12-05 13:46 -0800
          Re: Big integers jacobnavia <jacob@jacob.remcomp.fr> - 2018-12-06 06:41 +0100
            Re: Big integers Keith Thompson <kst-u@mib.org> - 2018-12-05 22:40 -0800
  Re: Big integers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-12-04 09:08 -0800
    Re: Big integers Bart <bc@freeuk.com> - 2018-12-04 19:41 +0000
      Re: Big integers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-12-04 12:00 -0800
    Re: Big integers Bart <bc@freeuk.com> - 2018-12-08 11:28 +0000
  Re: Big integers Ian Collins <ian-news@hotmail.com> - 2018-12-05 15:19 +1300
    Re: Big integers Bart <bc@freeuk.com> - 2018-12-05 11:58 +0000
      Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-05 14:35 +0100
        Re: Big integers Bart <bc@freeuk.com> - 2018-12-05 14:35 +0000
          Re: Big integers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-12-05 07:39 -0800
            Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-05 07:45 -0800
              Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-05 17:51 +0000
                Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-05 22:19 +0100
              Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-05 14:55 -0800
                Re: Big integers jameskuyper@alumni.caltech.edu - 2018-12-05 15:19 -0800
                Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-05 16:13 -0800
                Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-06 09:35 +0100
                Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-07 14:26 -0800
                Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-07 19:56 -0800
                Re: Big integers James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-12-09 12:01 -0500
                Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-10 14:47 -0800
                Re: Big integers scott@slp53.sl.home (Scott Lurndal) - 2018-12-11 00:50 +0000
                Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-10 17:37 -0800
                Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-14 21:18 -0800
          Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-05 07:57 -0800
          Re: Big integers Bart <bc@freeuk.com> - 2018-12-05 15:59 +0000
            Re: Big integers Bart <bc@freeuk.com> - 2018-12-05 22:59 +0000
              Re: Big integers jameskuyper@alumni.caltech.edu - 2018-12-05 15:31 -0800
                Re: Big integers Robert Wessel <robertwessel2@yahoo.com> - 2018-12-05 20:03 -0600
              Re: Big integers scott@slp53.sl.home (Scott Lurndal) - 2018-12-05 23:42 +0000
                Re: Big integers James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-12-05 20:15 -0500
              Re: Big integers Ike Naar <ike@iceland.freeshell.org> - 2018-12-10 07:26 +0000
                Re: Big integers Bart <bc@freeuk.com> - 2018-12-10 18:38 +0000
                Re: Big integers scott@slp53.sl.home (Scott Lurndal) - 2018-12-10 19:10 +0000
                Re: Big integers Bart <bc@freeuk.com> - 2018-12-10 21:23 +0000
                Re: Big integers Ike Naar <ike@iceland.freeshell.org> - 2018-12-10 22:47 +0000
          Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-05 22:15 +0100
        Re: Big integers Bart <bc@freeuk.com> - 2018-12-06 13:43 +0000
          Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-06 07:50 -0800
      Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-05 15:19 +0000
        Re: Big integers luser droog <luser.droog@gmail.com> - 2018-12-10 23:19 -0800
          Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-11 08:45 +0100
            Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-11 11:15 +0000
              Re: Big integers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-12-11 04:36 -0800
                Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-11 14:35 +0100
              Re: Modules again (was: Big integers) Bart <bc@freeuk.com> - 2018-12-11 12:53 +0000
                Re: Modules again David Brown <david.brown@hesbynett.no> - 2018-12-11 14:45 +0100
                Re: Modules again Bart <bc@freeuk.com> - 2018-12-11 16:08 +0000
                Re: Modules again David Brown <david.brown@hesbynett.no> - 2018-12-11 21:37 +0100
                Re: Modules again Thiago Adams <thiago.adams@gmail.com> - 2018-12-11 08:59 -0800
                Re: Modules again Bart <bc@freeuk.com> - 2018-12-11 17:49 +0000
                Re: Modules again David Brown <david.brown@hesbynett.no> - 2018-12-11 21:44 +0100
                Re: Modules again scott@slp53.sl.home (Scott Lurndal) - 2018-12-11 18:02 +0000
                Re: Modules again Thiago Adams <thiago.adams@gmail.com> - 2018-12-11 10:10 -0800
                Re: Modules again scott@slp53.sl.home (Scott Lurndal) - 2018-12-11 18:54 +0000
                Re: Modules again Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-12-11 13:14 -0500
                Re: Modules again scott@slp53.sl.home (Scott Lurndal) - 2018-12-11 18:54 +0000
                Re: Modules again Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-12-11 14:42 -0500
                Re: Modules again David Brown <david.brown@hesbynett.no> - 2018-12-11 21:54 +0100
                Re: Modules again Keith Thompson <kst-u@mib.org> - 2018-12-11 14:53 -0800
                Re: Modules again David Brown <david.brown@hesbynett.no> - 2018-12-12 08:24 +0100
                Re: Modules again David Brown <david.brown@hesbynett.no> - 2018-12-11 21:51 +0100
                Re: Modules again scott@slp53.sl.home (Scott Lurndal) - 2018-12-11 23:24 +0000
                Re: Modules again Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-12-11 18:44 -0500
                Re: Modules again Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-12-11 18:45 -0500
                Re: Modules again Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-12-12 06:39 +0000
                Re: Modules again James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-12-12 07:59 -0500
                Re: Modules again mark.bluemel@gmail.com - 2018-12-12 05:43 -0800
                Re: Modules again scott@slp53.sl.home (Scott Lurndal) - 2018-12-12 14:20 +0000
                Re: Modules again David Brown <david.brown@hesbynett.no> - 2018-12-12 17:10 +0100
                Re: Modules again James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-12-12 13:39 -0800
                Re: Modules again scott@slp53.sl.home (Scott Lurndal) - 2018-12-12 14:19 +0000
                Re: Modules again Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-12-12 10:28 -0500
      Re: Big integers Ian Collins <ian-news@hotmail.com> - 2018-12-06 08:10 +1300
        Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-05 20:57 +0000
          Re: Big integers Ian Collins <ian-news@hotmail.com> - 2018-12-06 10:16 +1300
            Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-05 23:15 +0000
              Re: Big integers scott@slp53.sl.home (Scott Lurndal) - 2018-12-05 23:44 +0000
  Re: Big integers Robert Wessel <robertwessel2@yahoo.com> - 2018-12-05 02:51 -0600
  Re: Big integers antispam@math.uni.wroc.pl - 2018-12-07 15:26 +0000
    Re: Big integers Bart <bc@freeuk.com> - 2018-12-07 16:27 +0000
      Re: Big integers scott@slp53.sl.home (Scott Lurndal) - 2018-12-07 16:36 +0000
        Re: Big integers Bart <bc@freeuk.com> - 2018-12-07 17:01 +0000
      Re: Big integers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-07 17:55 +0000
      Re: Big integers antispam@math.uni.wroc.pl - 2018-12-07 19:26 +0000
        Re: Big integers Bart <bc@freeuk.com> - 2018-12-07 21:39 +0000
          Re: Big integers Ian Collins <ian-news@hotmail.com> - 2018-12-08 10:51 +1300
  Re: Big integers Anton Shepelev <anton.txt@gmail.com> - 2018-12-08 00:43 +0300
    Re: Big integers Bart <bc@freeuk.com> - 2018-12-08 01:08 +0000
    Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-08 15:13 +0100
      Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-08 15:15 +0100
        Re: Big integers Bart <bc@freeuk.com> - 2018-12-08 14:48 +0000
          Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-10 05:10 -0800
            Re: Big integers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-12-10 05:22 -0800
              Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-10 15:27 +0100
                Re: Big integers scott@slp53.sl.home (Scott Lurndal) - 2018-12-10 15:59 +0000
                Re: Big integers antispam@math.uni.wroc.pl - 2018-12-11 21:14 +0000
            Re: Big integers Bart <bc@freeuk.com> - 2018-12-10 14:56 +0000
              Re: Big integers Ike Naar <ike@iceland.freeshell.org> - 2018-12-10 17:46 +0000
                Re: Big integers Bart <bc@freeuk.com> - 2018-12-10 18:24 +0000
                Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-10 11:12 -0800
                Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-10 11:23 -0800
                Re: Big integers Bart <bc@freeuk.com> - 2018-12-10 21:44 +0000
                Re: Big integers Thiago Adams <thiago.adams@gmail.com> - 2018-12-11 10:20 -0800
                Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-11 13:15 -0800
      Re: Big integers Keith Thompson <kst-u@mib.org> - 2018-12-08 12:14 -0800
        Re: Big integers David Brown <david.brown@hesbynett.no> - 2018-12-09 13:31 +0100
      Re: Big integers "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-12-08 15:52 -0800
  Re: Big integers Bart <bc@freeuk.com> - 2018-12-16 19:29 +0000
  Re: Big integers "Tristan B. Kildaire" <deavmi@disroot.org> - 2018-12-25 12:59 +0000
    Re: Big integers Bart <bc@freeuk.com> - 2018-12-25 15:54 +0000

csiph-web