On Sat, 2011-05-07 at 15:53 +0100, Tom Rondeau wrote: > On Sat, May 7, 2011 at 3:44 PM, mehmet kabasakal > <85kabasa...@gmail.com> wrote: > Hi List, > > I am trying to write a block, that finds the cumulative sum of > the points. > But when i run the block on GRC, the output of the block > becomes as in > the attached figure. It wraps for a period of time. I expect > it to go > negatively downwards. Because i am accumulating negative > values. I > couldn't understand the reason. Is there something missing in > the > code. The c++ code of the block is attached also. > > Thanks for the help! > Mehmet. > > > > Mehmet, > It looks like it's because you are setting out[0] = 0 before entering > the for loop in your work function. This will then reset the counter > every time you enter work.
I'm pretty sure it won't work even if you remove that call. You can't count on out[0] having any sort of reasonable value when invoking the work call. Try saving the cumulative sum in a private member variable of your class, initialize it to 0 in your constructor, and setting out[0] to that saved value when starting each work function call. --n > > > Tom > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio