[R-pkg-devel] AlgDesign C Issue
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Mon Mar 31 18:38:01 CEST 2025
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.duncan using gmail.com <mailto:murdoch.duncan using 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
>
More information about the R-package-devel
mailing list