Commit 38865aaa authored by Vladimir Malenovsky's avatar Vladimir Malenovsky
Browse files

add source and project files

parent 4f3e6f48
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -4,8 +4,6 @@

/build
/COMPLEXITY
/scripts/my_config
/scripts/wmops/logs
/Workspace_msvc/.vs/Workspace_msvc/v16/ipch/AutoPCH
/Workspace_msvc/.vs/Workspace_msvc/v16
/Workspace_msvc/Debug
@@ -16,6 +14,3 @@
*.user
/EVS_cod.exe
/EVS_dec.exe
/IvasBuilder.txt
*.xlsx
/scripts/c-code_instrument
+1 −1
Original line number Diff line number Diff line
This is a modified version of the EVS BASOP reference code 26.442 V16.4.0 (2021-04). The source code has been adjusted to enable the WMC tool for complexity and memory instrumentation.
This is a modified version of the EVS BASOP ALT reference code 26.452 V18.0.0 (2024-05-16). The source code has been adjusted to enable the WMC tool for complexity and memory instrumentation.

To estimate complexity and memory usage, navigate to the root folder and run these commands (Linux):

+0 −2
Original line number Diff line number Diff line
@@ -12,8 +12,6 @@
********************************************************************************
*/
#include "stl.h"
#include "wmc_auto.h"

#include "math_op.h"
#include <assert.h>
#include "rom_basic_math.h"

basic_math/math_32.c

deleted100644 → 0
+0 −79
Original line number Diff line number Diff line
/*#include "options.h" */
#include "stl.h"
#include "wmc_auto.h"

#ifdef ALLOW_40bits
#include "enh40.h"
#endif
#include "oper_32b.h"

/* 32x16 multiply: */
Word32 Mult_32_16(Word32 a, Word16 b)
{
	Word32 result; 
#ifdef ALLOW_40bits /* if activated; need 40 bits basic-op files */
    UWord16 lo;
    /* use Mpy_32_16_ss(): */
    Mpy_32_16_ss(a, b, &result, &lo);  
#else 
    Word16 lo, hi;
  /* do things by hand: */
    lo = L_Extract_lc(a, &hi);
    result = Mpy_32_16(hi, lo, b);
#endif
    return result;
}
/* 32x32 multiply: */
Word32 Mult_32_32(Word32 a, Word32 b)
{
	Word32 result; 
#ifdef ALLOW_40bits /* if activated; need 40 bits basic-op files */
    UWord32 lo;
    /* use Mpy_32_32_ss(): */
    Mpy_32_32_ss(a, b, &result, &lo);
#else 
    Word16 hi, lo, b_hi, b_lo;
  /* do things by hand: */
    lo = L_Extract_lc(a, &hi);
    b_lo = L_Extract_lc(b, &b_hi);
    result = Mpy_32(hi, lo, b_hi, b_lo);
#endif
	return result;
}

/* 32x16 multiply-accumulate: */
Word32 Madd_32_16(Word32 L_num, Word32 a, Word16 b)
{
    Word32 result; 
#ifdef ALLOW_40bits /* if activated; need 40 bits basic-op files */
    UWord16 lo;
    /* use Mpy_32_16_ss(): */
    Mpy_32_16_ss(a, b, &result, &lo);
    result = L_add(L_num, result);
#else 
    Word16 lo, hi;
  /* do things by hand: */
    lo = L_Extract_lc(a, &hi);
    result = Mac_32_16(L_num, hi, lo, b);
#endif
    return result;
}

/* 32x16 multiply-substract: */
Word32 Msub_32_16(Word32 L_num, Word32 a, Word16 b)
{
	Word32 result; 
#ifdef ALLOW_40bits /* if activated; need 40 bits basic-op files */
    UWord16 lo;
    /* use Mpy_32_16_ss(): */
    Mpy_32_16_ss(a, b, &result, &lo);
    result = L_sub(L_num, result);
#else 
    Word16 lo, hi;
  /* do things by hand: */
    lo = L_Extract_lc(a, &hi);
    result = Msu_32_16(L_num, hi, lo, b);
#endif
    return result;
}
+4 −6
Original line number Diff line number Diff line
@@ -3,10 +3,8 @@

#include "typedef.h"
#include "basop32.h"
#include "enh32.h"

extern Word32 Mult_32_16(Word32 a, Word16 b);
extern Word32 Madd_32_16(Word32 L_num, Word32 a, Word16 b);
extern Word32 Msub_32_16(Word32 L_num, Word32 a, Word16 b);
extern Word32 Mult_32_32(Word32 a, Word32 b);

#endif
#define Mult_32_16(A,B)  Mpy_32_16_1(A,B)
#define Mult_32_32(A,B)  Mpy_32_32(A,B)
#endif  /* #ifndef _MATH_32_H_ */
Loading