📄 mathhalf.h
字号:
#ifndef __MATHHALF
#define __MATHHALF
#include "typedefs.h"
/*_________________________________________________________________________
| |
| Function Prototypes |
|_________________________________________________________________________|
*/
/* addition */
/************/
Shortword add(Shortword var1, Shortword var2); /* 1 ops */
Shortword sub(Shortword var1, Shortword var2); /* 1 ops */
Longword L_add(Longword L_var1, Longword L_var2); /* 2 ops */
Longword L_sub(Longword L_var1, Longword L_var2); /* 2 ops */
/* multiplication */
/******************/
Shortword mult(Shortword var1, Shortword var2); /* 1 ops */
Longword L_mult(Shortword var1, Shortword var2); /* 1 ops */
Shortword mult_r(Shortword var1, Shortword var2); /* 2 ops */
/* arithmetic shifts */
/*********************/
Shortword shr(Shortword var1, Shortword var2); /* 1 ops */
Shortword shl(Shortword var1, Shortword var2); /* 1 ops */
Longword L_shr(Longword L_var1, Shortword var2); /* 2 ops */
Longword L_shl(Longword L_var1, Shortword var2); /* 2 ops */
Shortword shift_r(Shortword var, Shortword var2); /* 2 ops */
Longword L_shift_r(Longword L_var, Shortword var2); /* 3 ops */
/* absolute value */
/*******************/
Shortword abs_s(Shortword var1); /* 1 ops */
Longword L_abs(Longword var1); /* 3 ops */
/* multiply accumulate */
/************************/
Longword L_mac(Longword L_var3,
Shortword var1, Shortword var2); /* 1 op */
Shortword mac_r(Longword L_var3,
Shortword var1, Shortword var2); /* 2 op */
Longword L_msu(Longword L_var3,
Shortword var1, Shortword var2); /* 1 op */
Shortword msu_r(Longword L_var3,
Shortword var1, Shortword var2); /* 2 op */
/* negation */
/*************/
Shortword negate(Shortword var1); /* 1 ops */
Longword L_negate(Longword L_var1); /* 2 ops */
/* Accumulator manipulation */
/****************************/
Longword L_deposit_l(Shortword var1); /* 1 ops */
Longword L_deposit_h(Shortword var1); /* 1 ops */
Shortword extract_l(Longword L_var1); /* 1 ops */
Shortword extract_h(Longword L_var1); /* 1 ops */
/* Round */
/*********/
Shortword round(Longword L_var1); /* 1 ops */
/* Normalization */
/*****************/
Shortword norm_l(Longword L_var1); /* 30 ops */
Shortword norm_s(Shortword var1); /* 15 ops */
/* Division */
/************/
Shortword divide_s(Shortword var1, Shortword var2); /* 18 ops */
/* Non-saturating instructions */
/*******************************/
Longword L_add_c(Longword L_Var1, Longword L_Var2); /* 2 ops */
Longword L_sub_c(Longword L_Var1, Longword L_Var2); /* 2 ops */
Longword L_sat(Longword L_var1); /* 4 ops */
Longword L_macNs(Longword L_var3,
Shortword var1, Shortword var2); /* 1 ops */
Longword L_msuNs(Longword L_var3,
Shortword var1, Shortword var2); /* 1 ops */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -