HISE Logo Forum
    • Categories
    • Register
    • Login

    SNEX weirdness or me ?

    Scheduled Pinned Locked Moved General Questions
    22 Posts 2 Posters 752 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Christoph HartC
      Christoph Hart @ustk
      last edited by

      Nope, T = 1/fs, TwoOverT = 2 / (1 / fs) => simplifies in 2*fs

      One formula (yours) is blowing the filter into NaNs immediately and one formula (mine) makes the filter work ok(ish) - it still blows up if the cutoff frequency goes near Nyquist.

      I am trying to keep common/shared things together and separate what it needs to be.

      Yes that's a good approach, all you need to do to make it work is to add another argument to the processFilter() function where you pass in a0 from the outer class. It's just not legal C++ to access the outer member from the inner class.

      ustkU 1 Reply Last reply Reply Quote 1
      • ustkU
        ustk @Christoph Hart
        last edited by

        @Christoph-Hart said in SNEX weirdness or me ?:

        One formula (yours) is blowing the filter into NaNs immediately and one formula (mine) makes the filter work ok(ish) - it still blows up if the cutoff frequency goes near Nyquist.

        Yeah I got that blowing which is part of this algorithm (Pirkle/Zavalishin) so it is mandatory to OS at a minimum of x2, and only then I could stabilise it

        It's just not legal C++ to access the outer member from the inner class.

        Oh thanks! That is quite an important hint!

        Can't help pressing F5 in the forum...

        Christoph HartC 1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart @ustk
          last edited by

          @ustk should be fixed - the compiler will scream at you now…

          ustkU 1 Reply Last reply Reply Quote 1
          • ustkU
            ustk @Christoph Hart
            last edited by

            @Christoph-Hart So in the end I was doing something silly that didn't need a fix if I had followed the conventional approach of C++ 🤗

            Can't help pressing F5 in the forum...

            Christoph HartC 1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart @ustk
              last edited by

              @ustk yes, but it's the job of the compiler to tell you that you're doing something stupid and the actual effect it had on your class was totally unpredictable, so it's definitely better now than before :)

              ustkU 1 Reply Last reply Reply Quote 1
              • ustkU
                ustk @Christoph Hart
                last edited by ustk

                @Christoph-Hart Hmmm... So now it complains on the index type in the process template

                Screenshot 2024-10-13 at 22.50.47.png

                private:
                	using IndexType = index::clamped<MAX_NUM_CHANNELS, false>;
                	IndexType idx;
                

                But it is impossible to stick it as member parameter or declare it as constant, am I right?
                So what would be the procedure then?
                Sorry for the C++ crash course I still need...

                Can't help pressing F5 in the forum...

                ustkU 1 Reply Last reply Reply Quote 0
                • ustkU
                  ustk @ustk
                  last edited by

                  @Christoph-Hart both process and idx are in the same template so this shouldn't be an issue if I am not mistaken

                  Can't help pressing F5 in the forum...

                  ustkU 1 Reply Last reply Reply Quote 0
                  • ustkU
                    ustk @ustk
                    last edited by

                    @ustk Boing boing 🙂

                    Can't help pressing F5 in the forum...

                    ustkU 1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk @ustk
                      last edited by ustk

                      @Christoph-Hart Even doing this throws the error:

                      Screenshot 2024-10-15 at 12.20.09.png

                      It seems index is considered to be outside

                      Can't help pressing F5 in the forum...

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @ustk
                        last edited by

                        @ustk ah yeah actually I caught a similar error with the index classes in my test suite when I implemented the fix but it seems that the test suite didn‘t cover index usage within a class.

                        Back to the SNEX compiler internals I guess…

                        Christoph HartC 1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @Christoph Hart
                          last edited by

                          Alright, please try again, now it should not mess with the index templates anymore.

                          ustkU 2 Replies Last reply Reply Quote 1
                          • ustkU
                            ustk @Christoph Hart
                            last edited by

                            @Christoph-Hart Thanks! Building now...

                            Can't help pressing F5 in the forum...

                            1 Reply Last reply Reply Quote 0
                            • ustkU
                              ustk @Christoph Hart
                              last edited by

                              @Christoph-Hart Working smoothly! Thanks a lot for the fix! 👍

                              Can't help pressing F5 in the forum...

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              23

                              Online

                              1.8k

                              Users

                              12.1k

                              Topics

                              105.0k

                              Posts