bastibl / gr-ieee802-15-4

IEEE 802.15.4 ZigBee Transceiver
https://www.wime-project.net
GNU General Public License v3.0
271 stars 87 forks source link

lib: use explicit types #9

Closed michaelld closed 9 years ago

michaelld commented 9 years ago

for std::log2 and gr::sync_decimator constructor argument 'decimation', to fix errors on some compilers. This change looks correct to me and compiles cleanly on Clang (llvm 3.4 and 3.6) and GCC 4.9, but you might want to check it to make sure it does what you wanted the original code to do.

The issue at hand is that std::log2 takes a floating-point type, and some compilers will not do implicit type-converstion from size_t to floating.

bastibl commented 9 years ago

Currently this block is not used, but hopefully it will replace the monolithic packet sink soon. I will test its functionality when moving to the new receiver structure. Thanks!

michaelld commented 9 years ago

YW. Turns out there's another std::log2 in the constructor, but for some reason fixing these doesn't solve the issue for this compiler. After more testing, I think it's the compiler's issue rather than the programming here. Fixing this issue isn't a bad idea, but we need to fix both to make any difference. I'll play around with fixing both then do another PR with those changes.