Re: [Discuss-gnuradio] PMT Oddities

2016-12-13 Thread Martin Braun
I'd agree that your code is not behaving as expected. Don't have something off the top of my head though :/ M On 12/13/2016 02:51 PM, Dave NotTelling wrote: > Assuming that is reproducible, does anyone have suggestions on how to > get around it? > > On Fri, Dec 9, 2016 at 9:16 PM, Dave NotTellin

Re: [Discuss-gnuradio] PMT Oddities

2016-12-13 Thread Dave NotTelling
Assuming that is reproducible, does anyone have suggestions on how to get around it? On Fri, Dec 9, 2016 at 9:16 PM, Dave NotTelling wrote: > Here is a full example: > > [code] > > #!/usr/bin/python > > import pmt > > d = pmt.make_dict() > d = pmt.dict_add(d, pmt.intern('a'), pmt.intern('a')) >

Re: [Discuss-gnuradio] PMT Oddities

2016-12-09 Thread Dave NotTelling
Here is a full example: [code] #!/usr/bin/python import pmt d = pmt.make_dict() d = pmt.dict_add(d, pmt.intern('a'), pmt.intern('a')) d = pmt.dict_add(d, pmt.intern('b'), pmt.intern('b')) d = pmt.dict_add(d, pmt.intern('c'), pmt.intern('c')) a = pmt.cons(d, pmt.make_u8vector(10, 10)) print 'd

Re: [Discuss-gnuradio] PMT Oddities

2016-12-09 Thread Dave NotTelling
I understand that it should bomb, but it doesn't if there are elements in the dictionary of the pair generated by cons. that's the problem. calling dict_keys should die on both tests, but returns just fine on the first test. On Dec 9, 2016 1:35 PM, "Martin Braun" wrote: On 12/05/2016 01:56 PM,

Re: [Discuss-gnuradio] PMT Oddities

2016-12-09 Thread Martin Braun
On 12/05/2016 01:56 PM, Dave NotTelling wrote: > Marcus & Martin: > > I tried the dict_keys() method of checking, but even that can > fail. Here is an example: > > [code] > > import pmt > > d = pmt.make_dict() > d = pmt.dict_add(d, pmt.intern('a'), pmt.intern('a')) > d = pmt.dict_add(d, p

Re: [Discuss-gnuradio] PMT Oddities

2016-12-07 Thread Dave NotTelling
Thoughts? On Mon, Dec 5, 2016 at 4:56 PM, Dave NotTelling wrote: > Marcus & Martin: > > I tried the dict_keys() method of checking, but even that can fail. > Here is an example: > > [code] > > import pmt > > d = pmt.make_dict() > d = pmt.dict_add(d, pmt.intern('a'), pmt.intern('a')) > d = p

Re: [Discuss-gnuradio] PMT Oddities

2016-12-05 Thread Dave NotTelling
Marcus & Martin: I tried the dict_keys() method of checking, but even that can fail. Here is an example: [code] import pmt d = pmt.make_dict() d = pmt.dict_add(d, pmt.intern('a'), pmt.intern('a')) d = pmt.dict_add(d, pmt.intern('b'), pmt.intern('b')) d = pmt.dict_add(d, pmt.intern('c'), pm

Re: [Discuss-gnuradio] PMT Oddities

2016-11-22 Thread Dave NotTelling
Thanks for the explanation! On Tue, Nov 22, 2016 at 5:29 PM, Marcus Müller wrote: > That's a long story. Essentially, a list is a pair of the first element > and a pair of a second element and a pair of the third element and a pair > of … > > Cheers, > Marcus > > On 22.11.2016 23:18, Dave NotTel

Re: [Discuss-gnuradio] PMT Oddities

2016-11-22 Thread Marcus Müller
That's a long story. Essentially, a list is a pair of the first element and a pair of a second element and a pair of the third element and a pair of … Cheers, Marcus On 22.11.2016 23:18, Dave NotTelling wrote: > I ask because it feels like a bug. Things like ((a . b), (c . d), (e > . f)) are de

Re: [Discuss-gnuradio] PMT Oddities

2016-11-22 Thread Martin Braun
I remember writing this (UHD code), and at the time, I thought I could fix PMTs first, but then decided it was too invasive. I would have to go over the exercise again to tell you exactly why. You're right, it feels like a bug. Probably, this was not by design, but is an artefact of how PMT types

Re: [Discuss-gnuradio] PMT Oddities

2016-11-22 Thread Dave NotTelling
I ask because it feels like a bug. Things like ((a . b), (c . d), (e . f)) are definitely not pairs (assuming a pair is 2 elements) and (in my opinion) should not return true for pmt.is_pair(). On Tue, Nov 22, 2016 at 5:12 PM, Dave NotTelling wrote: > Martin, > > Was that done on purpose?

Re: [Discuss-gnuradio] PMT Oddities

2016-11-22 Thread Dave NotTelling
Martin, Was that done on purpose? Thank you for the link! I hadn't thought about checking that way. Thanks! -Dave On Tue, Nov 22, 2016 at 5:08 PM, Martin Braun wrote: > Dave, > > pairs pass is_dict(), which is possibly the root cause here. See also: > https://github.com/gnuradio/g

Re: [Discuss-gnuradio] PMT Oddities

2016-11-22 Thread Martin Braun
Dave, pairs pass is_dict(), which is possibly the root cause here. See also: https://github.com/gnuradio/gnuradio/blob/31b28f0cf4694378b26617616d08b4082668962f/gr-uhd/lib/usrp_block_impl.cc#L487-L494 Cheers, M On 11/22/2016 01:47 PM, Dave NotTelling wrote: > I noticed today that the is_dict and