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

Reply via email to