FreeCalypso > hg > efr-experiments
diff src/count.h @ 0:56410792419a
src: original EFR source from ETSI
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Wed, 03 Apr 2024 05:31:37 +0000 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/count.h Wed Apr 03 05:31:37 2024 +0000 @@ -0,0 +1,61 @@ +/* Global counter variable for calculation of complexity weight */ + +typedef struct +{ + Word32 add; /* Complexity Weight of 1 */ + Word32 sub; + Word32 abs_s; + Word32 shl; + Word32 shr; + Word32 extract_h; + Word32 extract_l; + Word32 mult; + Word32 L_mult; + Word32 negate; + Word32 round; + Word32 L_mac; + Word32 L_msu; + Word32 L_macNs; + Word32 L_msuNs; + Word32 L_add; /* Complexity Weight of 2 */ + Word32 L_sub; + Word32 L_add_c; + Word32 L_sub_c; + Word32 L_negate; + Word32 L_shl; + Word32 L_shr; + Word32 mult_r; + Word32 shr_r; + Word32 shift_r; + Word32 mac_r; + Word32 msu_r; + Word32 L_deposit_h; + Word32 L_deposit_l; + Word32 L_shr_r; /* Complexity Weight of 3 */ + Word32 L_shift_r; + Word32 L_abs; + Word32 L_sat; /* Complexity Weight of 4 */ + Word32 norm_s; /* Complexity Weight of 15 */ + Word32 div_s; /* Complexity Weight of 18 */ + Word32 norm_l; /* Complexity Weight of 30 */ + Word32 DataMove16; /* Complexity Weight of 1 */ + Word32 DataMove32; /* Complexity Weight of 2 */ + Word32 Logic16; /* Complexity Weight of 1 */ + Word32 Logic32; /* Complexity Weight of 2 */ + Word32 Test; /* Complexity Weight of 2 */ +} +BASIC_OP; + +Word32 TotalWeightedOperation (void); +Word32 DeltaWeightedOperation (void); + +void Init_WMOPS_counter (void); +void Reset_WMOPS_counter (void); +void WMOPS_output (Word16 dtx_mode); +Word32 fwc (void); + +void move16 (void); +void move32 (void); +void logic16 (void); +void logic32 (void); +void test (void);
