src/c/so3_types.h Source File

# so3_types.h

Go to the documentation of this file.

    00001 // S03 package to perform Wigner transform on the rotation group SO(3)
    00002 // Copyright (C) 2013 Martin Büttner and Jason McEwen
    00003 // See LICENSE.txt for license details
    00004
    00026 #ifndef SO3_TYPES
    00027 #define SO3_TYPES
    00028
    00029 #include "ssht.h"
    00030
    00031 #define SO3_PI    3.141592653589793238462643383279502884197
    00032 #define SO3_PION2 1.570796326794896619231321691639751442099
    00033
    00034 #define SO3_SQRT2 1.41421356237309504880168872420969807856967
    00035
    00036 #define SO3_PROMPT "[so3] "
    00037
    00038 typedef enum {
    00040     SO3_N_ORDER_ZERO_FIRST,
    00042     SO3_N_ORDER_NEGATIVE_FIRST,
    00047     SO3_N_ORDER_SIZE
    00048 } so3_n_order_t;
    00049
    00050 typedef enum {
    00052     SO3_STORAGE_PADDED,
    00054     SO3_STORAGE_COMPACT,
    00059     SO3_STORAGE_SIZE
    00060 } so3_storage_t;
    00061
    00062 typedef enum {
    00064     SO3_N_MODE_ALL,
    00066     SO3_N_MODE_EVEN,
    00068     SO3_N_MODE_ODD,
    00070     SO3_N_MODE_MAXIMUM,
    00072     SO3_N_MODE_L,
    00077     SO3_N_MODE_SIZE
    00078 } so3_n_mode_t;
    00079
    00080 typedef enum {
    00087     SO3_SAMPLING_MW,
    00094     SO3_SAMPLING_MW_SS,
    00099     SO3_SAMPLING_SIZE
    00100 } so3_sampling_t;
    00101
    00118 typedef struct {
    00123     int verbosity;
    00124
    00131     int reality;
    00132
    00137     int L0;
    00138
    00144     int L;
    00145
    00151     int N;
    00152
    00157     so3_sampling_t sampling_scheme;
    00158
    00164     so3_n_order_t n_order;
    00165
    00170     so3_storage_t storage;
    00171
    00177     so3_n_mode_t n_mode;
    00178
    00183     ssht_dl_method_t dl_method;
    00184
    00188     int steerable;
    00189 } so3_parameters_t;
    00190
    00191 #endif