From james.f.hester at gmail.com  Fri Jun 16 21:37:41 2017
From: james.f.hester at gmail.com (Jim Hester)
Date: Fri, 16 Jun 2017 15:37:41 -0400
Subject: [Rd] =?utf-8?q?R_history=3A_Why_=27L=3B_in_suffix_character_?=
	=?utf-8?b?4oCYTOKAmSBmb3IgaW50ZWdlciBjb25zdGFudHM/?=
In-Reply-To: <CAF8bMcbTWdxUXEDtDA-CSmDmQg2TNPa5H-aLMBUzMEOcDPnUTQ@mail.gmail.com>
References: <CAFDcVCRohsOKwzd2-8eFhD0zmR8vm-+t_5X=6FWjmL7uH5vzXA@mail.gmail.com>
 <5126a9af-49ac-8bd8-1ccc-03f5e13e2263@insa-toulouse.fr>
 <CANROs4dp_GKt0GMSX50R0h9TY7X=d87v_5pX6Tb0vg8_KmnmFQ@mail.gmail.com>
 <CAF8bMca+f_rV4qGBGNb68Atbm+Mr3t9Bv9EAPTLksBrRUyWcqg@mail.gmail.com>
 <24C37219-4592-49FB-9A27-5A7440774401@gmail.com>
 <CAF8bMcbTWdxUXEDtDA-CSmDmQg2TNPa5H-aLMBUzMEOcDPnUTQ@mail.gmail.com>
Message-ID: <CAD6tx940Gxs2wjRJCXyE7J=caNFg3JsPk_wsCTJc2UxkbJ==+Q@mail.gmail.com>

The relevant sections of the C standard are
http://c0x.coding-guidelines.com/5.2.4.2.1.html, which specifies that C
ints are only guaranteed to be 16 bits, C long ints at least 32 bits in
size, as Peter mentioned. Also http://c0x.coding-guidelines.com/6.4.4.1.html
specifies l or L as the suffix for a long int constants.

However R does define integers as `int` in it's source code, so use of L is
not strictly correct if a compiler uses 16 bit int types. I guess this
ambiguity is why the `int32_t` typedef exists.

On Fri, Jun 16, 2017 at 3:01 PM, William Dunlap via R-devel <
r-devel at r-project.org> wrote:

> "Writing R Extensions" says "int":
>
> R storage mode  C type  FORTRAN type
> logical  int*  INTEGER
> integer  int*  INTEGER
> double  double*  DOUBLE PRECISION
> complex  Rcomplex*  DOUBLE COMPLEX
> character  char**  CHARACTER*255
> raw  unsigned char*  none
>
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com
>
> On Fri, Jun 16, 2017 at 11:53 AM, peter dalgaard <pdalgd at gmail.com> wrote:
> >
> > Wikipedia claims that C ints are still only guaranteed to be at least 16
> bits, and longs are at least 32 bits. So no, R's integers are long.
> >
> > -pd
> >
> > > On 16 Jun 2017, at 20:20 , William Dunlap via R-devel <
> r-devel at r-project.org> wrote:
> > >
> > > But R "integers" are C "ints", as opposed to S "integers", which are C
> > > "long ints".  (I suppose R never had to run on ancient hardware with 16
> bit
> > > ints.)
> > >
> > > Bill Dunlap
> > > TIBCO Software
> > > wdunlap tibco.com
> > >
> > > On Fri, Jun 16, 2017 at 10:47 AM, Yihui Xie <xie at yihui.name> wrote:
> > >
> > >> Yeah, that was what I heard from our instructor when I was a graduate
> > >> student: L stands for Long (integer).
> > >>
> > >> Regards,
> > >> Yihui
> > >> --
> > >> https://yihui.name
> > >>
> > >>
> > >> On Fri, Jun 16, 2017 at 11:00 AM, Serguei Sokol <
> sokol at insa-toulouse.fr
> >
> > >> wrote:
> > >>> Le 16/06/2017 ? 17:54, Henrik Bengtsson a ?crit :
> > >>>>
> > >>>> I'm just curious (no complaints), what was the reason for choosing
> the
> > >>>> letter 'L' as a suffix for integer constants?  Does it stand for
> > >>>> something (literal?), is it because it visually stands out, ..., or
> no
> > >>>> specific reason at all?
> > >>>
> > >>> My guess is that it is inherited form C "long integer" type (contrary
> to
> > >>> "short integer" or simply "integer")
> > >>> https://en.wikipedia.org/wiki/C_data_types
> > >>
> > >> ______________________________________________
> > >> R-devel at r-project.org mailing list
> > >> https://stat.ethz.ch/mailman/listinfo/r-devel
> > >
> > >       [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > R-devel at r-project.org mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> > --
> > Peter Dalgaard, Professor,
> > Center for Statistics, Copenhagen Business School
> > Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> > Phone: (+45)38153501
> > Office: A 4.23
> > Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

	[[alternative HTML version deleted]]



[Rd] =?utf-8?q?R_history=3A_Why_=27L=3B_in_suffix_character_?= =?utf-8?b?4oCYTOKAmSBmb3IgaW50ZWdlciBjb25zdGFudHM/?=
Jim Hester