I've read the various pages / posts about object coding & fixed point math. There are two things that remained unclear:
First, re ___SMUL:
In http://community.axoloti.com/t/coding-axoloti-objects/2606/11 it is shown that we can do e.g.
___SMUL(a << 3, b << 2) or
___SMUL(a << 5, b) or
___SMUL(a, b) << 5
What is the difference in the the three variants (in terms of numerical result), assuming that a and b are both within the 27 bit range?
Second , re __SSAT:
Are there an "best practices" when one should saturate after certain operations, and when it's not necessary?