On 2025-03-31 12:00 p.m., Jerome Braun wrote:
Hi Duncan!
> Since the compiler will supply stdbool.h, it's safer to use that
than to try to emulate it.
Understood. It seems like the definitions are exactly the same between
the two.
Currently there is no use of "bool" in any of the code (after having
changed bool to int everywhere in the code).
So I think I can replace the two lines in the original code with a call
to include the <stdbool.h> header --- does that seem reasonable? Can I
use an include statement there in place of those two lines?
I think replacing those two defines with
#include <stdbool.h>
should be safe. There's not much a huge difference between bool and
int, but they aren't the same, so you might still run into some issues.
For example, in a modern C compiler a bool value can never be
NA_LOGICAL, but an int value could be. And if you do arithmetic on bool
values, you might be surprised by the answer. For example
bool x = true + true;
results in x storing true, which is equivalent to 1 when used as an integer.
Duncan Murdoch
Thank you!
--
Jerome
On Mon, Mar 31, 2025 at 11:28 AM Duncan Murdoch
<murdoch.dun...@gmail.com <mailto:murdoch.dun...@gmail.com>> wrote:
On 2025-03-31 9:28 a.m., Jerome Braun wrote:
> Hi Michael!
>
> I'd like to make the smallest change possible to Bob Wheeler's
original
> code so I'm not sure if using <stdbool.h> is the best route forward.
>
> I do see that the definitions are the same there. Is there a
low-cost way
> to use that header file or just those definitions?
The problem is that the definitions may vary from compiler to compiler,
and the error message you're getting only shows up some of them. Since
the compiler will supply stdbool.h, it's safer to use that than to try
to emulate it.
Duncan Murdoch
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel