norm_l

Computes the number of left shifts required to normalize a 32-bit value, returning a 16-bit result. Returns a shift count of 0 for an input of 0x00000000.

Note: Does not actually normalize the value! This operation is not optimal on the DSP56800E because of the case of returning 0 for an input of 0x00000000. See the intrinsic ffs_l which is more optimal but generates a different value for the case where the input == 0x00000000.
Prototype

  Word16 norm_l(Word32 lsrc)

  

  
Example
long ll = 0x20000000;/* .25 */

short result;



result = norm_l(ll);

// Expected value of result: 1