FreeCalypso > hg > gsm-codec-lib
annotate libgsmefr/memops.h @ 128:a5ffec18e4cd
test programs: use printf %d format for codec parameters
Even though all codec params (both FR and EFR) are small unsigned integers,
we use signed int16_t data type for both, for interface reasons: in the
case of FR it's the gsm_signal type of libgsm, and in the case of EFR
it's the Word16 type of ETSI codec guts. Therefore, the correct printf
format is %d, not %u, when the objective is to see what's in the variables
(what the compiler sees) and catch any bugs.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 11 Dec 2022 04:00:13 +0000 |
parents | d285877fc4cc |
children |
rev | line source |
---|---|
58
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * The original code from ETSI uses its own Copy() and Set_zero() |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * functions, operating on Word16 elements. Here we implement them |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * as static inline functions wrapping around memcpy and memset. |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 */ |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <string.h> |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 static inline void Copy ( |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 const Word16 x[], /* (i) : input vector */ |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 Word16 y[], /* (o) : output vector */ |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 Word16 L /* (i) : vector length */ |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 ) |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 { |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 memcpy(y, x, L * 2); |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 } |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 static inline void Set_zero ( |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 Word16 x[], /* (o) : vector to clear */ |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 Word16 L /* (i) : length of vector */ |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 ) |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 { |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 memset(x, 0, L * 2); |
d285877fc4cc
libgsmefr: cod_12k2.c compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 } |