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


Groups > comp.lang.c > #138541

Re: Big integers

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Big integers
Date 2018-12-05 15:19 +0000
Organization A noiseless patient Spider
Message-ID <87o9a06lxq.fsf@bsb.me.uk> (permalink)
References <YfuND.286973$lKb.275890@fx15.am4> <g6oqspF2giqU1@mid.individual.net> <L3PND.252067$Z%1.51148@fx16.am4>

Show all headers | View raw


Bart <bc@freeuk.com> writes:

> On 05/12/2018 02:19, Ian Collins wrote:
>> On 05/12/2018 01:17, Bart wrote:
>
>>> * Keeps use of typedefs to a minimum (used to declare some aliases for
>>>     int32_t etc, and to make the one struct used, into a type)
>>
>> Looks tidy, but I would keep those aliases out of the header - the _t
>> names were partly picked to minimise the risk of name clashes.
>
> You mean, /I/ shouldn't use int32 so that someone else can?

Because C does not have definable name spaces, it's usual to prefix
exposed identifiers in some way so as help users avoid clashes.  You
didn't define an extern called 'add' but bn_add and the same caution is
advisable for types.

Some libraries or modules even allow the prefix to be changed so that
name clashes can always be avoided, but this is only practical when the
code is not shared.

And if you do need to expose a typedef name, it's often best to use a
name that describes its abstract purpose rather than its bit width.

On an unrelated matter, the functions

  extern Bigint bn_makeint  (int64 a);
  extern int64  bn_int      (Bigint a);

should, logically, use intmax_t.  There's not reason to insist on
exactly 64 bits, 2's complement an no padding.  You want to offer a
conversion from the largest integer type available.

> I will look at getting rid of both stdint.h and the typedefs, although
> the use of 'long long int' and 'unsigned int' will make things much
> less tidy.

Why would you get rid of stdint.h?

-- 
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