Marcus Müller

Results 470 comments of Marcus Müller

Giving this both the Cruft and the Bug tag: exposing an API whose symbols you don't define will clearly go very wrong if someone uses that API.

@StudHamza yes! make sure a clean build still runs through afterwards, and make a PR.

It's very annoying that the pycodestyle on my machines differs from the pycodestyle on the CI.

huh, no, no idea. Need to reproduce locally.

locally reproduced the 32 bit test failure. having a hard time figuring out the reason. The tolerance seems very generous already.

Tap generation broken on 32 bit, it seems: ``` In [11]: numpy.array(lower64) - numpy.array(lower32) Out[11]: array([ 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, -1.00000e-08+0.00000e+00j, 0.00000e+00-1.00000e-08j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j, 0.00000e+00+0.00000e+00j,...

baseband taps seem to be different, but not much (10⁻⁷, still surprisingly much for these relatively well-conditioned numbers) 64 bit: ``` -0.019462407, -0.0125468485, 2.5296996e-08, 0.0153915845, 0.029321931, 0.036896005, 0.033928595, 0.018343471, -0.008656152,...

Yep, `k` calculation totally borked on 32 bit: ``` index: 44, k=536870900, tap=-0.0017034719, lower=0.0015804379+0.0006356355j, upper=0.0015804379+-0.0006356355j index: 43, k=536870900, tap=-0.0010981782, lower=0.0010188618+0.00040977553j, upper=0.0010188618+-0.00040977553j index: 42, k=536870900, tap=2.2141515e-09, lower=-2.0542335e-09+-8.2619117e-10j, upper=-2.0542335e-09+8.2619117e-10j index: 41, k=536870900,...

I think there was something fishy going on with integer promotion rules. Having made `N` of signed type, this now works, even if `(signed int a) - (unsigned int)` shouldn't...

@willcode see https://github.com/gnuradio/gnuradio/pull/7127/commits/1ed75cd6bc47a246f16233603a85b942710af185 ; that was indeed all that was necessary. I'm slightly confused why this should make a difference, anywhere. (as soon as CI passes, I'll squash and force-push)