On 16/06/2017 20:37, Jim Hester wrote:
The relevant sections of the C standard are
http://c0x.coding-guidelines.com/5.2.4.2.1.html, which specifies that C
There is more than one C standard, but that is none of them.
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.
However, R checks that the compiler uses 32-bit ints in its build
(configure and src/main/arithmetic.c) and documents that in R-admin .
In any case, the C standard does not apply to the R language.
Also, int32_t
- postdates R (it was introduced in C99, a few OSes having it earlier)
- is optional in the C99 and C11 standards (§7.20.1.1 in C11).
On Fri, Jun 16, 2017 at 3:01 PM, William Dunlap via R-devel <
r-devel@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 <pda...@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@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 <x...@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 <
so...@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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]
______________________________________________
R-devel@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....@cbs.dk Priv: pda...@gmail.com
[[alternative HTML version deleted]]
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel