Attention is currently required from: pespin.

Hoernchen uploaded patch set #2 to this change.

View Change

ms: adjust float<->integral type conversion

Given integral type A and non integral type B and depending on rounding
mode, optimization, compiler, and phase of the moon A(A)*B != A(A*B) so
split the two cases.

While at it, also make the template automagically work for complex types
instead of requiring manual casts, the general idea here is to allow
inlining and vectorization by treating all args as plain arrays, which is fine.

This works as expected with -tune=native, x64 implies sse2, and we do not
target any neon-less arm versions either.

Clang only array length hints can improve this even more.

Change-Id: I93f077f967daf2ed382d12cc20a54846b3688634
---
M Transceiver52M/Complex.h
M Transceiver52M/ms/ms.cpp
M Transceiver52M/ms/ms.h
M Transceiver52M/ms/ms_rx_burst_test.cpp
M Transceiver52M/ms/ms_rx_lower.cpp
M Transceiver52M/ms/ms_upper.cpp
6 files changed, 56 insertions(+), 21 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/66/30966/2

To view, visit change 30966. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I93f077f967daf2ed382d12cc20a54846b3688634
Gerrit-Change-Number: 30966
Gerrit-PatchSet: 2
Gerrit-Owner: Hoernchen <ewild@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin@sysmocom.de>
Gerrit-Attention: pespin <pespin@sysmocom.de>
Gerrit-MessageType: newpatchset