src/c/so3_types.h File Reference

# so3_types.h File Reference

`#include "ssht.h"`

Go to the source code of this file.

## Data Structures
struct | so3_parameters_t
## Defines
#define | SO3_PI 3.141592653589793238462643383279502884197
#define | SO3_PION2 1.570796326794896619231321691639751442099
#define | SO3_SQRT2 1.41421356237309504880168872420969807856967
#define | SO3_PROMPT "[so3] "
## Enumerations
enum | so3_n_order_t { SO3_N_ORDER_ZERO_FIRST, SO3_N_ORDER_NEGATIVE_FIRST, SO3_N_ORDER_SIZE }
enum | so3_storage_t { SO3_STORAGE_PADDED, SO3_STORAGE_COMPACT, SO3_STORAGE_SIZE }
enum | so3_n_mode_t { SO3_N_MODE_ALL, SO3_N_MODE_EVEN, SO3_N_MODE_ODD, SO3_N_MODE_MAXIMUM, SO3_N_MODE_L, SO3_N_MODE_SIZE }
enum | so3_sampling_t { SO3_SAMPLING_MW, SO3_SAMPLING_MW_SS, SO3_SAMPLING_SIZE }

## Detailed Description

Types used in SO3 package.

Author:
  Martin Büttner
  Jason McEwen

Definition in file so3_types.h.

## Define Documentation

#define SO3_PI 3.141592653589793238462643383279502884197

Definition at line 31 of file so3_types.h.

Referenced by so3_core_forward_via_ssht(), so3_core_forward_via_ssht_real(), so3_core_inverse_direct(), so3_core_inverse_direct_real(), so3_core_inverse_via_ssht(), so3_core_inverse_via_ssht_real(), so3_sampling_a2alpha(), so3_sampling_b2beta(), and so3_sampling_g2gamma().

#define SO3_PION2 1.570796326794896619231321691639751442099

Definition at line 32 of file so3_types.h.

Referenced by so3_core_forward_direct(), so3_core_forward_direct_real(), so3_core_inverse_direct(), and so3_core_inverse_direct_real().

#define SO3_PROMPT "[so3] "

Definition at line 36 of file so3_types.h.

Referenced by so3_core_forward_direct(), so3_core_forward_direct_real(), so3_core_forward_via_ssht(), so3_core_forward_via_ssht_real(), so3_core_inverse_direct(), so3_core_inverse_direct_real(), so3_core_inverse_via_ssht(), and so3_core_inverse_via_ssht_real().

#define SO3_SQRT2 1.41421356237309504880168872420969807856967

Definition at line 34 of file so3_types.h.

## Enumeration Type Documentation

enum so3_n_mode_t

Enumerator:

  SO3_N_MODE_ALL | flmn are potentially non-zero for all values of n
  SO3_N_MODE_EVEN | flmn are only non-zero for even n
  SO3_N_MODE_ODD | flmn are only non-zero for odd n
  SO3_N_MODE_MAXIMUM | flmn are only non-zero for |n| = N-1
  SO3_N_MODE_L | flmn are only non-zero for |n| = el
  SO3_N_MODE_SIZE | "guard" value that equals the number of usable enum values. useful in loops, for instance.

Definition at line 62 of file so3_types.h.

enum so3_n_order_t

Enumerator:

  SO3_N_ORDER_ZERO_FIRST | order of flm-blocks in terms of n in storage is 0, -1, 1, -2, 2, ...
  SO3_N_ORDER_NEGATIVE_FIRST | order of flm-blocks in terms of n in storage is ... -2, -1, 0, 1, 2, ...
  SO3_N_ORDER_SIZE | "guard" value that equals the number of usable enum values. useful in loops, for instance.

Definition at line 38 of file so3_types.h.

enum so3_sampling_t

Enumerator:

  SO3_SAMPLING_MW | McEwen and Wiaux sampling: 2*L-1 samples in alpha, in [0, 2pi). L samples in beta, in (0, pi]. 2*N-1 samples in gamma, in [0, 2pi).
  SO3_SAMPLING_MW_SS | McEwen and Wiaux symmetric sampling: 2*L samples in alpha, in [0, 2pi). L+1 samples in beta, in [0, pi]. 2*N-1 samples in gamma, in [0, 2pi).
  SO3_SAMPLING_SIZE | "guard" value that equals the number of usable enum values. useful in loops, for instance.

Definition at line 80 of file so3_types.h.

enum so3_storage_t

Enumerator:

  SO3_STORAGE_PADDED | left-pad each flm-array with 0s to L^2 values
  SO3_STORAGE_COMPACT | do not store lm for l < |n|
  SO3_STORAGE_SIZE | "guard" value that equals the number of usable enum values. useful in loops, for instance.

Definition at line 50 of file so3_types.h.