Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
math:start [2022/07/16 16:20]
rajit created
math:start [2022/07/30 11:38]
rajit [Namespace math]
Line 2: Line 2:
  
 This namespace is used to provide support functions for math operations. This namespace is used to provide support functions for math operations.
 +
 +===== Functions =====
 +
  
 ===== Namespace math::fxp ===== ===== Namespace math::fxp =====
 +
 +==== Functions ====
  
 The ''math::fxp'' namespace contains simple definitions for fixed-point arithmetic functions. Functions take two parameters ''A'' and ''B'', and integers use the standard Q-format where the representation Q(A,B) corresponds to A digits for the integer part and B digits for the fractional part. The representation uses 2's complement for negative The ''math::fxp'' namespace contains simple definitions for fixed-point arithmetic functions. Functions take two parameters ''A'' and ''B'', and integers use the standard Q-format where the representation Q(A,B) corresponds to A digits for the integer part and B digits for the fractional part. The representation uses 2's complement for negative
Line 17: Line 22:
 </code> </code>
 This returns the difference of two Q(A,B) numbers ''x'' and ''y''. This returns the difference of two Q(A,B) numbers ''x'' and ''y''.
 +
 +<code act>
 +template<pint A,B> function multu (int<A+B> x, y) : int<A+B>;
 +</code>
 +This returns the unsigned product of two Q(A,B) numbers ''x'' and ''y''.
 +
 +<code act>
 +template<pint A,B> function divu (int<A+B> x, y) : int<A+B>;
 +</code>
 +This returns the unsigned division result ''x/y'' of two Q(A,B) numbers ''x'' and ''y''.
 +
 +<code act>
 +template<pint A,B> function mults (int<A+B> x, y) : int<A+B>;
 +</code>
 +This returns the signed product of two Q(A,B) numbers ''x'' and ''y''.
 +
 +<code act>
 +template<pint A,B> function divs (int<A+B> x, y) : int<A+B>;
 +</code>
 +This returns the signed division result ''x/y'' of two Q(A,B) numbers ''x'' and ''y''.
 +
 +<code act>
 +template<pint A,B> function uminus (int<A+B> x) : int<A+B>;
 +</code>
 +This returns the negated value of a signed Q(A,B) number ''x''.
 +
 +