Discrepancy in the complexity of the Copy() function
There is a platform/compiler-dependent discrepancy
in how the complexity of the `Copy()` function in the BASOP code is
counted. The `IF()` statement is counted as one operation (4 complexity points), and the `ELSE()`
statement is also counted as one operation (4 complexity points).
The `Copy()` function is currently written as follows:
```
void Copy( const Word16 x[], /* i : input vector */
Word16 y[], /* o : output vector */
const Word16 L /* i : vector length */ )
{
Word16 i;
IF( y < x )
{
FOR( i = 0; i < L; i++ )
{
y[i] = x[i];
move16();
}
}
ELSE
{
FOR( i = L - 1; i >= 0; i-- )
{
y[i] = x[i];
move16();
}
}
}
```
Depending on the locations of the `x[]` and `y[]` buffers in RAM, the
mechanism may or may not count the `ELSE()` statement. This inconsistency
can lead to discrepancies in complexity numbers, for example, between
Linux and Windows platforms or across different compilers.
issue