graph-prototype icon indicating copy to clipboard operation
graph-prototype copied to clipboard

feat: Ported Boolean 'And' block (refs #536, EPIC #161)

Open KrxGu opened this issue 8 months ago • 3 comments

Port Boolean Blocks to GNU Radio 4

This PR ports Boolean operator blocks as part of EPIC #161.

Blocks included in this PR:

  • [x] And – ✅ implemented & tested
    (Original implementation by Alex from PR #536; I fixed CI issues and tests.)

Additional blocks coming in separate commits (within this same PR):

  • [ ] AndConst – in progress
  • [ ] Or – in progress
  • [ ] Xor – in progress
  • [ ] Not – in progress

Each block will have clearly separated commits for easier review and potential merge conflicts handling, as suggested by @mormj .

All CI checks (DCO, Restyled, SonarCloud) will be explicitly handled per commit.

KrxGu avatar Apr 16 '25 13:04 KrxGu

@jsallay @mormj can u help me with these failing CI tests, i am using docker env . I added the above files and again did a clean build and also tested which was all successful build(96%) but after creating the PR and pushing it , most of the CI checks are failing, can u let me know why this issue is occurring and how can i solve it. image

others are also welcomed to help me solve the issue!!

KrxGu avatar Apr 16 '25 17:04 KrxGu

@KrxGu I started adding some blocks for boolean logic including unary math blocks a while ago (max, min, and, or, xor, not, negate). Unfortunately, I never had the time to completely finish it, and then forgot about it. Maybe you can use some of it or pick it up. See the relevant changes here:

https://github.com/fair-acc/gnuradio4/compare/main...eltos:gnuradio4:eltos-boolean-math-blocks

PS: I used MathOpMultiPortImpl template from #395 and then just

template<typename T>
using And = MathOpMultiPortImpl<T, std::bit_and<T>>;

eltos avatar Apr 30 '25 12:04 eltos

@KrxGu do you plan to continue working on this PR? If yes, you may need to rebase against the latest main commit.

RalphSteinhagen avatar May 14 '25 15:05 RalphSteinhagen

@KrxGu I started adding some blocks for boolean logic including unary math blocks a while ago (max, min, and, or, xor, not, negate). Unfortunately, I never had the time to completely finish it, and then forgot about it. Maybe you can use some of it or pick it up. See the relevant changes here:

main...eltos:gnuradio4:eltos-boolean-math-blocks

PS: I used MathOpMultiPortImpl template from #395 and then just

template<typename T>
using And = MathOpMultiPortImpl<T, std::bit_and<T>>;

Thank you for the heads up, tried to take inspirations for your work for few header files kindly refer to #595

KrxGu avatar Jun 08 '25 23:06 KrxGu

@KrxGu - I assume this can be closed now since bitwise operators are included in #595 ?

mormj avatar Jul 11 '25 13:07 mormj

@KrxGu - I assume this can be closed now since bitwise operators are included in #595 ?

KrxGu avatar Jul 30 '25 11:07 KrxGu