#include "flag.h"
#include <math.h>
#include <stdlib.h>
#include <complex.h>
#include <fftw3.h>
#include <ssht.h>
#include <assert.h>
Go to the source code of this file.
|
int | ssht_fr_size_mw (int L) |
|
int | ssht_flm_size (int L) |
|
int | flag_core_flmn_size (int L, int N) |
|
int | flag_core_f_size_mw (int L, int N) |
|
void | flag_core_allocate_flmn (complex double **flmn, int L, int N) |
|
void | flag_core_allocate_f (complex double **f, int L, int N) |
|
void | flag_core_allocate_f_real (double **f, int L, int N) |
|
void | flag_core_analysis (complex double *flmn, const complex double *f, int L, double tau, int N, int spin) |
|
void | flag_core_synthesis (complex double *f, const complex double *flmn, const double *nodes, int Nnodes, int L, double tau, int N, int spin) |
|
void | flag_core_analysis_real (complex double *flmn, const double *f, int L, double tau, int N) |
|
void | flag_core_synthesis_real (double *f, const complex double *flmn, const double *nodes, int Nnodes, int L, double tau, int N) |
|
double | j_ell (double X, int l) |
|
void | flag_spherbessel_basis (double *jell, const int ell, const double *nodes, int Nnodes) |
|
void | flag_core_fourierbessel_analysis (complex double *flmn, const complex double *f, int L, double tau, int N) |
|
void | flag_core_fourierbessel_synthesis (complex double *f, const complex double *flmn, const double *nodes, int Nnodes, int L, double tau, int N) |
|
void flag_core_allocate_f |
( |
complex double ** |
f, |
|
|
int |
L, |
|
|
int |
N |
|
) |
| |
Allocate sampled field (MW sampling, complex).
- Parameters
-
[out] | f | Sampled dataset (complex). |
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 51 of file flag_core.c.
void flag_core_allocate_f_real |
( |
double ** |
f, |
|
|
int |
L, |
|
|
int |
N |
|
) |
| |
Allocate sampled field (MW sampling, real).
- Parameters
-
[out] | f | Sampled dataset (real). |
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 61 of file flag_core.c.
void flag_core_allocate_flmn |
( |
complex double ** |
flmn, |
|
|
int |
L, |
|
|
int |
N |
|
) |
| |
Allocate FLAG coefficients.
- Parameters
-
[out] | flmn | Fourier-Laguerre coefficients. |
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 41 of file flag_core.c.
void flag_core_analysis |
( |
complex double * |
flmn, |
|
|
const complex double * |
f, |
|
|
int |
L, |
|
|
double |
tau, |
|
|
int |
N, |
|
|
int |
spin |
|
) |
| |
Perform Fourier-Laguerre analysis (MW sampling, complex signal).
- Parameters
-
[out] | flmn | Fourier-Laguerre coefficients. |
[in] | f | Input dataset (MW sampling, complex signal) |
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 71 of file flag_core.c.
void flag_core_analysis_real |
( |
complex double * |
flmn, |
|
|
const double * |
f, |
|
|
int |
L, |
|
|
double |
tau, |
|
|
int |
N |
|
) |
| |
Perform Fourier-Laguerre analysis (MW sampling, real signal).
- Parameters
-
[out] | flmn | Fourier-Laguerre coefficients. |
[in] | f | Input dataset (MW sampling, real signal) |
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 141 of file flag_core.c.
int flag_core_f_size_mw |
( |
int |
L, |
|
|
int |
N |
|
) |
| |
Get size of the full dataset for MW sampling.
- Parameters
-
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 34 of file flag_core.c.
int flag_core_flmn_size |
( |
int |
L, |
|
|
int |
N |
|
) |
| |
Get size of the full FLAG decomposition.
- Parameters
-
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 27 of file flag_core.c.
void flag_core_fourierbessel_analysis |
( |
complex double * |
flmn, |
|
|
const complex double * |
f, |
|
|
int |
L, |
|
|
double |
tau, |
|
|
int |
N |
|
) |
| |
void flag_core_fourierbessel_synthesis |
( |
complex double * |
f, |
|
|
const complex double * |
flmn, |
|
|
const double * |
nodes, |
|
|
int |
Nnodes, |
|
|
int |
L, |
|
|
double |
tau, |
|
|
int |
N |
|
) |
| |
void flag_core_synthesis |
( |
complex double * |
f, |
|
|
const complex double * |
flmn, |
|
|
const double * |
nodes, |
|
|
int |
Nnodes, |
|
|
int |
L, |
|
|
double |
tau, |
|
|
int |
N, |
|
|
int |
spin |
|
) |
| |
Perform Fourier-Laguerre synthesis (MW sampling, complex signal).
- Parameters
-
[out] | f | Input dataset (MW sampling, complex signal) |
[in] | flmn | Fourier-Laguerre coefficients. |
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 110 of file flag_core.c.
void flag_core_synthesis_real |
( |
double * |
f, |
|
|
const complex double * |
flmn, |
|
|
const double * |
nodes, |
|
|
int |
Nnodes, |
|
|
int |
L, |
|
|
double |
tau, |
|
|
int |
N |
|
) |
| |
Perform Fourier-Laguerre synthesis (MW sampling, real signal).
- Parameters
-
[out] | f | Input dataset (MW sampling, real signal) |
[in] | flmn | Fourier-Laguerre coefficients. |
[in] | L | Angular harmonic band-limit. |
[in] | N | Radial harmonic band-limit. |
- Return values
-
Definition at line 176 of file flag_core.c.
void flag_spherbessel_basis |
( |
double * |
jell, |
|
|
const int |
ell, |
|
|
const double * |
nodes, |
|
|
int |
Nnodes |
|
) |
| |
Compute the spherical-Bessel basis functions on a grid of radii
- Parameters
-
[out] | jell | Synthesised basis function. |
[in] | ell | order-multipole of the basis function. |
[in] | nodes | Radii where the function must be calculated. |
[in] | Nnodes | Number of radii. |
- Return values
-
Definition at line 343 of file flag_core.c.
double j_ell |
( |
double |
X, |
|
|
int |
l |
|
) |
| |
Compute the spherical-Bessel function of order l at X
Definition at line 206 of file flag_core.c.
int ssht_flm_size |
( |
int |
L | ) |
|
int ssht_fr_size_mw |
( |
int |
L | ) |
|