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


Groups > comp.lang.c > #138549

Re: Big integers

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Big integers
Date 2018-12-05 17:51 +0000
Organization A noiseless patient Spider
Message-ID <878t137tfo.fsf@bsb.me.uk> (permalink)
References (2 earlier) <L3PND.252067$Z%1.51148@fx16.am4> <pu8k6m$tva$1@dont-email.me> <inRND.427702$kh6.132887@fx32.am4> <3b1356cb-8154-40f3-86b5-0e09c1df6727@googlegroups.com> <b2e048d4-a658-454d-ad9d-a2b7af868e52@googlegroups.com>

Show all headers | View raw


Thiago Adams <thiago.adams@gmail.com> writes:

> On Wednesday, December 5, 2018 at 1:39:19 PM UTC-2, Malcolm McLean wrote:
>> On Wednesday, December 5, 2018 at 2:36:07 PM UTC, Bart wrote:
>> > 
>> > I might also change 'Bigint' to be an opaque pointer rather than a 
>> > struct (and possibly using only an array rather than struct+array).
>> > 
>> The snag with private data generally is that your design needs to be
>> perfect, because no calling programmer can ever patch it without
>> altering the original source file.
>
> The problem with opaque pointers is that you cannot 
> allocate on stack.

Well...  You can do something like this:

  #define OPAQUE_TYPE_SIZE 32

  typedef struct {
      const char bytes[OPAQUE_TYPE_SIZE];
  } big_num;

in the public header.  This effectively prevents any fiddling with the
object but it's also probably against the rules.  I'd be surprised if a
compiler messed it up though.

You can even provide initialiser objects:

  extern big_num nm_zero, bn_one, bn_two;
  /* ... */
  big_num n = bn_one;

-- 
Ben.

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