SAF
Loading...
Searching...
No Matches
saf_cdf4sap.h
Go to the documentation of this file.
1/*
2 * Copyright 2018-2019 Leo McCormack
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10 * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14 * PERFORMANCE OF THIS SOFTWARE.
15 */
16
41#ifndef __SAF_CDF4SAP_H_INCLUDED__
42#define __SAF_CDF4SAP_H_INCLUDED__
43
45
46#ifdef __cplusplus
47extern "C" {
48#endif /* __cplusplus */
49
50/* ========================================================================== */
51/* Main Functions */
52/* ========================================================================== */
53
64void cdf4sap_create(/* Input Arguments */
65 void ** const phCdf,
66 int nXcols,
67 int nYcols);
68
79void cdf4sap_cmplx_create(/* Input Arguments */
80 void ** const phCdf,
81 int nXcols,
82 int nYcols);
83
92void cdf4sap_destroy(/* Input Arguments */
93 void ** const phCdf);
94
103void cdf4sap_cmplx_destroy(/* Input Arguments */
104 void ** const phCdf);
105
151void formulate_M_and_Cr(/* Input Arguments */
152 void * const hCdf,
153 float* Cx,
154 float* Cy,
155 float* Q,
156 int useEnergyFLAG,
157 float reg,
158 /* Output Arguments */
159 float* M,
160 float* Cr);
161
208void formulate_M_and_Cr_cmplx(/* Input Arguments */
209 void * const hCdf,
210 float_complex* Cx,
211 float_complex* Cy,
212 float_complex* Q,
213 int useEnergyFLAG,
214 float reg,
215 /* Output Arguments */
216 float_complex* M,
217 float_complex* Cr);
218
219
220#ifdef __cplusplus
221} /* extern "C" */
222#endif /* __cplusplus */
223
224#endif /* __SAF_CDF4SAP_H_INCLUDED__ */
225
226 /* doxygen addtogroup CDF4SAP */
void formulate_M_and_Cr_cmplx(void *const hCdf, float_complex *Cx, float_complex *Cy, float_complex *Q, int useEnergyFLAG, float reg, float_complex *M, float_complex *Cr)
Computes the optimal mixing matrices.
void cdf4sap_create(void **const phCdf, int nXcols, int nYcols)
Creates an instance of the Covariance Domain Framework.
Definition saf_cdf4sap.c:85
void cdf4sap_cmplx_destroy(void **const phCdf)
Destroys an instance of the Covariance Domain Framework.
void cdf4sap_destroy(void **const phCdf)
Destroys an instance of the Covariance Domain Framework.
void cdf4sap_cmplx_create(void **const phCdf, int nXcols, int nYcols)
Creates an instance of the Covariance Domain Framework.
void formulate_M_and_Cr(void *const hCdf, float *Cx, float *Cy, float *Q, int useEnergyFLAG, float reg, float *M, float *Cr)
Computes the optimal mixing matrices.
Contains wrappers for handling complex numbers across both C99-compliant compilers and Microsoft Visu...