/* Location of x and y may differ depending on platform/memory allocation. Since IF and ELSE has different complexity count, the early return is used instead of ELSE to ensure the same complexity number regardless of x and y memory addresses. */
/* Location of x and y may differ depending on platform/memory allocation. Since IF and ELSE has different complexity count, the early return is used instead of ELSE to ensure the same complexity number regardless of x and y memory addresses. */
return;
#endif
}
#ifndef FIX_1052_COPY_CMPLX_DISCREPANCY
ELSE
{
#endif
FOR(i=L-1;i>=0;i--)
{
y[i]=x[i];
move64();
}
return;
#ifndef FIX_1052_COPY_CMPLX_DISCREPANCY
}
#endif
}
voidset64_fx(
...
...
@@ -558,9 +583,17 @@ void Copy_pword(
move16();
move16();
}
#ifdef FIX_1052_COPY_CMPLX_DISCREPANCY
/* Location of x and y may differ depending on platform/memory allocation. Since IF and ELSE has different complexity count, the early return is used instead of ELSE to ensure the same complexity number regardless of x and y memory addresses. */
#define MAX_FUNCTION_NAME_LENGTH 200 /* Maximum length of the function name */
#define MAX_PARAMS_LENGTH 200 /* Maximum length of the function parameter string */
#define MAX_NUM_RECORDS 300 /* Initial maximum number of records -> might be increased during runtime, if needed */
...
...
@@ -48,6 +50,9 @@
#define DOUBLE_MAX 0x80000000
#define FAC ( FRAMES_PER_SECOND / 1e6 )
#define FRAMES_PER_SECOND 50.0
#define PROM_INST_SIZE 32 /* number of bits of each program instruction when stored in the PROM memory (applied only when the user selects reporting in bytes) */
// fprintf( stdout, "\tAll other op.: %12.1f\n", inst_cnt_wc[i] );
// break;
// default:
// fprintf( stdout, "\tERROR: Invalid instruction type: %d\n\n", i );
// }
// }
//#endif
//
// /* De-allocate the list of wmops record */
// if ( wmops != NULL )
// {
// free( wmops );
// }
//
// /* De-allocate the list of wmops caller functions */
// if ( wmops_caller_stack != NULL )
// {
// free( wmops_caller_stack );
// }
//
// /* De-allocate the BASOP WMOPS counter */
// //if ( multiCounter != NULL )
// //{
// // free( multiCounter );
// //}
/* De-allocate the list of wmops caller functions */
if(wmops_caller_stack!=NULL)
{
free(wmops_caller_stack);
}
/* De-allocate the BASOP WMOPS counter */
if(multiCounter!=NULL)
{
free(multiCounter);
}
return;
}
...
...
@@ -701,8 +752,8 @@ void print_wmops( void )
#define MAGIC_VALUE_OOB 0x12A534F0 /* Signature value which is inserted before and after each allocated memory block, used to detect out-of-bound access */
#define MAGIC_VALUE_USED ( ~MAGIC_VALUE_OOB ) /* Value used to pre-fill allocated memory blocks, used to calculate actual memory usage */
#define OOB_START 0x1 /* Flag indicating out-of-bounds access before memory block */
#define OOB_END 0x2 /* Flag indicating out-of-bounds access after memory block */
#define OOB_START 0x1 /* int indicating out-of-bounds access before memory block */
#define OOB_END 0x2 /* int indicating out-of-bounds access after memory block */
* (C) 2022 copyright VoiceAge Corporation. All Rights Reserved.
* (C) 2024 copyright VoiceAge Corporation. All Rights Reserved.
*
* This software is protected by copyright law and by international treaties. The source code, and all of its derivations,
* is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file
...
...
@@ -30,8 +30,12 @@
#pragma GCC system_header
#endif
#define FRAMES_PER_SECOND 50.0
#define PROM_INST_SIZE 32 /* number of bits of each program instruction when stored in the PROM memory (applied only when the user selects reporting in bytes) */
#define ENH_32_BIT_OPERATOR
#define ENH_64_BIT_OPERATOR
#define ENH_U_32_BIT_OPERATOR
#define COMPLEX_OPERATOR
#define CONTROL_CODE_OPS /* enable control code operators such as LT_16, GT_16, ... */
#define WMOPS_DISABLE_FCN_CALL_PENALIZATION /* do not count the complexity of function calls */