My Project
Macros | Typedefs | Functions
so3_adjoint.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <complex.h>
#include <fftw3.h>
#include "ssht/ssht.h"
#include "so3_types.h"
#include "so3_error.h"
#include "so3_sampling.h"

Go to the source code of this file.

Macros

#define MIN(a, b)   ((a < b) ? (a) : (b))
 
#define MAX(a, b)   ((a > b) ? (a) : (b))
 

Typedefs

typedef void(* inverse_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int)
 
typedef void(* inverse_real_ssht) (double *, const complex double *, int, int, ssht_dl_method_t, int)
 
typedef void(* forward_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int)
 
typedef void(* forward_real_ssht) (complex double *, const double *, int, int, ssht_dl_method_t, int)
 

Functions

void so3_adjoint_inverse_direct (complex double *flmn, const complex double *f, const so3_parameters_t *parameters)
 
void so3_adjoint_forward_direct (complex double *f, const complex double *flmn, const so3_parameters_t *parameters)
 
void so3_adjoint_inverse_direct_real (complex double *flmn, const double *f, const so3_parameters_t *parameters)
 
void so3_adjoint_forward_direct_real (double *f, const complex double *flmn, const so3_parameters_t *parameters)
 

Detailed Description

Algorithms to perform adjoint Wigner transform on the rotation group SO(§).

Author
Martin Büttner
Jason McEwen

Definition in file so3_adjoint.c.

Macro Definition Documentation

◆ MAX

#define MAX (   a,
 
)    ((a > b) ? (a) : (b))

Definition at line 27 of file so3_adjoint.c.

◆ MIN

#define MIN (   a,
 
)    ((a < b) ? (a) : (b))

Definition at line 26 of file so3_adjoint.c.

Typedef Documentation

◆ forward_complex_ssht

typedef void(* forward_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int)

Definition at line 31 of file so3_adjoint.c.

◆ forward_real_ssht

typedef void(* forward_real_ssht) (complex double *, const double *, int, int, ssht_dl_method_t, int)

Definition at line 32 of file so3_adjoint.c.

◆ inverse_complex_ssht

typedef void(* inverse_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int)

Definition at line 29 of file so3_adjoint.c.

◆ inverse_real_ssht

typedef void(* inverse_real_ssht) (double *, const complex double *, int, int, ssht_dl_method_t, int)

Definition at line 30 of file so3_adjoint.c.

Function Documentation

◆ so3_adjoint_forward_direct()

void so3_adjoint_forward_direct ( complex double *  f,
const complex double *  flmn,
const so3_parameters_t *  parameters 
)

Definition at line 402 of file so3_adjoint.c.

References MAX, MIN, so3_sampling_elmn2ind(), and so3_sampling_weight().

◆ so3_adjoint_forward_direct_real()

void so3_adjoint_forward_direct_real ( double *  f,
const complex double *  flmn,
const so3_parameters_t *  parameters 
)

Definition at line 1313 of file so3_adjoint.c.

References MIN, so3_sampling_elmn2ind_real(), and so3_sampling_weight().

◆ so3_adjoint_inverse_direct()

void so3_adjoint_inverse_direct ( complex double *  flmn,
const complex double *  f,
const so3_parameters_t *  parameters 
)

Definition at line 34 of file so3_adjoint.c.

References MAX, MIN, and so3_sampling_elmn2ind().

◆ so3_adjoint_inverse_direct_real()

void so3_adjoint_inverse_direct_real ( complex double *  flmn,
const double *  f,
const so3_parameters_t *  parameters 
)

Definition at line 939 of file so3_adjoint.c.

References MIN, and so3_sampling_elmn2ind_real().