Enumerations | |
enum | sharp_jobtype { SHARP_YtW = 0, SHARP_MAP2ALM = SHARP_YtW, SHARP_Y = 1, SHARP_ALM2MAP = SHARP_Y, SHARP_Yt = 2, SHARP_WY = 3, SHARP_ALM2MAP_DERIV1 = 4 } |
enum | sharp_jobflags { SHARP_DP = 1<<4, SHARP_ADD = 1<<5, SHARP_REAL_HARMONICS = 1<<6 } |
Functions | |
void | sharp_execute (sharp_jobtype type, int spin, void *alm, void *map, const sharp_geom_info *geom_info, const sharp_alm_info *alm_info, int ntrans, int flags, double *time, unsigned long long *opcnt) |
enum sharp_jobtype |
Enumeration of SHARP job types.
SHARP_YtW | analysis |
SHARP_MAP2ALM | analysis |
SHARP_Y | synthesis |
SHARP_ALM2MAP | synthesis |
SHARP_Yt | adjoint synthesis |
SHARP_WY | adjoint analysis |
SHARP_ALM2MAP_DERIV1 | synthesis of first derivatives |
Definition at line 160 of file sharp_lowlevel.h.
enum sharp_jobflags |
Job flags
Definition at line 170 of file sharp_lowlevel.h.
void sharp_execute | ( | sharp_jobtype | type, | |
int | spin, | |||
void * | alm, | |||
void * | map, | |||
const sharp_geom_info * | geom_info, | |||
const sharp_alm_info * | alm_info, | |||
int | ntrans, | |||
int | flags, | |||
double * | time, | |||
unsigned long long * | opcnt | |||
) |
Performs a libsharp SHT job. The interface deliberately does not use the C99 "complex" data type, in order to be callable from C89 and C++.
type | the type of SHT | |
spin | the spin of the quantities to be transformed | |
alm | contains pointers to the a_lm coefficients. If spin==0, alm[0] points to the a_lm of the first SHT, alm[1] to those of the second etc. If spin>0, alm[0] and alm[1] point to the a_lm of the first SHT, alm[2] and alm[3] to those of the second, etc. The exact data type of alm depends on whether the SHARP_DP flag is set. | |
map | contains pointers to the maps. If spin==0, map[0] points to the map of the first SHT, map[1] to that of the second etc. If spin>0, or type is SHARP_ALM2MAP_DERIV1, map[0] and map[1] point to the maps of the first SHT, map[2] and map[3] to those of the second, etc. The exact data type of map depends on whether the SHARP_DP flag is set. | |
geom_info | A sharp_geom_info object compatible with the provided map arrays. | |
alm_info | A sharp_alm_info object compatible with the provided alm arrays. All m values from 0 to some mmax<=lmax must be present exactly once. | |
ntrans | the number of simultaneous SHTs | |
flags | See sharp_jobflags. In particular, if SHARP_DP is set, then alm is expected to have the type "complex double **" and map is expected to have the type "double **"; otherwise, the expected types are "complex float **" and "float **", respectively. | |
time | If not NULL, the wall clock time required for this SHT (in seconds) will be written here. | |
opcnt | If not NULL, a conservative estimate of the total floating point operation count for this SHT will be written here. |