Ssht  1.3.3
Fast and exact spin spherical harmonic transforms
ssht_dl.h
Go to the documentation of this file.
1 // SSHT package to perform spin spherical harmonic transforms
2 // Copyright (C) 2011 Jason McEwen
3 // See LICENSE.txt for license details
4 
5 
6 #ifndef SSHT_DL
7 #define SSHT_DL
8 
9 
10 #ifdef __cplusplus
11 extern "C"{
12 #endif
13 
15 typedef enum {SSHT_DL_QUARTER = 0,
19 
21 typedef enum {SSHT_DL_RISBO = 0,
23 
24 
25 double* ssht_dl_calloc(int L, ssht_dl_size_t dl_size);
26 int ssht_dl_get_offset(int L, ssht_dl_size_t dl_size);
27 int ssht_dl_get_stride(int L, ssht_dl_size_t dl_size);
28 
29 void ssht_dl_beta_risbo_full_table(double *dl, double beta, int L,
30  ssht_dl_size_t dl_size,
31  int el, double *sqrt_tbl);
32 void ssht_dl_beta_risbo_half_table(double *dl, double beta, int L,
33  ssht_dl_size_t dl_size,
34  int el, double *sqrt_tbl,
35  double *signs);
36 void ssht_dl_beta_risbo_eighth_table(double *dl, double beta, int L,
37  ssht_dl_size_t dl_size,
38  int el, double *sqrt_tbl,
39  double *signs);
41  double *dl8,
42  int L,
43  ssht_dl_size_t dl_size,
44  ssht_dl_size_t dl8_size,
45  int el,
46  double *signs);
47 
48 void ssht_dl_beta_kostelec_full_table(double *dlm1p1, double *dl,
49  double beta, int L,
50  ssht_dl_size_t dl_size,
51  int el,
52  double *sqrt_tbl, double *signs);
53 void ssht_dl_beta_kostelec_line_table(double *dlm1p1_line, double *dl_line,
54  double beta, int L, int mm, int el,
55  double *sqrt_tbl, double *signs);
56 void ssht_dl_beta_kostelec_halfline_table(double *dlm1p1_line, double *dl_line,
57  double beta, int L, int mm, int el,
58  double *sqrt_tbl, double *signs);
59 
60 void ssht_dl_halfpi_trapani_eighth_table(double *dl, int L,
61  ssht_dl_size_t dl_size,
62  int el, double *sqrt_tbl);
63 void ssht_dl_halfpi_trapani_quarter_table(double *dl, int L,
64  ssht_dl_size_t dl_size,
65  int el, double *sqrt_tbl);
67  ssht_dl_size_t dl_size,
68  int el, double *signs);
70  ssht_dl_size_t dl_size,
71  int el, double *signs);
72 
73 #ifdef __cplusplus
74 }
75 #endif
76 
77 #endif
ssht_dl_beta_kostelec_halfline_table
void ssht_dl_beta_kostelec_halfline_table(double *dlm1p1_line, double *dl_line, double beta, int L, int mm, int el, double *sqrt_tbl, double *signs)
Definition: ssht_dl.c:943
ssht_dl_beta_kostelec_full_table
void ssht_dl_beta_kostelec_full_table(double *dlm1p1, double *dl, double beta, int L, ssht_dl_size_t dl_size, int el, double *sqrt_tbl, double *signs)
Definition: ssht_dl.c:662
SSHT_DL_QUARTER_EXTENDED
@ SSHT_DL_QUARTER_EXTENDED
Definition: ssht_dl.h:16
SSHT_DL_TRAPANI
@ SSHT_DL_TRAPANI
Definition: ssht_dl.h:22
ssht_dl_beta_risbo_eighth_table
void ssht_dl_beta_risbo_eighth_table(double *dl, double beta, int L, ssht_dl_size_t dl_size, int el, double *sqrt_tbl, double *signs)
Definition: ssht_dl.c:449
ssht_dl_beta_risbo_full_table
void ssht_dl_beta_risbo_full_table(double *dl, double beta, int L, ssht_dl_size_t dl_size, int el, double *sqrt_tbl)
Definition: ssht_dl.c:190
SSHT_DL_FULL
@ SSHT_DL_FULL
Definition: ssht_dl.h:18
ssht_dl_beta_risbo_fill_eighth2quarter_table
void ssht_dl_beta_risbo_fill_eighth2quarter_table(double *dl, double *dl8, int L, ssht_dl_size_t dl_size, ssht_dl_size_t dl8_size, int el, double *signs)
Definition: ssht_dl.c:599
ssht_dl_beta_kostelec_line_table
void ssht_dl_beta_kostelec_line_table(double *dlm1p1_line, double *dl_line, double beta, int L, int mm, int el, double *sqrt_tbl, double *signs)
Definition: ssht_dl.c:795
ssht_dl_beta_risbo_half_table
void ssht_dl_beta_risbo_half_table(double *dl, double beta, int L, ssht_dl_size_t dl_size, int el, double *sqrt_tbl, double *signs)
Definition: ssht_dl.c:313
ssht_dl_size_t
ssht_dl_size_t
Definition: ssht_dl.h:15
ssht_dl_get_offset
int ssht_dl_get_offset(int L, ssht_dl_size_t dl_size)
Definition: ssht_dl.c:111
ssht_dl_halfpi_trapani_quarter_table
void ssht_dl_halfpi_trapani_quarter_table(double *dl, int L, ssht_dl_size_t dl_size, int el, double *sqrt_tbl)
Definition: ssht_dl.c:1195
ssht_dl_halfpi_trapani_fill_eighth2righthalf_table
void ssht_dl_halfpi_trapani_fill_eighth2righthalf_table(double *dl, int L, ssht_dl_size_t dl_size, int el, double *signs)
Definition: ssht_dl.c:1307
SSHT_DL_HALF
@ SSHT_DL_HALF
Definition: ssht_dl.h:17
ssht_dl_halfpi_trapani_eighth_table
void ssht_dl_halfpi_trapani_eighth_table(double *dl, int L, ssht_dl_size_t dl_size, int el, double *sqrt_tbl)
Definition: ssht_dl.c:1077
ssht_dl_get_stride
int ssht_dl_get_stride(int L, ssht_dl_size_t dl_size)
Definition: ssht_dl.c:146
SSHT_DL_RISBO
@ SSHT_DL_RISBO
Definition: ssht_dl.h:21
ssht_dl_halfpi_trapani_fill_eighth2quarter_table
void ssht_dl_halfpi_trapani_fill_eighth2quarter_table(double *dl, int L, ssht_dl_size_t dl_size, int el, double *signs)
Definition: ssht_dl.c:1352
ssht_dl_calloc
double * ssht_dl_calloc(int L, ssht_dl_size_t dl_size)
Definition: ssht_dl.c:64
ssht_dl_method_t
ssht_dl_method_t
Definition: ssht_dl.h:21
SSHT_DL_QUARTER
@ SSHT_DL_QUARTER
Definition: ssht_dl.h:15