annotate libgsmefr/memops.h @ 282:9ee8ad3d4d30

frtest: rm gsmfr-hand-test and gsmfr-max-out utils These hack programs were never properly documented and were written only as part of a debug chase, in pursuit of a bug that ultimately turned out to be in our then-hacky patch to osmo-bts-sysmo, before beginning of proper patches in Osmocom. These hack programs need to be dropped from the present sw package because they depend on old libgsm, and we are eliminating that dependency.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 14 Apr 2024 05:44:47 +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 }