38#ifndef __SAF_SH_INTERNAL_H_INCLUDED__
39#define __SAF_SH_INTERNAL_H_INCLUDED__
50typedef struct _sphPWD_data {
51 int order, nSH, nDirs;
52 float_complex* grid_svecs;
63typedef struct _sphMUSIC_data {
64 int order, nSH, nDirs;
65 float_complex* grid_svecs;
78typedef struct _sphESPRIT_data {
83 double_complex* WVnimu[6];
84 int* idx_from_Ynm2Ynimu[12];
88 void* hZpinv, *hZeigmp, *hZglslv;
89 double_complex* Us_1m1, *Us_m1m1, *Us_11, *Us_m11, *Us_m10, *Us_10, *Us_00;
90 double_complex* WVnimu0_Us1m1, *WVnimu1_Usm1m1, *WVnimu2_Us11;
91 double_complex* WVnimu3_Usm11, *WVnimu4_Usm10, *WVnimu5_Us10;
92 double_complex* LambdaXYp, *LambdaXYm, *LambdaZ;
93 double_complex* pinvUs, *PsiXYp, *PsiXYm, *PsiZ;
94 double_complex* tmp_KK, *V, *PhiXYp, *PhiXYm, *PhiZ;
152float getP(
int M,
int i,
int l,
int a,
int b,
float R_1[3][3],
float* R_lm1);
155float getU(
int M,
int l,
int m,
int n,
float R_1[3][3],
float* R_lm1);
158float getV(
int M,
int l,
int m,
int n,
float R_1[3][3],
float* R_lm1);
161float getW(
int M,
int l,
int m,
int n,
float R_1[3][3],
float* R_lm1);
164float getW(
int M,
int l,
int m,
int n,
float R_1[3][3],
float* R_lm1);
172void getWnimu(
int order,
int mm,
int ni,
int mu,
double* Wnimu);
175void getVnimu(
int order,
int ni,
int mu,
double* Vnimu);
178void muni2q(
int order,
int ni,
int mu,
int* idx_nimu,
int* idx_nm);
Include header for SAF externals.
Main header for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE...
void getVnimu(int order, int ni, int mu, double *Vnimu)
Helper function for sphESPRIT_create()
float getV(int M, int l, int m, int n, float R_1[3][3], float *R_lm1)
Helper function for getSHrotMtxReal()
void gaunt_mtx(int N1, int N2, int N, float *A)
Constructs a matrix of Guant coefficients.
float getU(int M, int l, int m, int n, float R_1[3][3], float *R_lm1)
Helper function for getSHrotMtxReal()
float getP(int M, int i, int l, int a, int b, float R_1[3][3], float *R_lm1)
Helper function for getSHrotMtxReal()
float getW(int M, int l, int m, int n, float R_1[3][3], float *R_lm1)
Helper function for getSHrotMtxReal()
void getWnimu(int order, int mm, int ni, int mu, double *Wnimu)
Helper function for sphESPRIT_create()
void muni2q(int order, int ni, int mu, int *idx_nimu, int *idx_nm)
Helper function for sphESPRIT_create()
float wigner_3j(int j1, int j2, int j3, int m1, int m2, int m3)
Computes the Wigner 3j symbol through the Racah formula found in http://mathworld....
Main header for the utilities module (SAF_UTILITIES_MODULE)
Internal data structure for sphESPRIT.
Internal data structure for sphMUSIC.
Internal data structure for sphPWD.