s2let  2.2.0
Fast wavelets on the sphere
s2let_so3.h
Go to the documentation of this file.
1 // S2LET package
2 // Copyright (C) 2014
3 // Boris Leistedt & Jason McEwen
4 
5 #ifndef S2LET_SO3
6 #define S2LET_SO3
7 
8 #include <so3/so3.h>
9 #include <time.h>
10 
11 // Define a few macros for fixed SO3 configuration used
12 // throughout S2LET.
13 #define S2LET_SO3_N_ORDER SO3_N_ORDER_NEGATIVE_FIRST
14 #define S2LET_SO3_STORAGE SO3_STORAGE_COMPACT
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
24 static inline void fill_so3_parameters(so3_parameters_t *so3_parameters, const s2let_parameters_t *parameters)
25 {
26  so3_parameters->verbosity = parameters->verbosity;
27  so3_parameters->L = parameters->L;
28  so3_parameters->N = parameters->N;
29  so3_parameters->sampling_scheme = (so3_sampling_t) parameters->sampling_scheme;
30  so3_parameters->n_order = S2LET_SO3_N_ORDER;
31  so3_parameters->storage = S2LET_SO3_STORAGE;
32  so3_parameters->dl_method = parameters->dl_method;
33  so3_parameters->reality = parameters->reality;
34  so3_parameters->steerable = 0; // When direct routines support steerable so3 change this to 1.
35 
36  if (parameters->N % 2)
37  so3_parameters->n_mode = SO3_N_MODE_EVEN;
38  else
39  so3_parameters->n_mode = SO3_N_MODE_ODD;
40  //so3_parameters->n_mode = SO3_N_MODE_ALL; // just to test
41 }
42 
43 static inline void print_so3_parameters(so3_parameters_t *so3_parameters)
44 {
45  FILE *f;
46  f = fopen("test.txt", "a");
47 
48  fprintf(f, "hello, %f\n", (double)clock());
49  fclose(f);
50 
51  fprintf (stdout,"so3_parameters->verbosity %d\n", so3_parameters->verbosity);
52  fprintf (stdout,"so3_parameters->reality %d\n", so3_parameters->reality);
53  fprintf (stdout,"so3_parameters->L0 %d\n", so3_parameters->L0);
54  fprintf (stdout,"so3_parameters->L %d\n", so3_parameters->L);
55  fprintf (stdout,"so3_parameters->N %d\n", so3_parameters->N);
56  fprintf (stdout,"so3_parameters->sampling_scheme %d\n", (int)so3_parameters->sampling_scheme);
57  fprintf (stdout,"so3_parameters->n_order %d\n", (int)so3_parameters->n_order);
58  fprintf (stdout,"so3_parameters->storage %d\n", (int)so3_parameters->storage);
59  fprintf (stdout,"so3_parameters->n_mode %d\n", (int)so3_parameters->n_mode);
60  fprintf (stdout,"so3_parameters->dl_method %d\n", (int)so3_parameters->dl_method);
61  fprintf (stdout,"so3_parameters->steerable %d\n", so3_parameters->steerable);
62  fflush (stdout);
63 }
64 
65 #ifdef __cplusplus
66 }
67 #endif
68 #endif
s2let_parameters_t::verbosity
int verbosity
Definition: s2let_types.h:61
s2let_parameters_t::dl_method
ssht_dl_method_t dl_method
Definition: s2let_types.h:135
S2LET_SO3_N_ORDER
#define S2LET_SO3_N_ORDER
Definition: s2let_so3.h:13
s2let_parameters_t::reality
int reality
Definition: s2let_types.h:70
s2let_parameters_t::L
int L
Definition: s2let_types.h:96
S2LET_SO3_STORAGE
#define S2LET_SO3_STORAGE
Definition: s2let_so3.h:14
s2let_parameters_t::N
int N
Definition: s2let_types.h:109
s2let_parameters_t
Definition: s2let_types.h:56
s2let_parameters_t::sampling_scheme
s2let_sampling_t sampling_scheme
Definition: s2let_types.h:129