[R-pkg-devel] R_registerRoutines, etc.
Dirk Eddelbuettel
edd at debian.org
Mon Apr 24 00:31:41 CEST 2017
On 24 April 2017 at 10:18, Rolf Turner wrote:
| One more (I hope it's the last!) question:
|
| One of my subroutines has an argument of type *logical*. There is no
| logical type in C. So, since I am perforce using C-speak, I cannot
| change "void *" to "void logical".
|
| I have a (very vague) understanding that in C one uses variables of int
| type (taking the values 0, for FALSE, and 1, for TRUE) as logical variables.
|
| On that understanding I took a punt and replaced "void *" by "int *" for
| the logical type variable. The package built and passed
|
| "R CMD check --as-cran"
|
| so it seems that this is OK. Is this the Right Thing To Do? Are there
| any (obvious?) lurking perils?
I think you are allowed to use C99 [1] which has it -- see eg
http://stackoverflow.com/questions/4159713/how-to-use-boolean-datatype-in-c
Dirk
[1] Section 1.6.4 opems with
1.6.4 Portable C and C++ code
-----------------------------
Writing portable C and C++ code is mainly a matter of observing the
standards (C99, C++98 or where declared C++11/14) and testing that
extensions (such as POSIX functions) are supported.
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the R-package-devel
mailing list