libosmodsp
0.5.0
Osmocom DSP library
Toggle main menu visibility
Loading...
Searching...
No Matches
cxvec.h
Go to the documentation of this file.
1
/*
2
* cxvec.h
3
*
4
* Complex vectors handling
5
*
6
* Copyright (C) 2011 Sylvain Munaut <tnt@246tNt.com>
7
*
8
* All Rights Reserved
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License along
21
* with this program; if not, write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23
*/
24
25
#ifndef __OSMO_DSP_CXVEC_H__
26
#define __OSMO_DSP_CXVEC_H__
27
31
35
36
#include <complex.h>
37
38
#define CXVEC_FLG_REAL_ONLY (1<<0)
39
41
struct
osmo_cxvec
{
42
int
len
;
43
int
max_len
;
44
int
flags
;
45
float
complex *
data
;
46
float
complex
_data
[0];
47
};
48
49
void
50
osmo_cxvec_init_from_data
(
struct
osmo_cxvec
*cv,
51
float
complex *data,
int
len);
52
53
struct
osmo_cxvec
*
54
osmo_cxvec_alloc_from_data
(
float
complex *
data
,
int
len
);
55
56
struct
osmo_cxvec
*
57
osmo_cxvec_alloc
(
int
max_len
);
58
59
void
60
osmo_cxvec_free
(
struct
osmo_cxvec
*cv);
61
62
void
63
osmo_cxvec_dbg_dump
(
struct
osmo_cxvec
*cv,
const
char
*fname);
64
66
67
#endif
/* __OSMO_DSP_CXVEC_H__ */
osmo_cxvec_alloc_from_data
struct osmo_cxvec * osmo_cxvec_alloc_from_data(float complex *data, int len)
Allocate a complex vector referencing a given data array.
Definition
cxvec.c:63
osmo_cxvec_dbg_dump
void osmo_cxvec_dbg_dump(struct osmo_cxvec *cv, const char *fname)
Save the data contained of a vector into a .cfile for debug.
Definition
cxvec.c:119
osmo_cxvec_alloc
struct osmo_cxvec * osmo_cxvec_alloc(int max_len)
Allocate a complex vector of a given maximum length.
Definition
cxvec.c:83
osmo_cxvec_init_from_data
void osmo_cxvec_init_from_data(struct osmo_cxvec *cv, float complex *data, int len)
Initialize a vector structure with a given data array.
Definition
cxvec.c:48
osmo_cxvec_free
void osmo_cxvec_free(struct osmo_cxvec *cv)
Free a complex vector (and possibly associated data).
Definition
cxvec.c:109
osmo_cxvec
Complex vector.
Definition
cxvec.h:41
osmo_cxvec::len
int len
Valid length.
Definition
cxvec.h:42
osmo_cxvec::max_len
int max_len
Maximum length in data field.
Definition
cxvec.h:43
osmo_cxvec::_data
float complex _data[0]
Optional inline data array.
Definition
cxvec.h:46
osmo_cxvec::flags
int flags
Flags, see CXVEC_FLG_xxx.
Definition
cxvec.h:44
osmo_cxvec::data
float complex * data
Data field.
Definition
cxvec.h:45
include
osmocom
dsp
cxvec.h
Generated by
1.17.0