Differences
This shows you the differences between two versions of the page.
Both sides previous revision
Previous revision
Next revision
|
Previous revision
Last revision
Both sides next revision
|
math:start [2022/07/16 16:22] rajit [Namespace math::fxp] |
math:start [2022/07/30 11:40] rajit [Functions] |
| |
This namespace is used to provide support functions for math operations. | This namespace is used to provide support functions for math operations. |
| |
| ===== Functions ===== |
| |
| <code act> |
| template<pint Worig, Wnew> function sign_extend (int<Worig> x) : int<Wnew>; |
| </code> |
| |
| This function takes an integer ''x'' of width ''Worig'', and sign extends its most significant bit to return a result that has width ''Wnew''. It assumes that ''Wnew'' is at least ''Worig.'' |
| |
| |
| <code act> |
| template<pint Worig, Wnew> function zero_extend (int<Worig> x) : int<Wnew>; |
| </code> |
| |
| This function takes an integer ''x'' of width ''Worig'', and zero extends it to return a result that has width ''Wnew''. It assumes that ''Wnew'' is at least ''Worig.'' |
| |
| |
| |
| |
===== 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 |