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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }