so3
1.3.0
Fast and exact Wigner transforms
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <complex.h>
#include "so3_types.h"
#include "so3_error.h"
#include "so3_sampling.h"
Macros | |
#define | MAX(a, b) ((a > b) ? (a) : (b)) |
Functions | |
double | ran2_dp (int idum) |
void | so3_test_gen_flmn_complex (complex double *flmn, const so3_parameters_t *parameters, int seed) |
void | so3_test_gen_flmn_real (complex double *flmn, const so3_parameters_t *parameters, int seed) |
#define MAX | ( | a, | |
b | |||
) | ((a > b) ? (a) : (b)) |
double ran2_dp | ( | int | idum | ) |
Generate uniform deviate in range [0,1) given seed. (Using double precision.)
[in] | idum | Seed. |
ran_dp | Generated uniform deviate. |
void so3_test_gen_flmn_complex | ( | complex double * | flmn, |
const so3_parameters_t * | parameters, | ||
int | seed | ||
) |
Generate random Wigner coefficients of a complex signal.
[out] | flmn | Random spherical harmonic coefficients generated. Provide enough memory for fully padded storage, i.e. (2*N-1)*L*L elements. Unused trailing elements will be set to zero. |
[in] | parameters | A parameters object with (at least) the following fields: L0, L, N, storage, n_mode The reality flag is ignored. Use so3_test_gen_flmn_real instead for real signals. |
[in] | seed | Integer seed required for random number generator. |
none |
void so3_test_gen_flmn_real | ( | complex double * | flmn, |
const so3_parameters_t * | parameters, | ||
int | seed | ||
) |
Generate random Wigner coefficients of a real signal. We only generate coefficients for n >= 0, and for n = 0, we need flm0* = (-1)^(m)*fl-m0, so that fl00 has to be real.
[out] | flmn | Random spherical harmonic coefficients generated. Provide enough memory for fully padded, complex (!) storage, i.e. (2*N-1)*L*L elements. Unused trailing elements will be set to zero. |
[in] | parameters | A parameters object with (at least) the following fields: L0, L, N, storage, n_mode The reality flag is ignored. Use so3_test_gen_flmn_complex instead for complex signals. |
[in] | seed | Integer seed required for random number generator. |
none |