LevelS SHT library  3.50
Enumerations | Functions
Low-level libsharp SHT interface

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 }
 

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)
 

Detailed Description

Enumeration Type Documentation

◆ sharp_jobtype

Enumeration of SHARP job types.

Enumerator
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 180 of file sharp_lowlevel.h.

◆ sharp_jobflags

Job flags

Enumerator
SHARP_DP 

map and a_lm are in double precision

SHARP_ADD 

results are added to the output arrays, instead of overwriting them

Definition at line 190 of file sharp_lowlevel.h.

Function Documentation

◆ sharp_execute()

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++.

Parameters
typethe type of SHT
spinthe spin of the quantities to be transformed
almcontains 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.
mapcontains 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_infoA sharp_geom_info object compatible with the provided map arrays.
alm_infoA sharp_alm_info object compatible with the provided alm arrays. All m values from 0 to some mmax<=lmax must be present exactly once.
ntransthe number of simultaneous SHTs
flagsSee 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.
timeIf not NULL, the wall clock time required for this SHT (in seconds) will be written here.
opcntIf not NULL, a conservative estimate of the total floating point operation count for this SHT will be written here.

Definition at line 950 of file sharp.c.


Generated on Mon Dec 10 2018 10:24:20 for LevelS SHT library