SPRACN6 July   2019 F29H850TU , F29H859TU-Q1 , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P550SJ , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   Fast Integer Division – A Differentiated Offering From C2000 Product Family
    1.     Trademarks
    2. 1 Introduction
    3. 2 Different Division Functions
      1. 2.1 Truncated Division or Traditional Division
      2. 2.2 Floored Division or Modulo Division
      3. 2.3 Euclidean Division
    4. 3 Intrinsic Support Through TI C2000 Compiler
      1. 3.1 Software Examples
    5. 4 Cycle Count
    6. 5 Summary
    7. 6 References

Truncated Division or Traditional Division

Truncated division is natively used in many programming languages including C and it is the most commonly used division function. The truncated division function is defined as follows:

Quotient = trunc(Numerator/Denominator)

Remainder = Numerator – Quotient*Denominator

The transfer function of the truncated division is shown in Figure 1. In this definition, the remainder will always have the sign of the numerator. Here, the function is non periodic since there is a “platform” around zero point. Due to the non-linearity around zero point, the function is not preferred in control algorithms.

spracn6-truncated-division-function.gifFigure 1. Truncated Division Function